能告诉你什么
Crosstabs 在你的设备上运行与 SPSS MULTIPLE IMPUTATION 对应的方法:FCS 或单调插补,线性回归、预测均值匹配或 logistic 模型,并汇聚描述统计与线性回归。
- 每个变量用哪种模型插补(线性回归、预测均值匹配或 logistic 回归)、用了哪些预测变量,以及插补了多少个值。
- 插补值与观测值相比如何,按每次插补和插补后的完整数据分别列出。
- FCS 链是否已收敛:查看插补值的平均值和标准差的迭代历史。
- 按 Rubin 规则汇聚的平均值与回归系数,及其标准误、自由度、缺失信息比例和相对效率。
适用场景
适合使用
- 在已有其他变量的条件下数据可视为随机缺失,而只用完整个案会损失个案或带来偏差。
- 需要平均值或线性回归系数的真实标准误,而不仅仅是一个补全的数据集。
- 希望以文件形式获得完整数据集:堆叠 CSV 含 Imputation_ 列,与 SPSS 的格式相同。
改用其他方法
- 非随机缺失(例如高收入者因与任何已观测变量无关的原因跳过收入题):插补无法纠正这种情况。
- 使用抽样权重时:插补抽取假定个案独立,因此会被阻止。请清除权重或声明为频数权重。
- 需要补齐时间序列:用替换缺失值做插值或趋势填补。
在 Crosstabs 中如何操作
- 01
打开数据并检查模式
在“统计”模式中打开文件;先运行“分析模式”可以判断能否使用单调法。
- 02
选择变量
在“缺失值”组中选择“插补缺失数据值”,并在“插补模型中的变量”中至少勾选两个变量。应包括后续分析要用的变量以及能预测缺失的变量。
- 03
设置测量级别
在“测量级别(决定插补模型)”下把每个变量设为“标度”或“分类”;分类变量用 logistic 回归插补。
- 04
选择方法与设置
插补方法:自动、FCS 或单调。标度变量模型:线性回归或预测均值匹配。设置“插补数”(默认 5)、“FCS 最大迭代次数”(默认 10)和“随机种子”,然后点击“插补”。
- 05
汇聚分析结果
在“分析插补数据(汇聚结果)”中勾选“描述统计:变量”,和/或选择“线性回归:因变量”及预测变量,选择“自由度”规则,然后点击“运行汇聚分析”。
- 06
按需下载
“下载插补数据(堆叠 CSV)”中 Imputation_ = 0 为原始数据,1 至 m 为各个完整数据集,文件只在本设备上生成。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
50 名模拟员工,包含工龄(年,无缺失)、薪资(千元)和敬业度得分。工龄不足五年的员工薪资更常缺失,敬业度为随机缺失,因此缺失模式不是单调的。使用 5 次插补、10 次 FCS 迭代和种子 20261017,运行规模小且可复现。
| 项目 | 类型 | 效应 | 缺失值 | 插补值 |
|---|---|---|---|---|
| salary | 线性回归 | tenure, engagement | 7 | 35 |
| engagement | 线性回归 | tenure, salary | 4 | 20 |
方法:完全条件设定(FCS);插补数 5。
| 插补 | N | 平均值 | 平均值的标准误 | 缺失信息比例 | 相对效率 |
|---|---|---|---|---|---|
| 原始数据 | 43 | 57.46 | 1.430 | ||
| 1 | 50 | 56.24 | 1.347 | ||
| 2 | 50 | 57.26 | 1.268 | ||
| 3 | 50 | 56.98 | 1.279 | ||
| 4 | 50 | 56.32 | 1.335 | ||
| 5 | 50 | 56.41 | 1.362 | ||
| 汇聚 | 56.64 | 1.408 | 0.130 | 0.975 |
| 项 | B | 标准误 | t | df | 显著性 | 95% 置信区间 | 缺失信息比例 |
|---|---|---|---|---|---|---|---|
| (常量) | 32.950 | 7.787 | 4.23 | 239.8 | <.001 | 17.610 to 48.291 | 0.136 |
| tenure | 0.332 | 0.432 | 0.77 | 3530.7 | .441 | −0.514 to 1.179 | 0.034 |
| salary | 0.439 | 0.187 | 2.35 | 461.0 | .019 | 0.072 to 0.805 | 0.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 下载也在本地生成。
相关过程
- 分析模式MULTIPLE IMPUTATION /IMPUTE METHOD=NONE
- 缺失值分析MVA
- 线性回归REGRESSION
- 替换缺失值RMV
- Bootstrap(自助法)BOOTSTRAP
- 免费的 SPSS 替代工具:支持范围
用你自己的数据运行多重插补
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。