如何使用 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 图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注