【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 ...
随机推荐
- noscript 标签,一个被忽视的重要标签
打开 Drupal 的新后台,发现显示大面积空白 .本以为是 CSS 的问题,后来折腾好久才发现是我之前因为某些站的安全问题把浏览器的 Javascript 给禁用了.Javascript 的日益强大 ...
- 【2017-03-12】SQL Sever 子查询、聚合函数
一.子查询 子查询:把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 子句返回的值为一个值的时候: 例如: 我只知道c026这个编号,我要查询比这个车价格低的全部 ...
- SVNManager配置
1.svn与apache的安装 yum install -y subversion httpd httpd.conf添加如下内容: LoadModule dav_svn_module module ...
- 2953: [Poi2002]商务旅行
2953: [Poi2002]商务旅行 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 8 Solved: 8[Submit][Status] Desc ...
- 剑指offer_数组中的逆序对
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P. 并将P对1000000007取模的结果输出. 即输出P%100 ...
- java构造函数使用方法总结
使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回 ...
- Oracle-函数大全
ORACLE函数大全 1. 第一讲 单行函数和组函数详解 PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为 ...
- WinFrom中使用WPF的窗体
步骤 1.添加WindowsFormsIntegration.dll .System.Windows.Forms.和System.Xaml,PresentationCore.PresentationF ...
- IOS动态自适应标签实现
先上效果图 设计要求 1.标签的宽度是按内容自适应的 2.一行显示的标签个数是动态的,放得下就放,放不下就换行 3.默认选中第一个 4.至少选中一个标签 实现思路 首先我们从这个效果上来看,这个标签是 ...
- iOS开发之使程序在后台运行
方法一(此方法不太可靠): 开启程序后台运行: [application beginBackgroundTaskWithExpirationHandler:^{ //后台运行过期后会调用此block内 ...