通用方法

SPSS回归分析_哑变量

案例数据

300 行 × 5 列,4 个定量自变量 + 1 个定量因变量(绩效得分),刻意让其中一个自变量非显著,便于演示"显著 vs 非显著"对照解读。

文件名linear_reg.xlsx
样本量300 行
变量数5 列(4 自变量 + 1 因变量)
数据用途员工绩效影响因素建模:工作年限 / 培训时长 / 加班 / 团队规模 → 绩效得分
变量说明因变量:绩效得分(0-100 分);自变量:工作年限、培训时长、每月加班小时、团队规模(均为定量)。

完整案例

1. 背景

某 HR 部门要建立"员工绩效得分"的影响因素模型,候选变量有 4 个:工作年限、年度培训时长、每月加班小时、所在团队规模。研究目标:①整体上 4 个变量能解释多少绩效变化(R²)?②哪些变量显著影响绩效、影响方向是什么?③哪些变量"看上去相关但实际不显著",需要从模型中剔除?这是线性回归最经典的多变量影响因素分析场景。

2. 理论与公式

线性回归通过最小二乘估计自变量对定量因变量的影响,哑变量用于把分类变量转换为可进入模型的 0/1 变量。

线性模型

用于表示多个自变量对定量因变量的线性影响。

最小二乘目标

估计系数时最小化残差平方和。

哑变量编码

k 个类别通常生成 k-1 个哑变量。

方差膨胀因子

用于判断自变量之间的共线性程度。

3. 数据结构

每行 1 位员工,4 个自变量 + 1 个因变量全部为定量变量(连续 / 计数)。本案例不涉及哑变量;若自变量中有分类变量(如学历分级),SPSSzero 会自动生成哑变量并以参照组为基准对比,详见下方"哑变量编码"小节。

变量名角色单位 / 取值范围
绩效得分因变量 Y分(0-100)
工作年限自变量 X₁年(0-25)
培训时长自变量 X₂小时 / 年
每月加班小时自变量 X₃小时 / 月
团队规模自变量 X₄

4. 操作步骤

  1. 登录 SPSSzero,进入 工作台 → 上传 linear_reg.xlsx
  2. 左侧方法栏 → 通用方法 → 点击 线性回归
  3. 绩效得分 拖入 因变量 Y
  4. 工作年限 / 培训时长 / 每月加班小时 / 团队规模 4 个变量拖入 自变量 X
  5. (可选)勾选 保存残差和预测值:把 ŷ 和残差 ε 回写到数据集,便于残差诊断
  6. 点击 开始分析
线性回归变量选择截图
变量已放置:Y = 绩效得分;X = 4 个自变量(实际截图待补)

5. 结果表格与结果阅读

结果区会按以下顺序输出:①主结果表(含 B / SE / Beta / t / p / VIF / 容忍度)②模型汇总(R / R² / 调整 R² / RMSE / DW / AIC / BIC)③ANOVA 表 ④系数森林图。下面展示主结果表 + 模型汇总两张紧凑三线表。

表1 线性回归分析结果(n=300,因变量 = 绩效得分)
变量B标准误βtpVIF
常数59.3790.94862.6220.000***
工作年限1.5100.0610.75324.8930.000***1.012
培训时长0.1940.0150.39412.9890.000***1.017
每月加班小时-0.2570.035-0.225-7.4370.000***1.014
团队规模-0.0070.034-0.006-0.2110.8331.016
* p<0.05 ** p<0.01 *** p<0.001;所有 VIF<5,不存在共线性问题

3 项显著(工作年限/培训时长/每月加班)+ 1 项非显著(团队规模)。标准化系数 β 用于跨变量比较:|β| 越大影响越强 → 工作年限(0.753) > 培训时长(0.394) > 每月加班(-0.225)。

表2 模型汇总 + ANOVA
指标数值
0.733(4 个自变量共解释 73.3% 的绩效变异)
调整 R²0.730
F 检验F(4, 295) = 202.757, p<0.001(模型整体显著)
RMSE4.421(模型预测误差约 4.4 分)
D-W2.074(接近 2,无明显自相关)
AIC / BIC1748.187 / 1766.706(用于和其他模型对比)

读结果先看 F 检验(模型是否显著)→ 再看 R²(解释能力)→ 再看系数表(各变量贡献)→ 最后 D-W 与 VIF 验证模型假设。

7. 文字分析

