【R】正态检验与R语言
正态检验与R语言
1.Kolmogorov–Smirnov test
R函数:
ks.test(x, y, ...,
alternative = c("two.sided", "less", "greater"),
exact = NULL)
使用说明:
参数设置:
x:观测值向量
y:第二观测值向量或者累计分布函数,如pnorm(正态分布函数,一般做正态检测的时候直接输入pnorm),只对连续CDF有效
alternative = c("two.sided", "less", "greater"):双侧检验还是单侧检验
exact:默认为NULL,也可以是其他逻辑值,表明是否需要计算精确的P值
结果解释:
D:D值越小,越接近0,表示样本数据越接近正态分布(简单来说,D越小越好)
p:p-value小于显著性水平α(0.05),则拒绝H0(p越大越好)
注意事项:
在做单样本K-S检验或者正态检验时,有时会有错误提示“Kolmogorov - Smirnov检验里不应该有连结”,这是因为K-S检验只对连续CDF有效,而连续CDF中出现相同值的概率为0,也就是说数据中倘出现相同值,则连续分布的假设不成立,因此R会报错。这也提醒我们,在做正态性检验之前,要先对数据进行描述性分析,对数据整体要先有个大致的认识,这也才后续才能选择正确的检验方法。
Example:
例:35位健康男性在未进食前的血糖浓度如表所示,试测验这组数据是否来自均值μ=80,标准差σ=6的正态分布 87 77 92 68 80 78 84 77 81 80 80 77 92 86 76 80 81 75 77 72 81 90 84 86 80 68 77 87 76 77 78 92 75 80 78 (n=35)
H0:健康成人男性血糖浓度服从正态分布
H1: 健康成人男性血糖浓度不服从正态分布
blo<-c(87,77,92,68,80,78,84,77,81,80,80,77,92,86,76,80,81,75,77,72,81,90,84,86,80,68,77,87,76,77,78,92,75,80,78)
aa<-scale(blo)#标准化
ks.test(aa,pnorm)
结果解释:D小,p大,故不能拒绝H0,即健康成年男人血糖浓度服从正态分布。
data: aa
D = 0.16523, p-value = 0.2949
alternative hypothesis: two-sided
2.Anderson–Darling test
Anderson–Darling检验是一种用来检验给定的样本是否来自于某个确定的概率分布的统计检验方法。在R语言中,我们可以从nortest包中的ad.test()进行检验。
R函数:
ad.test(x)
使用说明:
参数设置:
x:观测值向量,是数字向量即可,可以存在缺失值;非缺失值数量必须>7。
结果解释:
A值:A越小,越接近0,表示样本数据越接近正态分布
p值:如果p-value小于显著性水平α(0.05),则拒绝H0
Example:
library("nortest")
x<-rnorm(10,0,2)
ad.test(x)
Anderson-Darling normality test
data: x
A = 0.22765, p-value = 0.7452
3.Shapiro-Wilk test
Shapiro-Wilk检验在小样本情况下,是很普通的正态性检验方法,Shapiro.test()在默认安装的stats包中。原假设H0:数据符合正态分布。然而, 因为样本量的大小会导致检验存在偏差,检验在任何大样品中可能有统计学意义上的正态分布。因此, 除了Shapiro-Wilk test 之外, 还需要进行 Q–Q 的图形验证。
(检验统计量W)
R函数:
shapiro.test(x)
使用说明:
参数设置:
x:观测值向量,是数字向量即可,可以存在缺失值;非缺失值数量必须>3且<5000。
结果解释:
W值:W越小,越接近0,表示样本数据越接近正态分布
p值:如果p-value小于显著性水平α(0.05),则拒绝H0
Example:
x<-rnorm(10,0,2)
shapiro.test(x) Shapiro-Wilk normality test
data: x
W = 0.92412, p-value = 0.3926
4.Lilliefor test
Lilliefor test是基于Kolmogorov–Smirnov test的一种正态性检验。原假设H0:数据符合正态分布,其检验没有确定来自哪一个具体的正态分布。lillie.test()也在nortest包中。
R函数:
lillie.test(x)
使用说明:
参数设置:
x:观测值向量,是数字向量即可,可以存在缺失值;非缺失值数量必须>4。
结果解释:
D值:D越小,越接近0,表示样本数据越接近正态分布
p值:如果p-value小于显著性水平α(0.05),则拒绝H0
Example:
library("nortest")
x<-rnorm(10,0,2)
lillie.test(x)
Lilliefors (Kolmogorov-Smirnov) normality test
data: x
D = 0.20253, p-value = 0.2906
【R】正态检验与R语言的更多相关文章
- R 正态性检验:正态概率图
检验模型是否满足正态性假设的方法: 1.正态概率图 这是我编写的画正态概率图的函数: #绘制正态概率图 plot_ZP = function(ti) #输入外部学生化残差 { n = length(t ...
- SciPy - 正态性 与 KS 检验
假设检验的基本思想 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的:如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设: 假设检验实质 ...
- R的t-test检验
1.t-test的功能:单因素二水平的假设检验. H0:与我们想过要的结果相反的假设,比如我们想要的是两组数据的差异性,那么这个假设是:两组数据没有差异性. H1或Ha:备择假设,与H0假设相反. 2 ...
- 多元线性回归检验t检验(P值),F检验,R方等参数的含义
做线性回归的时候,检验回归方程和各变量对因变量的解释参数很容易搞混乱,下面对这些参数进行一下说明: 1.t检验:t检验是对单个变量系数的显著性检验 一般看p值: 如果p值小于0.05表示该自 ...
- 正态QQ图的原理
code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...
- 【译文】利用STAN做贝叶斯回归分析:Part 2 非正态回归
[译文]利用STAN做贝叶斯回归分析:Part 2 非正态回归 作者 Lionel Hertzogn 前一篇文章已经介绍了怎样在R中调用STAN对正态数据进行贝叶斯回归.本文则将利用三个样例来演示怎样 ...
- R-2 - 正态分布-中心极限-置信区间-正态假设检验
本节内容 1:样本估计总体均值跟标准差,以及标准误 2:中心极限定理 3:如何查看数据是否是正态分布QQ图 4:置信区间的理解跟案例 5:假设检验 参考文章: 假设检验的学习和理解 一.样本估计总体均 ...
- 数据分布转换:非正态 -> 正态
来源:丁香园论坛:SPSS上的把非正态分布数据转换为正态分布数据 一楼 可以应用变量变换的方法,将不服从正态分布的资料转化为非正态分布或近似正态分布.常用的变量变换方法有对数变换.平方根变换.倒数变换 ...
- 在opencv3中实现机器学习之:利用正态贝叶斯分类
opencv3.0版本中,实现正态贝叶斯分类器(Normal Bayes Classifier)分类实例 #include "stdafx.h" #include "op ...
随机推荐
- HTML,login文本框·
列子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- ELK日志套件安装与使用
1.ELK介绍 ELK不是一款软件,而是elasticsearch+Logstash+kibana三款开源软件组合而成的日志收集处理套件,堪称神器.其中Logstash负责日志收集,elast ...
- Oracle 字符集设置
因为装Linux系统时选择的是英文版,所以当需要测试中文数据库时会出现乱码,这里记录一下我修改字符集的操作. 一些命令: 1.查看sqlplus客户编码: $ echo $NLS_LANG 2.查看 ...
- ajax删除数据(不跳转页面)
以前我们讲的删除是利用嵌入php代码,跳转到另一个页面,从而降低了删除速度,但我们今天讲的利用ajax不仅可以达到不跳页面快速删除,并且能添加特效来美化页面. AJAX = 异步 JavaScript ...
- Spring学习笔记①
我觉得Spring之所以发展的好,主要是理论研究与实践是并轨的,能跟得上时代的步伐,尤其是基础理论的研究(可能是最近看三体看多了,对基础理论非常崇拜).微服务的实现啊,RESTful的实现,对应的Sp ...
- JQuery OOP 及 OOP思想的简易理解
在项目维护的时候,看到通篇的function实际上是非常费(痛)劲(苦),个人对于前端也不是特别熟悉,就想着JQuery能否也建立OOP的写法? 目的便于日后代码维护管理,就算不为了自己,日后交接后也 ...
- CDbConnection failed to open the DB connection
打开数据库失败 有我遇到的有寄给问题: 1 Not find Drive 2 SQLSTATE[28000] [1045] Access denied for user 'xxx'@'localhos ...
- jmeter的http cookies管理器使用
关于Cookie不过多介绍,测试UI的小伙伴们应该对此有深深的爱和恨~ 本文介绍如何:1.获取Cookie.2.保存Cookie 3.引用Cookie 最终达到Cookie类似无法失效的目的~ Coo ...
- ISO c++ 14 重点介绍[译]
原文链接 http://marknelson.us/2014/09/11/highlights-of-iso-c14/ 下面是对你的日常开发有重大影响的C++14新变动,列出了一些示例代码,并讨论何时 ...
- BootStrap入门教程 (四)
本文转自 http://www.cnblogs.com/ventlam/archive/2012/06/17/2536728.html 上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很 ...