浅谈正态分布检验

栏目: Python · 发布时间: 5年前

正态分布是我们经常听到的一个名词,又叫高斯分布,许多模型或算法都要求数据服从正态分布,比如:pearson相关系数、线性回归等。样子如下:

plot(density(rnorm(1000000)))  # R语言代码

浅谈正态分布检验

关于 正态 分布的详细介绍可以参照 百度百科 维基百科 ,本文简单介绍一下 正态 分布在Excel、R和 Python 中的检验。

1. 正态 分布在Excel中的检验

我在Excel中并没有发现有检验 正态 分布的函数(但是有一些 正态 分布相关的函数),所以我们不能直接使用一个函数来检验一列数据是否服从 正态 分布。

那怎么判断一列数据是否服从 正态 分布呢?我认为可以从 正态 分布的特征(均值=中位数=众数,偏度=0,峰度=0)来主观判断。

上面提到的几个指标,Excel可以使用数据分析功能非常方便的输出出来,如下:

浅谈正态分布检验

输出方法:数据选项卡→数据分析→选择描述统计功能。

若没有数据分析功能,需要在Excel选项中加载出来:文件 →选项 →加载项 →Excel加载项 转到 →勾选分析 工具 库。

可以看到A列(一个52条记录的年龄数据)的描述统计(E、F列)。可以看到均值≈中位数(众数表示出现频率最高的数值,不是非常异常可以不用考虑),偏度和峰度都很小,接近0;所以我们可以主观判断年龄数据服从 正态 分布。

PS:非严格条件下,统计学中认为样本量≥30的样本可以认为其服从 正态 分布。

2. 正态 分布在R中的检验

使用专业的统计软件,一般我们会做QQ图来直观的看数据的 正态 分布情况,当然也会有许多检验函数来做 正态 分布的假设检验。

我们来做QQ图:

qqnorm(df$Age, main='Normal Q-Q Plot')

qqline(df$Age)

浅谈正态分布检验

可以看到散点几乎都分布在直线上,基本可以判断为服从 正态 分布。

我们来做 正态 分布检验(使用:Shapiro-Wilk normality test):

shapiro.test(df$Age)

浅谈正态分布检验

可以看到P=0.2187>0.05,接受服从 正态 分布的原假设(严格的说法是不能在α=0.05的显著性水平下拒绝原假设)。

3. 正态 分布在Python中的检验

我们按照同样的步骤(画图直观看、QQ图、假设检验)来看一下这三步操作在Python中的实现。

来看一下Age的直方图:

%matplotlib inline

import seaborn as sns

from scipy import stats

sns.distplot(df.Age, kde=True, fit=stats.norm)

浅谈正态分布检验

可以看到直方图呈中间高两边低的分布,概率密度曲线也与比较接近 正态 分布曲线。

QQ图:

import statsmodels.api as sm

qqplot = sm.qqplot(df.Age, fit=True, line='45')

浅谈正态分布检验

同样地,散点几乎都分布在了斜线上。

正态 分布检验:

stats.normaltest(df.Age)

输出内容:NormaltestResult(statistic=4.1118734600586535, pvalue=0.12797290335273284)

可以看到P值>0.05,接受服从 正态 分布的原假设。

细心的朋友会发现R和Python的检验结论虽然一致,但是得到的参数并不相同。

我认为关于 正态 分布的检验还要看具体场景,并不是一定要非常严格的限定α=0.05,可以适当的进行调整,当数据量大的时候甚至可以直接默认数据服从 正态 分布,或者采用不要求 正态 分布的算法。

以上,如有不妥之处还请多多指正,数据文件及代码请查阅附件。

浅谈正态分布检验

本文由okajun 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。

转载、引用前需联系作者,并署名作者且注明文章出处。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。


以上所述就是小编给大家介绍的《浅谈正态分布检验》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

复杂性思考

复杂性思考

Allen B. Downey / 张龙 / 机械工业出版社 / 2013-5 / 49.00元

本书的灵感来源于无聊与迷恋的感觉:对常规的数据结构与算法介绍的无聊,对复杂系统的迷恋。数据结构的问题在于教师在教授这门课程的时候通常不会调动起学生的积极性;复杂性科学的问题在于学校通常不会教授这门课程。 2005年,我在欧林学院讲授了一门新课程,学生要阅读关于复杂性的主题,使用Python进行实验,并学习算法与数据结构。当我在2008年再次讲授这门课程时,我写了本书的初稿。 在2011......一起来看看 《复杂性思考》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具