Shapiro-Wilk检验:一种常用的正态性检验方法
Shapiro-Wilk检验:一种常用的正态性检验方法
正态性检验是统计分析中的重要环节,特别是在医药数据科学领域。本文将详细介绍Shapiro-Wilk检验这一常用的正态性检验方法,包括其原理、应用场景以及如何在R语言中实现。
一、Shapiro-Wilk检验简介
Shapiro-Wilk检验是一种用于检验数据是否符合正态分布的统计方法,特别适用于小样本数据(通常样本量在8到50之间)。该检验的原假设是数据来自正态分布。
二、单样本Shapiro-Wilk检验
以下代码演示了如何使用Shapiro-Wilk检验来检验新生儿出生体重数据的正态性:
shapiro.test(birthwt$bwt)
结果为:
Shapiro-Wilk normality test
data: birthwt$bwt
W = 0.99244, p-value = 0.4353
结果中,“W = 0.99244”是检验统计量,接近1表示数据接近正态分布;而“p-value = 0.4353”是p值,表示检验结果的显著性水平。因为p值大于0.05,我们不能拒绝原假设,即数据“birthwt$bwt”没有显著偏离正态分布,因此可以认为它符合正态分布。
三、分组Shapiro-Wilk检验
为了更深入地分析不同种族母亲的新生儿出生体重数据的正态性,可以使用tapply()
函数结合Shapiro-Wilk检验,对数据按种族(race
)分组进行检验:
birthwt$fa.race <- factor(c("white","black","other")[birthwt$race])
shap <- function(x){shapiro.test(x)$p.value}
tapply(birthwt$bwt,birthwt$fa.race,FUN=shap)
结果为:
black other white
0.8037944 0.2046266 0.4860574
上面结果表示不同种族母亲的新生儿出生体重数据的正态性检验结果。对于黑人母亲的数据,Shapiro-Wilk检验的p值为0.8038;对于其他种族母亲的数据,p值为0.2046;对于白人母亲的数据,p值为0.4861。所有的p值均大于0.05,表明这些数据都符合正态分布。即不同种族的新生儿出生体重数据都没有显著偏离正态分布,因此可以认为这些数据在统计分析中满足正态性假设。
四、图示法
图示法是一种直观的正态性检验方法,通常通过Q-Q图来实现。Q-Q图(Quantile-Quantile plot)将样本的分位数与标准正态分布的理论分位数进行对比。如果数据点接近于对角线,则表明样本数据符合正态分布。
绘制Q-Q图:
在R中,可以使用qqnorm()
函数绘制Q-Q图,结合qqline()
函数添加对角线。以下代码绘制了新生儿出生体重数据的Q-Q图。结果显示数据点大致分布在对角线附近,表明数据近似服从正态分布。
qqnorm(birthwt$bwt)
qqline(birthwt$bwt, col = "red")
Q-Q图可以与Shapiro-Wilk检验结合使用,以更全面地判断数据的正态性。通过这两种方法的结果,我们可以更有信心地判断数据是否符合正态分布,从而决定是否可以应用需要正态性假设的统计方法。
五、总结
正态性检验在医学统计分析中起着至关重要的作用。通过Kolmogorov-Smirnov检验、Shapiro-Wilk检验和Q-Q图,我们能够准确判断数据是否符合正态分布,为后续的统计分析提供可靠的基础。熟练掌握这些正态性检验方法和R语言的应用,将有助于提高医学研究的严谨性和结果的可信度。
本文原文来自CSDN