如何使用 qq 图检查正态性
QQ 图是“分位数-分位数”的缩写,用于评估数据集是否可能来自理论分布。
在大多数情况下,这种类型的图用于确定数据集是否遵循正态分布。
如果数据呈正态分布,QQ 图上的点将位于一条直线对角线上。
相反,图表上的点偏离直线对角线越明显,数据集遵循正态分布的可能性就越小。
以下示例展示了如何在 R 中创建 QQ 图来检查正态性。
示例 1:正态数据的 QQ 图
以下代码展示了如何生成具有 200 个观测值的正态分布数据集,并在 R 中为该数据集创建 QQ 图:
#make this example reproducible set. seeds (1) #create some fake data that follows a normal distribution data <- rnorm(200) #create QQ plot qqnorm(data) qqline(data)
我们可以看到这些点主要沿着直线对角线分布,沿着每条尾部有一些微小的偏差。
根据该图,我们可以安全地假设该数据集呈正态分布。
示例 2:非正态数据的 QQ 图
以下代码显示如何为具有 200 个观测值的服从指数分布的数据集创建 QQ 图:
#make this example reproducible set. seeds (1) #create some fake data that follows an exponential distribution data <- rexp(200, rate=3) #create QQ plot qqnorm(data) qqline(data)
我们看到这些点明显偏离对角线。这清楚地表明数据集不是正态分布的。
鉴于我们指定数据应遵循指数分布,这应该是有意义的。
QQ 图和直方图
应该注意的是,QQ 图是一种直观检查数据集是否服从正态分布的方法。
直观检查正态性的另一种方法是创建数据集的直方图。如果数据在直方图中大致遵循钟形曲线形状,那么我们可以假设数据集呈正态分布。
例如,以下是如何为先前正态分布的数据集创建直方图:
#make this example reproducible set. seeds (1) #create some fake data that follows a normal distribution data <- rnorm(200) #create a histogram to visualize the distribution hist(data)
以下是如何为遵循指数先验分布的数据集创建直方图:
#make this example reproducible set. seeds (1) #create some fake data that follows an exponential distribution data <- rexp(200, rate=3) #create a histogram to visualize the distribution hist(data)
我们看到直方图看起来根本不像钟形曲线,这清楚地表明数据不服从正态分布。
其他资源
统计学中的正态性假设是什么?
如何在 R 中创建 QQ 图
如何在 Excel 中创建 QQ 图
如何用 Python 创建 QQ 图