一张表里漏了几格,最省事的办法是填上平均数。但这等于假装答案已经确定,往往会低估结果的不确定性。这篇实践从零用 R 重写 MICE(链式方程多重插补),把看似“自动补数”的黑箱拆成可以逐步检查的流程。
作者先为每个空缺随机放入初始值,再依次处理有缺失的列:从该列已有数据中重复抽样,用其他列和结果变量作预测因素;连续变量拟合线性回归,二元变量拟合逻辑回归。新填出的值随即交给下一列使用,如此循环,并生成多份完整数据。每份数据分别分析后,再用 Rubin's rules 合并估计,同时计入单份数据的抽样误差和不同填补结果之间的差异。
作者称自制版本最终接近成熟的 mice R 包,但也谨慎表示可能只是运气。这不是新的插补算法,价值在于把每一步摊开:读者能看清随机性从哪里进入,也能明白结果仍依赖缺失机制等无法完全由数据验证的假设。