R语言的正态性检验

统计学中的t检验法和F检验法的应用条件是样本都来自正态总体或近似正态总体,只有符合这个条件,才能用它们来检验各样本所属的总体参数的差异显著性。

一、非参数检验

1、Kolmogorov-Smirnov正态性检验(单样本)

检验单一样本是否来自某一特定分布。比如检验一组数据是否为正态分布。它的检验方法是以样本数据的累积频数分布与特定理论分布比较,若两者间的差距很小,则推论该样本取自某特定分布族。即对于假设检验问题:

H0:样本所来自的总体分布服从某特定分布

H1:样本所来自的总体分布不服从某特定分布

Fn(X)表示一组随机样本的累计概率函数,F0(X)表示分布的分布函数。
当原假设为真时,D的值应较小,若过大,则怀疑原假设,从而拒绝H0
R实现:

若不是正态分布函数的检验,只需要将”pnorm”改成相应地分布函数
当已知分布函数时,如:

若出现错误或警报,可能是由于:
Warning message:
In ks.test(X, “pnorm”, 2.488715,3.012176) :
ties should not be present for the Kolmogorov-Smirnov test
#若已知可能的分布函数
#样本数据中存在有相同的值,单样本K-S检验要求检验分布是连续的,而连续分布出现相同值的概率为0.如果是出现相同的,则连续分布的假设不成立,则该方法无法使用.
1.2 nortest包里的lillie.test()可以实行更精确的Kolmogorov-Smirnov检验

可以发现此方法的结果和ks.test的第二种方法的结果是一样的
1.3 fBasics包里的normaltest()和ksnormtest()

2. Shapiro-Wilk(W检验)
统计量为:

当原假设为真时,W的值应接近于1,若值过小,则怀疑原假设,从而拒绝域为R:W<c
在给定的水平下P{w<c}=a
R实现:
2.1 shapiro.test()实现

在R中,shpiro.test()函数限制为3-5000个样本之间
2.2 fBasics包里的shapiroTest()

二、图示法

Q-Q图:以样本的分位数作为横坐标,以按照正态分布计算的相应分位点作为纵坐标,把样本表现为直角坐标系的散点。如果数据服从正态分布,则样本点应围绕第一象限的对角线分布。

QQplot如下图:可以发现,基本上呈正态分布。

 

点赞

发表评论

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