从表 1 和表 2 可得出以下结论:

  • 模型整体显著:F(4, 295) = 202.76, p<0.001,4 个自变量联合可解释绩效得分 73.3% 的变化(R²=0.733),模型解释力较强;
  • 工作年限(B=1.510, β=0.753, p<0.001)正向影响最强 —— 多 1 年工龄绩效平均高 1.51 分;
  • 培训时长(B=0.194, β=0.394, p<0.001)正向显著 —— 每多 10 小时培训绩效提升约 1.94 分;
  • 每月加班小时(B=-0.257, β=-0.225, p<0.001)负向显著 —— 多 10 小时加班绩效反而下降 2.57 分(提示加班不利于绩效);
  • 团队规模(B=-0.007, p=0.833)未显著 —— 在控制了其他变量后,团队规模对绩效无影响,可考虑从模型中剔除以提高简洁性。

共线性诊断:所有 VIF<1.02,远低于 5 的警戒值,不存在多重共线性;DW=2.074 ≈ 2,残差无自相关。模型假设满足,结论可信。

回归方程:
绩效得分 = 59.379 + 1.510 × 工作年限 + 0.194 × 培训时长 − 0.257 × 每月加班小时 − 0.007 × 团队规模

8. 剖析提醒

如果 X 是分类变量,应先转换为哑变量,并在解释时说明参照组;不要把类别编码直接当作连续变量解释。

方法定位

线性回归用于研究一个或多个自变量对定量因变量的影响关系。它常用于回答“哪些因素会影响结果变量”“影响方向是正向还是负向”“模型能够解释多少因变量变化”。

回归分析需要明确因变量 月薪、自变量 X 和控制变量。相关分析只能说明变量之间共同变化,回归分析则进一步建立预测或解释模型。

数据与变量准备

线性回归的因变量应为定量变量,自变量可以是定量变量,也可以是经过哑变量处理后的分类变量。控制变量用于减少混杂因素影响。

变量角色 要求 示例
因变量 月薪 定量变量,通常只放一个 满意度、收入、绩效
自变量 X 核心解释变量 服务质量、价格感知
控制变量 需要纳入但非核心解释的变量 年龄、学历、地区
哑变量 分类变量转换后的 0/1 变量 女性=1,男性=0

若分类变量有 k 个类别,一般设置 k-1 个哑变量,并保留一个类别作为参照组。

SPSSzero 操作建议

选择线性回归,将因变量放入 月薪,将核心自变量放入 X,将需要控制的变量放入控制变量。若需要保存残差或预测值,可在参数区勾选相应选项。

如果分类变量需要进入模型,建议先在数据处理中生成哑变量,再放入回归模型。不要直接把“1、2、3”这样的类别编码当成连续数值解释。

结果解读

输出内容 解读重点
模型摘要 R 方和调整 R 方,表示解释度
F 检验 判断模型整体是否显著
系数表 判断各变量影响方向和显著性
标准化系数 比较不同自变量影响强弱
VIF 判断多重共线性
残差诊断 判断模型假设是否明显违背

系数 B 大于 0 表示正向影响,小于 0 表示负向影响。p 值显著表示在控制其他变量后,该自变量与因变量存在显著线性关系。

哑变量解释

哑变量的系数表示相对于参照组的差异。例如以男性为参照组,女性哑变量的系数为 0.35,表示在控制其他变量后,女性组因变量均值比男性组高 0.35 个单位。

解释哑变量时必须说明参照组,否则系数方向没有明确含义。

写作模板

可写为:“以 xx 为因变量,xx 为核心自变量,并控制 xx 等变量建立线性回归模型。结果显示,模型整体通过 F 检验,调整 R 方为 xx。核心自变量的回归系数为 xx,p 值为 xx,说明其对因变量具有显著正向或负向影响。”

若包含哑变量,可补充:“以 xx 类别为参照组,yy 类别哑变量系数为 xx,说明该类别相较参照组在因变量上更高或更低。”

常见问题

有相关关系但回归不显著怎么办

相关分析是两两关系,回归分析是在同时控制其他变量后的关系。若加入多个自变量后不显著,可能与共线性、控制变量、样本量或理论设定有关。

R 方多少才算好

R 方没有统一标准,应结合学科、数据类型和研究目的解释。社会科学中较低 R 方也可能有理论意义。

VIF 值过高怎么办

说明自变量之间可能存在多重共线性。可检查变量定义、删除高度重复变量、合成维度,或使用岭回归等方法。

是否需要先做相关分析

相关分析有助于初步了解变量关系和共线性风险,但不能替代回归模型。正式结论应以回归结果为准。

残差和预测值有什么用

残差可用于检查异常值、异方差和正态性;预测值可用于后续诊断或业务预测。只有后续需要诊断或建模时才建议保存。

与相近方法区分

研究目标 推荐方法
两个变量关系强弱 相关分析
定量因变量影响因素 线性回归
二分类因变量影响因素 二元 Logit 或 Probit
处理多重共线性 岭回归、Lasso 或变量筛选