R语言 Shapiro-Wilk检验
2016-04-06 11:01
639 查看
分布检验方法比较
²图示法相对于其他方法而言,比较直观,方法简单,从图中可以直接判断,无需计算,但这种方法效率不是很高,它所提供的信息只是正态性检验的重要补充。
²经常使用的拟合优度检验和Kolmogorov-Smirnov检验的检验功效较低,在许多计算机软件的Kolmogorov-Smirnov检验无论是大小样本都用大样本近似的公式,很不精准,一般使用Shapiro-Wilk检验和Lilliefor检验。
²Kolmogorov-Smirnov检验只能检验是否一个样本来自于一个已知样本,而Lilliefor检验可以检验是否来自未知总体。
²Shapiro-Wilk检验和Lilliefor检验都是进行大小排序后得到的,所以易受异常值的影响。
²Shapiro-Wilk检验只适用于小样本场合(3≤n≤50),其他方法的检验功效一般随样本容量的增大而增大。
²拟合优度检验和Kolmogorov-Smirnov检验都采用实际频数和期望频数进行检验,前者既可用于连续总体,又可用于离散总体,而Kolmogorov-Smirnov检验只适用于连续和定量数据。
²拟合优度检验的检验结果依赖于分组,而其他方法的检验结果与区间划分无关。
²偏度和峰度检验易受异常值的影响,检验功效就会降低。
²假设检验的目的是拒绝原假设,当p值不是很大时,应根据数据背景再作讨论。
Shapiro-Wilk检验:
Shapiro-Wilk检验用来检验是否数据符合正态分布,类似于线性回归的方法一样,是检验其于回归曲线的残差。该方法作者推荐在样本量很小的时候使用,比如N<20。但是也有作者推荐在大数据集上使用。该作者将这种修改后的方法运用在R语言的stats包中的shapiro.test函数中。
该检验原假设为H0:数据集符合正态分布,统计量W为:
为排序后的样本数据,
为待估常量,假设样本数据确实符合一个未知均值
、标准差
的正态分布,那么样本数据就会满足下列一次函数式:
其中
是随机正态分布N(0,1)中排序数据。
统计量越大则表示数据越符合正态分布,但是仅凭这一个参数是不够的,在非正态分布的小样本数据中也经常会出现较大的W值。该统计量的分布是未知的,因此需要通过模拟或者查表来估计其概率。由于原假设是其符合正态分布,所以当P值小于指定显著水平时表示其不符合正态分布。
R语言中的Shapiro-Wilk检验
shapiro.test(x)该函数只有一个参数即数据集x。x可以是数值型向量,允许存在NA,但是非丢失数据需要在3-5000内。
例1:
11个随机抽取的样本的体重数据为:
148154158160161162166170182195236
>k<-c(148,154,158,160,161,162,166,170,182,195,236)
>shapiro.test(k)
Shapiro-Wilknormalitytest
data:k
W=0.7888,p-value=0.006704
结果中W统计量为0.7888非常接近于0,但是其p值小于0.05,所以我们可以拒绝原假设,即该数据不符合正态分布。因此,在这个例子中我们也可发现较大的W统计量的情况下,我们依然可能拒绝其符合正态分布。
例2:
在这个例子中,我们可以发现,第一个命令是检验一个随机生产的100个数据,该数据集符合均值为5、标准差为3的正态分布,其W统计量接近1,p值显著大于0.05,所以我们没办法拒绝其符合正态分布。第二个命令检验一个随机产生的100个数据,但是该数据是符合最小值为2,最大值为4的均一分布,其W统计量也是接近1,但是其P值小于0.05,所以我们有足够理由拒绝其符合正态分布。
转载地址:http://blog.sina.com.cn/s/blog_403aa80a01019lwd.html
²图示法相对于其他方法而言,比较直观,方法简单,从图中可以直接判断,无需计算,但这种方法效率不是很高,它所提供的信息只是正态性检验的重要补充。
²经常使用的拟合优度检验和Kolmogorov-Smirnov检验的检验功效较低,在许多计算机软件的Kolmogorov-Smirnov检验无论是大小样本都用大样本近似的公式,很不精准,一般使用Shapiro-Wilk检验和Lilliefor检验。
²Kolmogorov-Smirnov检验只能检验是否一个样本来自于一个已知样本,而Lilliefor检验可以检验是否来自未知总体。
²Shapiro-Wilk检验和Lilliefor检验都是进行大小排序后得到的,所以易受异常值的影响。
²Shapiro-Wilk检验只适用于小样本场合(3≤n≤50),其他方法的检验功效一般随样本容量的增大而增大。
²拟合优度检验和Kolmogorov-Smirnov检验都采用实际频数和期望频数进行检验,前者既可用于连续总体,又可用于离散总体,而Kolmogorov-Smirnov检验只适用于连续和定量数据。
²拟合优度检验的检验结果依赖于分组,而其他方法的检验结果与区间划分无关。
²偏度和峰度检验易受异常值的影响,检验功效就会降低。
²假设检验的目的是拒绝原假设,当p值不是很大时,应根据数据背景再作讨论。
Shapiro-Wilk检验:
Shapiro-Wilk检验用来检验是否数据符合正态分布,类似于线性回归的方法一样,是检验其于回归曲线的残差。该方法作者推荐在样本量很小的时候使用,比如N<20。但是也有作者推荐在大数据集上使用。该作者将这种修改后的方法运用在R语言的stats包中的shapiro.test函数中。
该检验原假设为H0:数据集符合正态分布,统计量W为:
为排序后的样本数据,
为待估常量,假设样本数据确实符合一个未知均值
、标准差
的正态分布,那么样本数据就会满足下列一次函数式:
其中
是随机正态分布N(0,1)中排序数据。
统计量越大则表示数据越符合正态分布,但是仅凭这一个参数是不够的,在非正态分布的小样本数据中也经常会出现较大的W值。该统计量的分布是未知的,因此需要通过模拟或者查表来估计其概率。由于原假设是其符合正态分布,所以当P值小于指定显著水平时表示其不符合正态分布。
R语言中的Shapiro-Wilk检验
shapiro.test(x)该函数只有一个参数即数据集x。x可以是数值型向量,允许存在NA,但是非丢失数据需要在3-5000内。
例1:
11个随机抽取的样本的体重数据为:
148154158160161162166170182195236
>k<-c(148,154,158,160,161,162,166,170,182,195,236)
>shapiro.test(k)
Shapiro-Wilknormalitytest
data:k
W=0.7888,p-value=0.006704
结果中W统计量为0.7888非常接近于0,但是其p值小于0.05,所以我们可以拒绝原假设,即该数据不符合正态分布。因此,在这个例子中我们也可发现较大的W统计量的情况下,我们依然可能拒绝其符合正态分布。
例2:
>shapiro.test(rnorm(100,mean=5,sd=3))
Shapiro-Wilknormalitytest
data:rnorm(100,mean=5,sd=3)
W=0.9926,p-value=0.863
>shapiro.test(runif(100,min=2,max=4))
Shapiro-Wilknormalitytest
data:runif(100,min=2,max=4)
W=0.9561,p-value=0.00214
在这个例子中,我们可以发现,第一个命令是检验一个随机生产的100个数据,该数据集符合均值为5、标准差为3的正态分布,其W统计量接近1,p值显著大于0.05,所以我们没办法拒绝其符合正态分布。第二个命令检验一个随机产生的100个数据,但是该数据是符合最小值为2,最大值为4的均一分布,其W统计量也是接近1,但是其P值小于0.05,所以我们有足够理由拒绝其符合正态分布。
转载地址:http://blog.sina.com.cn/s/blog_403aa80a01019lwd.html
相关文章推荐
- Android Studio插件实现语言国际化
- Java 多线程同步和异步详解
- 用httpPost对JSON发送和接收的例子
- redis开机启动
- 朋友圈动态性能优化
- 1.1 弹出窗口控制
- 1.1 弹出窗口控制
- MyEclipse2014 优化设置
- 源码分析之HashMap
- 实现一个所有任务都是按各自自定义的时间间隔周期性执行的线程池
- Android的消息机制
- 【行测?】数理思维
- 坑爹的小学数学题
- 计算机视觉
- 2016年7月微软MVP申请开始了!
- 常用linux指令
- 结对编程总结
- php--学习封装类 (一)(操作mysql数据库的数据访问)
- html5拖拉
- eclipse 下调整jdk和tomcat的jvm参数