在前面文章中介绍了简单线性回归分析(Simple Linear Regression Analysis)的假设检验理论,本篇文章将实例演示在Stata软件中实现简单线性回归分析的操作步骤。
关键词:Stata; 简单线性回归; 直线回归; 残差齐性检验; 残差正态检验; 哑变量设置
一、案例介绍
研究健康成年人的体重和双肾脏总体积(ml)的关系,测得24名健康成年人的体重wt (kg)与双肾脏总体积volume (ml),拟探讨健康成年人的体重与双肾总体积是否有关,并希望通过健康成年人的体重预测双肾总体积。部分数据见图1。本文案例可从“附件下载”处下载。
![](https://site.cdn.mengte.online/official/2022/01/20220115114503339.png)
二、问题分析
本案例的分析目的是通过判断两个计量资料之间的关系,同时使用其中一个变量预测另一个变量,计算其中一个变量对另一个变量变异的解释程度。针对这种情况,可以使用简单线性回归分析。但需要满足6个条件:
条件1:因变量为连续变量。本研究中,健康成年人的体重为连续变量,该条件满足。
条件2:若自变量是连续变量,则与因变量之间存在线性关系。该条件需要通过软件分析后判断。
条件3:各观测值之间相互独立,即残差之间不存在自相关。通过研究设计和数据收集的过程分析,可判断本案例中观测值之间不存在互相影响的情况。该条件还可通过软件分析后辅助判断。
条件4:自变量不存在显著的异常值,该条件需要通过软件分析后判断。
条件5:残差符合正态(或近似正态)分布,该条件需要通过软件分析后判断。
条件6:残差方差齐。该条件需要通过软件分析后判断。
三、软件操作及结果解读
(一) 适用条件判断
1. 条件2判断(因变量和自变量之间存在线性关系)
(1) 软件操作
*绘制散点图*
gr tw lfitci volume wt|| sc volume wt,ms(O)
![](https://site.cdn.mengte.online/official/2022/01/20220115121150639.png)
(2) 结果解读
由图2可见,散点大致呈一条直线,提示变量“wt”和“volume”存在线性关系,满足条件2。
2. 条件3判断(观测值之间独立性判断)
(1) 软件操作
①*将数据转换为时间序列*
tsset id
![](https://site.cdn.mengte.online/official/2022/01/20220115121613125.png)
②*回归分析*
reg volume wt
![](https://site.cdn.mengte.online/official/2022/01/20220115121802274.png)
③ *自相关检验*
*安装“dwe包”*
net from http://www.stata.com net cd users/ddrukker net install dwe dwe
![](https://site.cdn.mengte.online/official/2022/01/20220115124235983.png)
(2) 结果解读
图5自相关检验显示,DW Statistic为2.078,比较接近2;Prob<DW且Prob>DW=0.4206,说明正相关和负相关检验均无统计学意义,提示观测值相互独立,本研究数据满足条件3。
3. 条件4判断(异常值检测)
通过图2的散点图可见,数据不存在异常值。但仍需要统计分析结果的判断。
(1) 软件操作
*计算Cook距离D(Cook's Distance)*
predict new,cooksd sum new
![](https://site.cdn.mengte.online/official/2022/01/20220115124446415.png)
(2) 结果解读
库克距离用来判断强影响点是否为因变量的异常值点。一般认为当D<0.5时不是异常值点,当D>0.5时认为是异常值点。图6显示,最大库克距离D为0.2849<0.5,提示不存在显著异常值,本研究数据满足条件4。
4. 条件5判断(残差的正态性检验)
(1) 软件操作
①*残差正态性检验*
predict e,resid swilk e
![](https://site.cdn.mengte.online/official/2022/01/20220115124904351.png)
②*绘制残差正态分位图*
qnorm e
![](https://site.cdn.mengte.online/official/2022/01/20220115131936242.png)
(2) 结果解读
图7正态性检验显示,P=0.506>0.1,提示残差服从正态分布。图8残差的正态分位图中各散点基本围绕对角线分布,也提示残差服从正态分布,本研究数据满足条件5。
5. 条件6判断(残差的方差齐性检验)
(1) 软件操作
*绘制残差的散点图*
quietly reg volume wt rvfplot, yline(0) scatter e volume, yline(0) scatter e wt, yline(0)
![](https://site.cdn.mengte.online/official/2022/01/20220115132125483.png)
![](https://site.cdn.mengte.online/official/2022/01/20220115132140742.png)
![](https://site.cdn.mengte.online/official/2022/01/20220115132202290.png)
(2) 结果解读
图9—图11中残差的散点图分布较为均匀,并未出现特殊的分布形式(如漏斗或者扇形),提示残差的方差齐,本研究数据满足条件6。
(二) 模型拟合
1. 软件操作
reg volume wt
2. 结果解读
(1) 模型拟合程度
图3回归分析结果中列出了模型的各项参数。决定系数R2(R-square)=0.8961,提示自变量(体重)可以解释89.61%的因变量的变异(双肾总体积),但是R2会受自变量个数的影响,夸大自变量对因变量变异的解释程度,自变量越多,R2越大。Adjusted R2(Adj R-squared)调整了自变量个数对结果的影响,一般小于R2。Adjusted R2=0.8914,提示自变量 (体重)可以解释89.14%的因变量的变异 (双肾总体积)。
整体模型检验结果显示F=189.84,P<0.001,提示模型有意义。如果P>0.05,则说明回归模型没有统计学意义。
(2) 回归系数解释
图3回归分析的下半部分给出模型的截距和自变量的“Coef.(系数)”、“Std.Err (标准误)”及95%CI,统计量t值及P值。可知,回归模型的截距为115.119,表示自变量取值为0时,因变量的取值,并无实际专业意义。变量“wt”的非标准化系数(即斜率)为2.585 (95%CI:2.196~2.974),表示体重每增加1 kg,双肾体积增加2.585 ml。据此可以写出本案例的回归方程为:
\(Volume =115.119+2.585×wt\)根据此方程可以计算合理范围内体重对应的双肾总体积。
四、结论
本研究采用简单线性回归模型通过健康成年人的体重预测双肾总体积。通过绘制散点图,提示两者之间存在线性关系;通过专业判断和Durbin-Watson检验提示数据之前相互独立;通过绘制散点图和库克距离分析,提示数据不存在需要处理的异常值;通过Shapiro-wilk检验及绘制残差正态分位图,提示残差符合正态分布;通过绘制残差图,提示残差方差齐。本研究数据满足线性回归分析条件。
线性回归分析方程为:volume = 115.119 + 2.585×wt,回归模型具有统计学意义,F=189.84,P<0.001;自变量(体重)可以解释89.61%的因变量的变异(双肾总体积),影响程度较高(adjusted R2=0.8914),即体重每增加1 kg,双肾总体积增加2.585 (95%CI:2.196~2.974) ml。
五、分析小技巧
(一) 各观测值之间独立性检验
判断观测值是否独立,主要取决于研究设计和数据收集阶段的质量控制,Durbin-Watson检验最好用于辅助判断。Durbin-Watson检验值分布在0~4之间,越接近2,观测值相互独立的可能性越大。
(二) 异常值检测
Cook’s D(库克距离)用来判断强影响点是否为因变量的异常值点。一般认为当D<0.5时不是异常值点,当D>0.5时认为是异常值点。
并非所有的异常点都意味着结果不好,有时候发现异常点可能会提示有更重要的信息。如果出现异常点,首先应检查数据是否录入错误,也可以选择其他相应模型来拟合,或者需要收集更多的数据来证实。
(三) 残差正态性检验
如果残差不符合正态分布,可以考虑对因变量进行数据变换,使其服从正态分布后再拟合线形回归模型,也可采用非参数回归。
(四) 残差的方差齐性检验
残差的方差齐是指在自变量取值范围内,对于任意自变量取值,因变量都有相同的方差。线形回归中,残差的方差齐实际上要比残差正态分布重要。如果这一条件不满足,可对因变量进行变量变换,使其满足残差方差齐,也可以采用加权回归分析,消除方差的影响。
(五) 回归模型
分析中得到的回归截距,是当自变量为0时因变量对应的值。在本研究中,回归截距为当体重为0时,研究对象的双肾总体积为115.119 ml。这显然不符合客观实际,因此无论截距的检验结果是否有统计学意义,一般都不必过多关注,在进行简单线性回归时更多关注的是斜率。在进行回归分析时,要注意避免对数据的过度挖掘,不能将回归模型分析的结果随意延伸到自变量取值范围以外的数值。也不能随意将模型分析结果延伸到因果关系。