正态分布是我们经常听到的一个名词,又叫高斯分布,许多模型或算法都要求数据服从正态分布,比如: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 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。
以上所述就是小编给大家介绍的《浅谈正态分布检验》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 基于R实现统计中的检验方法---卡方检验
- python数据分析于实现,单样本体检验、独立样本体检验、相关分析、列联表分析!
- 讲讲大厂面试必考的假设检验
- 检验机器学习可解释性的技巧
- ESLint 4.12.1 发布,JavaScript 检验工具
- 机器学习数学基础:常见分布与假设检验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入分析Java Web技术内幕(修订版)
许令波 / 电子工业出版社 / 2014-8-1 / CNY 79.00
《深入分析Java Web技术内幕(修订版)》新增了淘宝在无线端的应用实践,包括:CDN 动态加速、多终端化改造、 多终端Session 统一 ,以及在大流量的情况下,如何跨越性能、网络和一个地区的电力瓶颈等内容,并提供了比较完整的解决方案。 《深入分析Java Web技术内幕(修订版)》主要围绕Java Web 相关技术从三方面全面、深入地进行了阐述。首先介绍前端知识,即在JavaWeb ......一起来看看 《深入分析Java Web技术内幕(修订版)》 这本书的介绍吧!