SPSS 命令: SPSS MULTIPLE IMPUTATION

在浏览器中做多重插补

多重插补用若干个合理的抽取值替换每个缺失值,分别分析每个完整数据集,再合并结果,使标准误能反映缺失带来的信息损失。

免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日

能告诉你什么

Crosstabs 在你的设备上运行与 SPSS MULTIPLE IMPUTATION 对应的方法:FCS 或单调插补,线性回归、预测均值匹配或 logistic 模型,并汇聚描述统计与线性回归。

  • 每个变量用哪种模型插补(线性回归、预测均值匹配或 logistic 回归)、用了哪些预测变量,以及插补了多少个值。
  • 插补值与观测值相比如何,按每次插补和插补后的完整数据分别列出。
  • FCS 链是否已收敛:查看插补值的平均值和标准差的迭代历史。
  • 按 Rubin 规则汇聚的平均值与回归系数,及其标准误、自由度、缺失信息比例和相对效率。

适用场景

适合使用

  • 在已有其他变量的条件下数据可视为随机缺失,而只用完整个案会损失个案或带来偏差。
  • 需要平均值或线性回归系数的真实标准误,而不仅仅是一个补全的数据集。
  • 希望以文件形式获得完整数据集:堆叠 CSV 含 Imputation_ 列,与 SPSS 的格式相同。

改用其他方法

  • 非随机缺失(例如高收入者因与任何已观测变量无关的原因跳过收入题):插补无法纠正这种情况。
  • 使用抽样权重时:插补抽取假定个案独立,因此会被阻止。请清除权重或声明为频数权重。
  • 需要补齐时间序列:用替换缺失值做插值或趋势填补。

在 Crosstabs 中如何操作

  1. 01

    打开数据并检查模式

    在“统计”模式中打开文件;先运行“分析模式”可以判断能否使用单调法。

  2. 02

    选择变量

    在“缺失值”组中选择“插补缺失数据值”,并在“插补模型中的变量”中至少勾选两个变量。应包括后续分析要用的变量以及能预测缺失的变量。

  3. 03

    设置测量级别

    在“测量级别(决定插补模型)”下把每个变量设为“标度”或“分类”;分类变量用 logistic 回归插补。

  4. 04

    选择方法与设置

    插补方法:自动、FCS 或单调。标度变量模型:线性回归或预测均值匹配。设置“插补数”(默认 5)、“FCS 最大迭代次数”(默认 10)和“随机种子”,然后点击“插补”。

  5. 05

    汇聚分析结果

    在“分析插补数据(汇聚结果)”中勾选“描述统计:变量”,和/或选择“线性回归:因变量”及预测变量,选择“自由度”规则,然后点击“运行汇聚分析”。

  6. 06

    按需下载

    “下载插补数据(堆叠 CSV)”中 Imputation_ = 0 为原始数据,1 至 m 为各个完整数据集,文件只在本设备上生成。

计算示例

以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。

用示例数据试一试

数据

50 名模拟员工,包含工龄(年,无缺失)、薪资(千元)和敬业度得分。工龄不足五年的员工薪资更常缺失,敬业度为随机缺失,因此缺失模式不是单调的。使用 5 次插补、10 次 FCS 迭代和种子 20261017,运行规模小且可复现。

插补模型
项目类型效应缺失值插补值
salary线性回归tenure, engagement735
engagement线性回归tenure, salary420

方法:完全条件设定(FCS);插补数 5。

描述统计(汇聚):salary
插补N平均值平均值的标准误缺失信息比例相对效率
原始数据4357.461.430
15056.241.347
25057.261.268
35056.981.279
45056.321.335
55056.411.362
汇聚56.641.4080.1300.975
系数(汇聚):因变量 engagement
项B标准误tdf显著性95% 置信区间缺失信息比例
(常量)32.9507.7874.23239.8<.00117.610 to 48.2910.136
tenure0.3320.4320.773530.7.441−0.514 to 1.1790.034
salary0.4390.1872.35461.0.0190.072 to 0.8050.097

自由度采用 Rubin (1987)。各插补的平均 R²:0.439(不汇聚)。

