当前位置 : 主页 > 编程语言 > java >

一文搞懂Q-Q plot图的含义

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ Q-Q plot是关联分析结果可视化的一种经典方案,这里的Q代表quantile, 分位数的意思,关联分析的Q-Q plot示意如下 x轴代表期望p值,y轴代表实际p值。在解释这张图的含义之前,有必要先

Q-Q plot是关联分析结果可视化的一种经典方案,这里的Q代表quantile, 分位数的意思,关联分析的Q-Q plot示意如下

一文搞懂Q-Q plot图的含义_数据集

x轴代表期望p值,y轴代表实际p值。在解释这张图的含义之前,有必要先来了解下什么是分位数。

分位数,也称之为分位点,最常见的有中位数,四分位数等。以中位数为例,将数据集从小到大排列后,50%区域对应的点就是中位数。同理,四分位数分别对应25%, 50%, 75%, 依次称之为第一四分位数,第二四分位数,第三四分位数,其中第二四分位数就是中位数了,3个四分位数将数据划分为了4个区间,这也是其名字中四的由来。

四分位数只是分位数中的3个点,起始分位数可以是任何一个比例,比如10%的分位数,20%的分位数。给定一个数据集,在R中计算分位数的代码如下

一文搞懂Q-Q plot图的含义_均匀分布_02

分位数可以很好的展示数据从最小值到最大值的跨度变化,在分位数点取值足够多的情况下, 可以用来代表整体数据。

Q-Q plot就是基于这样的原理,分别计算两个数据的分位数,然后绘制散点图。可以想象,如果两个总体完全一致,其Q-Q plot是一条y=x的直线,代码如下

一文搞懂Q-Q plot图的含义_数据集_03

结果如下图所示

一文搞懂Q-Q plot图的含义_数据_04

在此基础上进一步推论,如果两个数据符合同一分布,则其分位数应该符合线性关系,验证如下

一文搞懂Q-Q plot图的含义_数据_05

输出结果如下

一文搞懂Q-Q plot图的含义_数据_06

上述代码中x和y由两个范围不同的均匀分布抽样产生,可以看到其Q-Q plot近似一条直线。通过这个例子可以看到,Q-Q plot的核心作用就是比较两个数据的分布是否一致。上述代码只是用于展示Q-Q plot的原理,分位数的求解过程本质是将数据从小到大排序之后计算百分比,在实际绘制Q-Q plot图示,直接将两个数据从小到大排序之后绘图就可以了,代码如下

一文搞懂Q-Q plot图的含义_均匀分布_07

输出结果如下

一文搞懂Q-Q plot图的含义_数据_08

可以看到,趋势和用分位数来画是一样的。Q-Q plot适用范围广泛,可以比较任意两个数据集的分布。常见的用法有两种,第一种直接拿两个真实的数据集进行比较,查看分布是否一致,  第二种那一个真实数据,和一个基于理论分布计算的数据来比较,查看是否符合理论分布。

关联分析的Q-Q plot就是第二种用法,, 理论分布是均匀分布,拿实际关联分析的p值来和理论分布进行比较。为什么理论分布是均匀分布呢?

要判断一个数据的理论分布,最直观的方式是绘制实际数据的密度分布图,GWAS中p值分布的密度直方图如下

一文搞懂Q-Q plot图的含义_数据_09

一文搞懂Q-Q plot图的含义_数据_10

在上图中,每个bin内的密度基本是一样的,是典型的均匀分布的特征。将实际数据的密度分布图和各种理论分布的密度分布图进行比较,可以快速确定候选的理论分布。从峰型的比较来看,也只有均匀分分布和该数据的分布接近。用qqman中的数据集展示Q-Q plot绘制的方法,代码如下

一文搞懂Q-Q plot图的含义_数据_11

输出结果如下

一文搞懂Q-Q plot图的含义_数据集_12

Q-Q pot绘制非常简单,三句代码就可以搞定。绘图时对p值做了-log10转换,所以图中越靠右的点代表的是p值显著的snp位点。可以看到左侧的点基本服从均匀分布,而显著的snp位点位于标准直线的上方,说明p值显著的点导致了实际的分位数小于了理论的分位数,示意图如下

一文搞懂Q-Q plot图的含义_数据_13

说明在较小的p值范围内,实际数据的分布更加紧密,当检测到关联信号时,关联位点的p值肯定较为紧密和偏小,数据产生上图的分布是正常现象。如果完全服从均匀分布,即基本和直线重合,说明p值的产生就是一个随机性的过程,gwas分析的可信度较低。

·end·

一文搞懂Q-Q plot图的含义_数据集_14

上一篇:没想到你是这个样子的置信区间
下一篇:没有了
网友评论