Stata统计分析与行业应用案例详解(第2版)
上QQ阅读APP看书,第一时间看更新

3.2 实例二——正态性检验和数据转换

3.2.1 正态性检验和数据转换功能与意义

随着科技的不断发展和计算方法的不断改进,学者们探索出了很多统计分析方法和分析程序。但是有相当多的统计程序对数据要求比较严格,它们只有在变量服从或者近似服从正态分布的时候才是有效的,所以在对整理收集的数据进行预处理的时候需要对它们进行正态检验,如果数据不满足正态分布假设,我们就要对数据进行必要的转换。数据转换分为线性转换与非线性转换两种,其中线性转换比较简单,我们在第1章中也有所涉及。本节将要讲述的是数据的非线性转换在实例中的应用。

3.2.2 相关数据来源

【例3.2】为了解我国各地区公共交通的运营情况,某课题组搜集整理了我国2009年各省市公共交通车辆运营的数据,如表3.3所示。试使用Stata 14.0对数据进行以下操作:①对该数据进行正态分布检验;②对数据执行平方根变换方法,以获取新的数据并进行正态分布检验;③对数据执行自然对数变换方法,以获取新的数据并进行正态分布检验。

表3.3 我国2009年各省市公共交通车辆运营数据

3.2.3 Stata分析过程

在用Stata进行分析之前,我们要把数据录入到Stata中。本例中有两个变量,分别是地区和公共交通车辆运营数。我们把地区变量设定为region,把公共交通车辆运营数设定为sum,变量类型及长度采取系统默认方式,然后录入相关数据。相关操作我们在第1章中已有详细讲述。录入完成后数据如图3.7所示。

图3.7 案例3.2数据

先做一下数据保存,然后开始展开分析,步骤如下:

进入Stata 14.0,打开相关数据文件,弹出主界面。

在主界面的“Command”文本框中输入操作命令并按键盘上的回车键进行确认。对应的命令分别如下。


●sktest sum:本命令的含义是对该数据进行正态分布检验。

●generate srsum=sqrt(sum) sktest srsum:本命令的含义是对数据执行平方根变换方法,以获取新的数据并进行正态分布检验。

●generate lsum=ln(sum) sktest lsum:本命令的含义是对数据执行自然对数变换方法,以获取新的数据并进行正态分布检验。

3.2.4 结果分析

在Stata 14.0主界面的结果窗口中可以看到如图3.8~图3.10所示的分析结果。

图3.8 分析结果图

图3.9 分析结果图

图3.10 分析结果图

图3.8是对该数据进行正态分布检验的结果。

通过观察分析图,我们可以比较轻松地得出分析结论。本例中,sktest命令拒绝了数据呈正态分布的原始假设。从偏度上看,Pr(Skewness)为0.0065,小于0.05,拒绝正态分布的原假设;从峰度上看,Pr(Kurtosis)为0.0804,大于0.05,接受正态分布的原假设;但是把两者结合在一起考虑,从整体上看,Prob>chi2为0.0123,小于0.05,拒绝正态分布的原假设。

图3.9是对数据执行平方根变换方法,以获取新的数据并进行正态分布检验的结果。

通过观察分析图,我们可以比较轻松地得出分析结论。本例中,sktest命令接受了数据呈正态分布的原始假设。从偏度上看,Pr(Skewness)为0.4418,大于0.05,接受正态分布的原假设;从峰度上看,Pr(Kurtosis)为0.9062,大于0.05,接受正态分布的原假设;把两者结合在一起考虑,从整体上看,Prob>chi2为0.7293,大于0.05,接受正态分布的原假设。

图3.10是对数据执行自然对数变换方法,以获取新的数据并进行正态分布检验的结果。

通过观察分析图,我们可以比较轻松地得出分析结论。本例中,sktest命令接受了数据呈正态分布的原始假设。从偏度上看,Pr(Skewness)为0.0462,小于0.05,拒绝正态分布的原假设;从峰度上看,Pr(Kurtosis)为0.2609,大于0.05,接受正态分布的原假设;把两者结合在一起考虑,从整体上看,Prob>chi2为0.0774,大于0.05,接受正态分布的原假设。

3.2.5 案例延伸

上述的Stata命令比较简洁,分析过程及结果已达到解决实际问题的目的。但是Stata 14.0的强大之处在于,它同样提供了更加复杂的命令格式以满足用户更加个性化的需求。

1.延伸1:有针对性地对数据进行变换

我们在进行数据分析时,在对初始数据进行正态性检验后,可以利用3.1节的相关知识,得到关于数据偏度和峰度的信息,我们完全可以根据数据信息的偏态特征进行有针对性的数据变换。数据变换与其对应的Stata命令以及达到的效果如表3.4所示。

表3.4 数据变换与其对应的Stata命令以及达到的效果

2.延伸2:关于ladder命令的介绍

此处我们介绍一个非常好用的命令:ladder。它把幂阶梯和正态分布检验有效地结合到了一起。它尝试幂阶梯上的每一种幂并逐个反馈结果是否显著地为正态或者非正态。以本例为例,操作命令如下:

    ladder     sum

在命令窗口输入命令并按回车键进行确认,结果如图3.11所示。

图3.11 分析结果图

在该结果中,我们可以非常轻松地看出,在95%的置信水平上,仅有平方根变换square root(P(chi2)= 0.729)以及自然对数变换log(P(chi2)= 0.077)是符合正态分布的,其他幂次的数据变换都不能使数据显著地呈现正态分布。

3.延伸3:关于gladder命令的介绍

例如,我们要在延伸2的基础上更直观地看出幂阶梯和正态分布检验有效结合的结果,那么操作命令就应该相应地修改为:

    gladder     sum

在命令窗口输入命令并按回车键进行确认,结果如图3.12所示。

图3.12 分析结果图

从结果中可以轻松地看出每种转换的直方图与正态分布曲线,与延伸2得出的结论是一致的。