结果解读

自动方法选择选用了 FCS。已观测薪资的平均值为 57.46(N = 43),而五个完整数据集的汇聚平均值为 56.64(95% 置信区间 53.87 至 59.41):根据工龄插补,补上了更常缺失的新员工的较低薪资。在汇聚回归中,薪资的 B 为 0.439(p = .019),工龄的 B 为 0.332(p = .441);薪资系数的缺失信息比例为 0.097,表示该系数的不确定性中有多大部分来自缺口而非样本量。

输出表格说明

插补设置
实际使用的方法(以及“自动”选择了哪种)、插补数、标度变量模型、最大迭代次数和随机种子。
插补模型
每个被插补的变量一行:模型类型、效应(预测变量)、缺失值数以及所有插补中的插补值总数,按插补顺序排列。
{variable}:描述统计
对每个被插补的变量,按每次插补列出原始数据、插补值和插补后的完整数据;分类变量显示计数和百分比。
迭代历史记录
FCS 方法下,按迭代绘制插补值的平均值和标准差折线图,每次插补一条线;收敛的链相互交织且无趋势。
描述统计(汇聚)
每次插补的平均值和标准误,以及汇聚行:自由度、95% 置信区间、缺失信息比例、方差相对增量和相对效率。
系数(汇聚):因变量 {variable}
每次插补的 B 与标准误,以及汇聚后的 B、标准误、t、自由度、显著性和 95% 置信区间;脚注给出所有斜率为 0 的联合 D1 检验和平均 R²(不汇聚)。

前提假设与注意事项

  • 在插补模型变量的条件下为随机缺失;遗漏驱动缺失的变量会使插补产生偏差。
  • 线性回归插补假定残差近似正态;预测均值匹配只插补实际观测到的值,适合偏态或有界变量。
  • 模型只含主效应(不含交互项);稀疏类别可能导致 logistic 模型无法收敛,脚注会给出提示。
  • 相同种子在这里会重现相同的插补,但 SPSS 使用不同的随机数流,因此数值不会与 SPSS 逐次相同。

结果如何验证

Rubin 规则与 R mice::pool(Barnard–Rubin 自由度)一致到 1e-10,与 SPSS 公式的独立实现(Rubin 1987 自由度、缺失信息比例、相对效率、D1 检验)一致到 1e-10,参考值由独立的 Python 参考实现生成。插补结果做结构性验证:60 次插补时,汇聚回归系数与 R mice(norm)相差不超过 0.35 个标准误、与 statsmodels MICE 相差不超过 0.6 个标准误;汇聚平均值与 scikit-learn IterativeImputer 和 R mice 相差不超过 0.35 个标准误;预测均值匹配只插补观测到的值。 验证证据(英文)

常见问题

应该做多少次插补?

缺失信息较少时,5 次(SPSS 默认)足以得到点估计。缺失信息比例较高,或希望 p 值稳定时,建议 20 次以上;汇聚表中的相对效率可以显示增加插补数的收益。

选 FCS 还是单调法?

“自动”在模式允许时选择单调法,否则选择 FCS。FCS 通过在变量之间循环适用于任何模式;单调法则按顺序用前面的变量逐个插补。

为什么结果与 SPSS 略有不同?

插补本身是随机的。Crosstabs 使用自己的带种子随机数流,即使种子相同,单次抽取也与 SPSS 不同;汇聚估计应在蒙特卡洛误差范围内一致,增加插补次数可以缩小这一误差。

能在插补数据上运行其他过程吗?

面板内的汇聚分析支持描述统计和线性回归。其他分析请下载堆叠 CSV,对每个插补数据集分别建模,再按 Rubin 规则合并估计值。

应选择哪种自由度规则?

Rubin (1987) 是 SPSS 报告的规则。Barnard–Rubin 小样本校正(与 R mice 相同)在完整数据样本量较小时给出更保守的自由度。

插补数据集会离开我的设备吗?

不会。它们保存在浏览器标签页的内存中,CSV 下载也在本地生成。

用你自己的数据运行多重插补

打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。

打开分析工作区

SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。