R语言与正态性检验

1.Kolmogorov-Smirnov正态性检验

Kolmogorov-Smirnov是比较一个频率分布f(x)与理论分布g(x)或者两个观测值分布的检验方法,若两者间的差距很小,则推论该样本取自某特定分布族或两个观测值分布相同

使用函数:ks.test()在默认安装的stats包中

说明:ks.test有四个参数,第一个参数x为观测值向量,第二个参数y为第二观测值向量或者累计分布函数或者一个真正的累积分布函数,如pnorm(正态分布函数,一般做正态检测的时候直接输入pnorm),只对连续CDF有效。第三个参数为指明是单侧检验还是双侧检验,exact参数为NULL或者一个逻辑值,表明是否需要计算精确的P值。

结果解释:结果中会出现统计量D值和p-value,
D值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

注意:在做单样本K-S检验或者正态检验时,有时会有错误提示“Kolmogorov - Smirnov检验里不应该有连结”,这是因为K-S检验只对连续CDF有效,而连续CDF中出现相同值的概率为0,因此R会报错。这也提醒我们,在做正态性检验之前,要先对数据进行描述性分析,对数据整体要先有个大致的认识,这也才后续才能选择正确的检验方法。

2.Shapiro-Wilk检验

Shapiro-Wilk检验在小样本情况下,是很普通的正态性检验方法。

使用函数:Shapiro.test()在默认安装的stats包中

说明: Shapiro.test()只有一个参数x,并且只要是数字向量即可,也可以有缺失值,但是非缺失值数量必须在3-5000之间,这是R的规定。

结果解释:结果中会出现统计量W值和p-value:
W值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

3.Lilliefor检验

是Kolmogorov-Smirnov正态性检验修正,可用于正态性检验

使用函数:lillie.test()在nortest包中

说明: lillie.test()只有一个参数x,只要是数字向量即可,也可以有缺失值,但是非缺失值数量必须>4,这是R的规定

结果解释:结果中会出现统计量D值和p-value:
D值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

注意:在R中使用lillefor检验,就相当于在SPSS探索分析中的正态性检验的Kolmogorov-Smirnov的lilliefors的修正值,二者结果是相同的。

4.Anderson-Darling正态性检验

使用在nortest包中的ad.test()

使用函数:ad.test()在nortest包中

说明:ad.test()只有一个参数x,只要是数字向量即可,也可以有缺失值,但是非缺失值数量必须>7,这是R的规定

结果解释:结果中会出现统计量A值和p-value:
A值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

5.Jarque-Bera正态性检验

Jarque Bera是基于偏度系数和峰度系数的统计量

使用函数:jarque.bera.test()在tseries包中
                 jb.norm.test()在nromtest包中
                ajb.norm.test()在nromtest包中

说明: jarque.bera.test()只有一个参数x,可以是数字向量或时间序列,不允许有遗漏值,但是R中也没有规定x的最小值,jb.norm.test()除了x之外,多了一个蒙特卡诺模拟值,默认是2000,ajb.norm.test()是J-B检测的修正,主要解决J-B统计量收敛速度慢的缺点。

结果解释:结果中会出现统计量X-squared或JB值、自由度df和p-value
X-squared值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

时间: 2024-10-09 06:53:58

R语言与正态性检验的相关文章

R语言之正态性检验

数据的正态性是很多统计方法的基础,因此正态性检验也是必不可少的,下面介绍使用R进行正态性检验的几种方法1.Shaprio-Wilk检验用于比较样本数据与正态分布是否存在显著不同,使用Shapiro.test()函数实现,格式为Shapiro.test(data),要求data为向量格式. 2.Kolmogorov-Smirnov检验该检验用于比较两种分布是否相同,或者将样本与某已知分布进行比较,可以使用ks.test()函数实现,格式为ks.test(x,y...),其中x是想检验的向量,y是与

R语言正态性检验

R语言正态性检验 用R语言做正态分布检验 (2012-02-29 10:59:54)转载▼ 摘自:吴喜之:<非参数统计>(第二版),中国统计出版社,2006年10月:P164-165 1.ks.test() 例如零假设为N(15,0.2),则ks.test(x,"pnorm",15,0.2).如果不是正态分布,还可以选"pexp", "pgamma"等.2.shapiro.test() 可以进行关于正态分布的Shapiro-Wilk检

数据分析,R语言

数据结构 创建向量和矩阵 1 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 1 函数mean(), sum(), min(), max(), var(), sd(), prod() 帮助文档 1 函数help() 生成向量 1 seq() 生成字母序列letters 新建向量 1 Which()函数,rev()函数,sort()函数 生成矩阵 1 函数matrix() 矩阵运算 1 函数t(),矩阵加减 矩阵运算 1

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

R语言学习-词频分析

概念 1.语料库-Corpus 语料库是我们要分析的所有文档的集合,就是需要为哪些文档来做词频 2.中文分词-Chinese Word Segmentation 指的是将一个汉字序列切分成一个一个单独的词语. 3.停用词-Stop Words 数据处理的时候,自动过滤掉某些字或词,包括泛滥的词如Web.网站等,又如语气助词如的.地.得等. 需要加载的包 1.tm包 安装方式:install.packages("tm") 语料库: Corpus(x,readerControl) x-语料

R语言使用机器学习算法预测股票市场

quantmod 介绍 quantmod 是一个非常强大的金融分析报, 包含数据抓取,清洗,建模等等功能. 1. 获取数据 getSymbols 默认是数据源是yahoo 获取上交所股票为 getSymbols("600030.ss"), 深交所为 getSymbols("000002.sz").  ss表示上交所, sz表示深交所 2. 重命名函数 setSymbolLookup 3. 股息函数 getDividends 4. 除息调整函数 adjustOHLC

R语言数据挖掘实战系列(2)

二.R语言简介 R语言是一种为统计计算和图形显示而设计的语言环境,具有免费.多平台支持,同时可以从各种类型的数据源中导入数据,具有较高的开放性以及高水准的制图功能.R是一个体系庞大的应用软件,主要包括核心的R标准包和各专业领域的其他包.R在数据分析.数据挖掘领域具有特别优势. R安装 R可在其主页(https://www.r-project.org/)上获得,根据所选择的平台进行下载安装.安装完成之后启动R.为了方便使用R,可使用免费的图形界面编辑器RStudio,可从https://www.r

survival analysis 生存分析与R 语言示例 入门篇

生存分析,survival analysis,顾名思义是用来研究个体的存活概率与时间的关系.例如研究病人感染了病毒后,多长时间会死亡:工作的机器多长时间会发生崩溃等.  这里“个体的存活”可以推广抽象成某些关注的事件. 所以SA就成了研究某一事件与它的发生时间的联系的方法.这个方法广泛的用在医学.生物学等学科上,近年来也越来越多人用在互联网数据挖掘中,例如用survival analysis去预测信息在社交网络的传播程度,或者去预测用户流失的概率. R里面有很成熟的SA工具. 本文介绍生存分析的