统计推断与作图|第2期. 统计分析前必不可少的正态性检验
文摘
教育
2024-11-15 19:58
北京
正态性检验的方法主要包括显著性检验和图示法。
常见显著性检验法有Shapiro-Wilk检验,Kolmogorov-Smirnov检验,Anderson-Darling检验及偏度-峰度检验(D'Agostino's K-squared 检验),这些检验可给出相应P值,据此判断数据偏离正态分布的程度。
常用图示法包括QQ图,直方图,箱型图等,顾名思义,图示法的优点是直观,但由于需对图形进行主观判断,可能存在误判情况。因此,将两种方法结合使用可以更加准确地判断数据是否符合正态分布,接下来我们将结合常见的显著性检验方法及相应的图示法进行说明。
Shapiro-Wilk检验适用范围:小样本数据(一般少于2000个样本)。
R代码:
# 生成样本数据
set.seed(100)
data <- rnorm(1000) # 正态分布的数据
# Shapiro-Wilk 检验
shapiro_test <- shapiro.test(data)
shapiro_test
# 绘制QQ图
qqnorm(data)
qqline(data, col = "red") # 添加辅助线
结果:
结果解读:可看到本例中Shapiro-Wilk检验P=0.9765,小于0.05,故不能拒绝原假设,认为数据符合正态分布。QQ图(Quantile-Quantile Plot)将数据的分位数与理论正态分布的分位数对比。本例中数据点接近一条对角直线,则表明数据可能符合正态分布。
Kolmogorov-Smirnov(K-S)检验是一种非参数检验,由于其敏感性较低,在小样本下效果不佳,因此适用于较大样本。
R代码:
# 生成样本数据
set.seed(100)
data <- rnorm(20000) # 正态分布的数据
# Kolmogorov-Smirnov 检验
ks_test <- ks.test(data, "pnorm", mean(data), sd(data))
ks_test
# 绘制直方图
hist(data, probability = TRUE, main = "Histogram with Normal Curve")
curve(dnorm(x, mean = mean(data), sd = sd(data)), add = TRUE, col = "red")
结果解读:可看到本例中Kolmogorov-Smirnov检验P=0.8863,小于0.05,故不能拒绝原假设,认为数据符合正态分布。直方图可以显示数据的频率分布形状,本例直方图呈对称的钟形,则表明数据可能符合正态分布。
Anderson-Darling 检验对数据的尾部更敏感,适合检测非对称分布或长尾分布的数据。
R代码:
# 安装并加载必要的包
install.packages("nortest")
library(nortest)
# 生成样本数据
data <- rnorm(1000) # 正态分布的数据
# Anderson-Darling 检验
ad_test <- ad.test(data)
ad_test
# 绘制密度曲线图
plot(density(data), main = "Density Plot with Normal Curve")
curve(dnorm(x, mean = mean(data), sd = sd(data)), add = TRUE, col = "red")
结果解读:可看到本例中P=0.5684,小于0.05,故不能拒绝原假设,认为数据符合正态分布。密度曲线图可以显示数据的分布密度,通过将样本密度曲线(黑色)与正态分布密度曲线叠加对比,观察两者是否相似来判断数据的正态性。
偏度-峰度检验检验(D’Agostino’s K-squared检验)通过计算偏度和峰度来判断数据的正态性,适合大样本。
R代码:
# 安装并加载必要的包
install.packages("moments")
library(moments)
# 生成样本数据
data <- rnorm(10000) # 正态分布的数据
# D'Agostino's K-squared 检验
k2_test <- agostino.test(data)
k2_test
# 绘制箱线图
boxplot(data, main = "Boxplot of Data")
结果解读:可看到本例中P=0.9487,小于0.05,故不能拒绝原假设,认为数据符合正态分布。skew反映数据分布的对称性:若 skew 值接近 0,表示分布接近对称;若 skew 为正,说明分布右偏(长尾在右侧);若 skew 为负,说明分布左偏(长尾在左侧)。箱线图主要用于观察数据的对称性和异常值,本例箱线图对称,且没有明显的异常值,则表明数据可能符合正态分布。
今天的分享到这里就结束啦,你学会了吗?大家对于推送内容有任何问题或建议可以在公众号菜单栏“更多--读者的话” 栏目中提出,我们会尽快回复!
期待已久~临床科研交流群来啦!
(欢迎大家入群交流~若群满,请添加下方微信,备注:“进临床科研与统计_互助交流群” )
“观科研”(点击进一步了解我们吧)是由一群北京协和医学院(清华大学医学部)的博士开创的公众号,初心是让医学科研有迹可循,帮助一线的医学科研人员更快地成长,希望大家支持与关注!
如果大家对分享医学科研知识感兴趣,特别欢迎加入我们,期待与您的相遇相识相知,也非常欢迎大家自主投稿,如果您有需要分享的内容或对我们有任何建议,可通过后台留言、公众号菜单栏“更多—读者的话”栏目(进一步了解)或发送邮件至mascu_forever@163.com与我们交流并留下个人联系方式,我们会及时与您联系。如果您觉得我们长期的干货推送对您的科研工作有所帮助,可以在合适的机会致谢(包括但不限于SCI论文、毕业论文等),格式如下: The authors thank the support of Skill Learning from Kaixin Doctor and MASCU (Medical Association with Science, Creativity, and Unity), Inc, Shenzhen, China (mascu_forever@163.com).微信公众号的推送规则发生改变(不再按照时间顺序来显示),如果没有将“观科研”设置为星标,你就可能错失里面的精彩推送。