在Stata中进行多元线性回归分析时,常用的核心命令是regress
(可简写为reg
),该命令用于拟合一个因变量与多个自变量之间的线性关系模型,其基本语法结构为regress depvar [indepvars] [if] [in] [weight] [, options]
,其中depvar
为因变量,indepvars
为自变量列表,研究影响工资的因素时,可设定reg wage educ exper tenure
,其中wage
为因变量(工资),educ
(受教育年限)、exper
(工作经验)、tenure
(现任职年限)为自变量,执行该命令后,Stata会输出回归结果表,包含系数、标准误、t统计量、p值及R方等关键信息。

回归结果的解读与扩展分析
回归结果表中,coef.
列表示回归系数,反映自变量对因变量的边际影响。educ
的系数若为0.8,表示在其他变量不变的情况下,受教育年限每增加1年,工资平均增加0.8个单位。Std. Err.
为系数标准误,用于衡量估计的精确度;t
列是t统计量,用于检验系数是否显著不为零;P>|t|
为p值,通常以0.05为显著性阈值,若p值小于0.05,则认为该自变量对因变量有显著影响。R-squared
和Adj R-squared
分别表示决定系数和调整后决定系数,反映模型对因变量变异的解释程度,后者考虑了自变量数量,更适合比较不同模型的拟合优度。
若需进一步分析,可添加选项。robust
选项可使用稳健标准误,应对异方差问题;vif
选项(需安装estat vif
命令)可计算方差膨胀因子,判断自变量是否存在多重共线性(通常VIF大于10时需警惕)。predict
命令可生成预测值或残差,如predict yhat, xb
生成拟合值,predict resid, r
生成残差,便于后续诊断。
回归模型的假设检验与诊断
多元线性回归需满足若干假设:线性关系、误差项同方差性、无自相关、无多重共线性、误差项与自变量不相关等,Stata提供了多种诊断工具:
- 线性关系检验:可通过
rvfplot
(残差与拟合值图)直观判断,若残差随机分布在0周围,则支持线性假设; - 异方差检验:使用
estat hettest
(原假设为同方差),若p值小于0.05,拒绝同方差假设,需用robust
选项修正; - 自相关检验:时间序列数据可用
estat dwatson
(Durbin-Watson检验),截面数据可用estat bgodfrey
(Breusch-Godfrey检验); - 多重共线性检验:除VIF外,还可通过
correlate indepvars
查看自变量间相关系数,若相关系数绝对值大于0.8,可能存在共线性。
示例:工资影响因素回归分析
假设数据集wage.dta
包含变量wage
(小时工资)、educ
(受教育年限)、exper
(工作经验)、tenure
(现任职年限)、female
(性别虚拟变量,1=女性,0=男性),执行以下命令:

use wage.dta, clear reg wage educ exper tenure female, robust estat vif rvfplot
输出结果中,若female
的系数为-1.2(p<0.05),表示控制其他变量后,女性平均工资比男性低1.2个单位;vif
值若均小于5,说明多重共线性不严重;rvfplot
若显示残差无明显模式,则线性假设成立。
相关问答FAQs
Q1: 如何在Stata中回归后保存预测值和残差?
A1: 使用predict
命令,回归后执行predict yhat, xb
保存拟合值(因变量预测值),predict resid, r
保存普通残差,predict stdr, rstandard
保存标准化残差,若需保存预测区间,可添加stdp
选项(预测值标准误)或stdf
选项(个体预测标准误)。
Q2: 多元回归中如何处理分类自变量?
A2: 分类自变量需转换为虚拟变量(0/1),Stata中i.
前缀可自动处理,例如变量region
(东、中、西部),回归时输入reg wage i.region educ
,Stata会生成region=2
和region=3
两个虚拟变量(以西部为基准组),系数表示中、东部与西部的工资差异,若需自定义基准组,使用ib#.region
(为基准组取值)。
