浅谈正态分布检验

栏目: 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 中国大陆许可协议 进行许可。

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

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


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

查看所有标签

猜你喜欢:

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

深入分析Java Web技术内幕(修订版)

深入分析Java Web技术内幕(修订版)

许令波 / 电子工业出版社 / 2014-8-1 / CNY 79.00

《深入分析Java Web技术内幕(修订版)》新增了淘宝在无线端的应用实践,包括:CDN 动态加速、多终端化改造、 多终端Session 统一 ,以及在大流量的情况下,如何跨越性能、网络和一个地区的电力瓶颈等内容,并提供了比较完整的解决方案。 《深入分析Java Web技术内幕(修订版)》主要围绕Java Web 相关技术从三方面全面、深入地进行了阐述。首先介绍前端知识,即在JavaWeb ......一起来看看 《深入分析Java Web技术内幕(修订版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试