本文主要是介绍R语言-检验正态性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.为什么要检验正态性
首先需要明确正态性与正态分布是有区别的,正态分布(标准分布)是统计数据的分布方式,是个钟形曲线,已平均值为对称轴,数据在对称轴两侧对称分布。正态性是检验实际数据与标准正态分布的相似程度,相似程度高,说明具有正态性。
很多的统计方法是基于正态分布使用的,如T检验、方差检验等,因此需要检验数据的正态性。
2.检验正态性的方法
检验正态性常用的方法包括:
1.看分布
正态分布是个钟形分布,因此我们可以制作直方图,观察数据是否具备,在均值两侧数据对称分布的特点。
2.shapiro-wilk(W检验)
提出者是shapiro和wilk,适合样本量在3~5000
3.Kolmogorov-Smirnov(K-S检验)
适合大样本,5000以上
4.QQ图
QQ图全称quantile-quantile(分位数-分位数图),以此推断样本的分布是否具有正态性
我们构造随机数据,看一下在R中这些检验结果如何:
par(mfrow=c(1,2))
base <- rnorm(4000, mean = 0, sd = 1)
base1 <- rnorm(40000, mean = 0, sd = 1)
hist(base) ## 1.查看分布
shapiro.test(base) ## 2.w检验
ks.test(base1,"rnorm") ## 3.ks检验
qqnorm(base) ## 4.qq图
w检验的结果:
是否具有正态性的标准:p<0.1是非正态,w越小,越不是正态
Shapiro-Wilk normality testdata: base
W = 0.99953, p-value = 0.4566
ks检验的结果:
是否具有正态性的标准:p<0.05非正态,D越小,越不是正态
Asymptotic one-sample Kolmogorov-Smirnov testdata: base1
D = 4.6795, p-value < 2.2e-16
alternative hypothesis: two-sided
直方图和QQ图如下:
这篇关于R语言-检验正态性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!