注:①微信官方账号中统计分析方法的介绍和案例演示基于stata软件。您也可以在stata软件中完成这些操作。了解原理后,也可以在其他统计软件中完成这些任务。②写微信官方账号
注:①微信官方账号中统计分析方法的介绍和案例演示基于stata软件。您也可以在stata软件中完成这些操作。了解原理后,也可以在其他统计软件中完成这些任务。②写微信官方账号的文章时,我更喜欢用stata命令而不是菜单截图来展示分析过程。③如果你没有stata的基础知识,想同时学习,可以点击文末阅读原文查看我的在线课程。
开始发短信
稍微熟悉统计学的人都知道,很多统计方法只有在变量服从正态分布的情况下才能表现最好。比如我们经常用到的参数检验、方差分析、线性回归分析等等。因此,检验统计分析中变量的正态性是许多建模和统计分析过程中的必要步骤。
那么有哪些方法可以用来检验数据的正态性呢?如果检测到的数据不符合正态分布,如何对数据进行变换以满足正态分布的要求?
就拿这两个问题来说吧,我来通过案例分析让你掌握数据正态性检验和非正态数据转换的神奇技巧~
首先,下图直观的展示了以上两个问题的解决方案。
然后我们以案例的形式来说明这两个问题。
首先,我们加载数据集,并为这个数据集中的数值变量elcap绘制茎叶图、直方图和Q-Q图。完成这些任务的代码如下:
这是得到的茎叶图,发现数据呈现有最大离群值的偏态分布。
获得的直方图似乎也显示了数据的非正态性。
分位数-正态Q-Q表明数据中存在明显的异常值,数据呈现一定的偏态分布。
以上是图形测试的结果。graph的优点是直观,缺点是看了三个图,我们还是没有绝对的把握这个数据不是正态分布的。那我们来做统计显著性检验。
看结果。统计检验结果为:P<>
那么数据不符合正态分布,我们就需要对数据进行变换,希望变换后的数据符合正态分布。
令人惊讶的是,我们发现转换后的两个变量都符合正态分布。如果最后要建模,可以选择P值较大、转换效果较好的对数变量来建模。
只能进行这两种转换吗?显然,这里只列出了两种常见的转换方法。我们可以使用许多函数进行转换。Stata非常友好,提供了三个非常易用的积分命令,可以一次性自动输出各种转换变量的正态分布检验结果。
第一个命令输出转换后的各种统计测试结果。只要P(chi2)大于0.05,对应的转换变量都是正态分布变量。这里有平方根(平方根)、对数(log)、反平方根(1/(平方根))。选择p值最大的对数变换参与下一次建模。
第二个命令输出转换后的直方图。通过直方图,我们还可以观察到对数转换和平方根转换的效果更好。但是,图形没有直接看上面的P值那么直接。还有一种Q-Q图,这里就不展示了。
对于任何数据,你都可以尝试使用Box-Cox变换,并使用下面的命令来做这种变换:
对转换后的变量进行测试,这里只输出统计测试结果。Box-Cox转换如预期,其转换效果最好(P值最大)。
好了,本文系统的介绍了如何检查数据的正态性,以及如何将非正态数据转化为正态数据。如果本文内容对你有帮助,请帮我分享、转发、点赞或欣赏。