一文详解回归分析的探索、分析、检验阶段,以Stata和SPSS为例
回归分析三阶段逻辑框架总览
阶段 | 核心目标 | 主要任务与内容 | 为何重要? |
---|---|---|---|
1. 探索阶段 | 了解数据,为建模做准备 | 数据清洗、描述性统计、可视化、初步探索变量关系 | 确保数据质量,形成初步假设,避免“垃圾进,垃圾出” |
2. 分析阶段 | 建立模型,估计参数 | 执行回归命令,解读系数、显著性、拟合优度(R²) | 得到核心结果,量化变量间的数量关系,检验主要假设 |
3. 检验阶段 | 评估模型,验证假设 | 检验多重共线性、异方差性、自相关性、模型设定误差等 | 保证统计推断的可靠性,确保模型结果稳健可信 |
第一阶段:探索阶段 - 奠定基石
在跑回归之前,盲目地将数据投入软件是最大的忌讳。此阶段的目标是深入了解你的数据。
1. 数据清洗与准备
概念:处理缺失值、异常值,生成新变量(如取对数、创建虚拟变量等)。
操作:
Stata:
describe
,codebook, missing
// 查看变量概况和缺失值summarize, detail
// 查看详细统计量,识别异常值(如极端最大/最小值)tabulate x, missing
// 分类变量的频数统计(包含缺失值)generate ln_x = log(x)
// 生成新变量(如对数化)recode x (1/5=1 "Group1") (6/10=2 "Group2")...
// 数据编码
SPSS:
“分析” -> “描述统计” -> “频率”、“描述”
“转换” -> “计算变量”(用于生成新变量)
“数据” -> “定义变量属性”
2. 描述性统计
概念:用数值概括每个变量的分布特征,如中心趋势、离散程度。
操作:
Stata:
summarize
(缩写su
)SPSS: “分析” -> “描述统计” -> “描述”
3. 可视化与关系初探
概念:通过图形直观感受变量间的潜在关系,判断线性趋势是否成立。
操作:
散点图矩阵:同时查看多个变量两两之间的关系。
Stata:
graph matrix y x1 x2 x3
SPSS: “图形” -> “图表构建器” -> 选择散点图矩阵
单独散点图:重点关注因变量Y和核心自变量X的关系。
Stata:
scatter y x
或twoway (scatter y x) (lfit y x)
//(同时添加拟合线)SPSS: “图形” -> “图表构建器” -> 选择散点图并添加拟合线
相关系数矩阵:量化变量间的线性相关程度。
Stata:
pwcorr y x1 x2 x3, sig star(0.05)
// (sig
显示p值,star
加星号)SPSS: “分析” -> “相关” -> “双变量”
本阶段输出:干净的数据集、描述性统计表、关键图表、对变量关系的初步判断。
第二阶段:分析阶段 - 核心建模
此阶段执行回归模型,并解读最直接的统计结果。
1. 模型执行
概念:使用最小二乘法(OLS)等进行参数估计。
操作(以OLS为例):
Stata:
regress y x1 x2 x3 i.cat_var
//i.
前缀表示cat_var
为分类变量,Stata会自动生成虚拟变量。SPSS: “分析” -> “回归” -> “线性”
2. 结果解读(关注三方面)
系数与显著性(Coefficients & p-values):
概念:系数衡量了在控制其他变量不变的情况下,X每变动一单位对Y的平均影响。p值(通常看
P>|t|
)用于判断这种影响是否在统计上显著(通常以p<0.05为界)。解读:“在5%的显著性水平下,x1每增加一个单位,y平均增加/减少 [系数值] 个单位。”
拟合优度(R-squared & Adj R-squared):
概念:R²表示模型所能解释的Y的变异占总变异的比例。调整R²考虑了自变量个数的影响,更稳健。
解读:“模型中的自变量共同解释了Y约 [R²值*100]% 的变异。”切忌盲目追求高R²。
模型总体显著性(F-test):
概念:检验所有自变量的系数联合是否显著不为零(即模型是否整体有用)。
解读:如果F检验的p值(
Prob > F
)小于0.05,说明模型整体是显著的。
本阶段输出:回归结果表,包含系数估计值、标准误、t值、p值、R²、调整R²、F统计量等。
第三阶段:检验阶段 - 保驾护航
这是最容易被忽略但至关重要的阶段。OLS回归建立在一系列经典假设之上,此阶段就是检验这些假设是否被违反。
1. 多重共线性(Multicollinearity)
问题:自变量之间高度相关,导致系数估计不准、标准误膨胀、结果不稳定。
检验方法:
方差膨胀因子(VIF): VIF > 10(严格标准是 > 5)表明存在严重多重共线性。
Stata: 回归后运行
vif
SPSS: 在线性回归对话框中勾选“共线性诊断”,结果会输出VIF和容差。
处理:移除相关性高的变量之一、合并变量、主成分分析(PCA)、增大样本量。
2. 异方差性(Heteroscedasticity)
问题:随机误差项的方差随观测值变化而变化,导致系数的标准误估计有偏,从而影响显著性检验(t检验和F检验)的有效性。
检验方法:
Breusch-Pagan / Cook-Weisberg 检验:
Stata: 回归后运行
estat hettest
或hettest
SPSS: 暂无内置一键操作,可通过绘制标准化残差与预测值的散点图初步判断(应无趋势)。
图形法:残差与预测值的散点图,若散点呈喇叭口、漏斗形等,则提示存在异方差。
Stata:
rvfplot
(残差与预测值图)
处理:使用稳健标准误(Robust Standard Errors)。
Stata: 在回归命令后加
, robust
,如regress y x1 x2, robust
3. 模型设定误差(Specification Error)
问题:模型函数形式错误,例如遗漏了重要变量、或应为非线性关系却用了线性模型。
检验方法:
Ramsey RESET 检验:检验模型是否遗漏了高阶项(如平方项、交互项)。
Stata: 回归后运行
estat ovtest
图形法:残差与预测值/某个自变量的散点图,若显示非线性 pattern(如U形曲线),则说明模型设定可能有问题。
处理:根据理论和图形提示,在模型中加入平方项、交互项或对变量进行转换(如取对数)。
4. 正态性(Normality of Residuals)
问题:残差严重偏离正态分布会影响系数显著性检验在小样本下的有效性。大样本下(中心极限定理)此假设重要性下降。
检验方法:
图形法:绘制残差的直方图或Q-Q图。
Stata:
predict r, residuals
->hist r
->qnorm r
统计检验:Shapiro-Wilk 检验、Kolmogorov-Smirnov 检验。
Stata:
swilk r
处理:如果因变量严重偏态,可尝试对其进行变换(如对数变换)。
本阶段输出:各种检验的统计量和p值、诊断图表。根据检验结果,你可能需要返回分析阶段甚至探索阶段,修改模型(如加入新变量、改变函数形式、使用稳健标准误),然后再次进行分析和检验,直到得到一个满意的、符合假设的模型。
总结与工作流
回归分析是一个迭代过程:
探索数据 -> 形成初步模型设想。
执行回归 -> 得到初步结果。
检验诊断 -> 发现模型问题(如异方差、非线性)。
根据诊断结果,返回第1步或第2步:修改数据(如处理异常值)、转换变量、增加/减少变量、改变估计方法(如使用
robust
)。重复此过程,直到得到一个理论上合理且统计上稳健的模型。
报告最终结果。
始终记住:统计显著性不等于经济学/实务显著性,模型的解释力比复杂的技巧更重要。 理论永远是模型的指南针。