Q-Q图主要可以用来回答这些问题:
- 两组数据是否来自同一分布
PS:当然也可以用KS检验,利用python中scipy.stats.ks_2samp函数可以获得差值KS statistic和P值从而实现判断。 - 两组数据的尺度范围是否一致
- 两组数据是否有类似的分布形状
前面两个问题可以用样本数据集在Q-Q图上的点与参考线的距离判断;而后者则是用点的拟合线的斜率判断。
用Q-Q图来分析分布的好处都有啥?(谁说对了就给他)
- 两组数据集的大小可以不同
- 可以回答上面的后两个问题,这是更深入的数据分布层面的信息。
那么,Q-Q图要怎么画呢?
将其中一组数据作为参考,另一组数据作为样本。样本数据每个值在样本数据集中的百分位数(percentile)作为其在Q-Q图上的横坐标值,而该值放到参考数据集中时的百分位数作为其在Q-Q图上的纵坐标。一般我们会在Q-Q图上做一条45度的参考线。如果两组数据来自同一分布,那么样本数据集的点应该都落在参考线附近;反之如果距离越远,这说明这两组数据很可能来自不同的分布。
python中利用scipy.stats.percentileof