1. 项目概述与核心问题
在心理学、教育学、社会学等领域的纵向研究中,增长曲线模型是我们追踪个体随时间变化轨迹的利器。但现实中的数据往往“千疮百孔”——被试中途退出、问卷漏答、设备故障,都会导致数据缺失。面对这些缺失值,是简单粗暴地删除个案,还是想办法“猜”一个合理的值填进去?不同的选择,可能直接导致研究结论南辕北辙。过去十年,我处理过大量带有缺失值的追踪数据,一个深刻的体会是:缺失值处理不是一道可做可不做的“附加题”,而是决定模型结果可信度的“生死线”。
近年来,机器学习风头正劲,KNN、随机森林等插补方法因其灵活、自动化程度高,被许多研究者,尤其是刚入门的同行,视为处理缺失值的“银弹”。大家似乎有一种直觉:更复杂、更“智能”的方法理应表现更好。但事实果真如此吗?特别是在增长曲线模型这种具有特定数据结构(重复测量、个体内相关)和潜变量特性的场景下,传统基于模型的方法(如全信息最大似然FIML)与新兴的机器学习插补法,孰优孰劣?这正是我们本次大规模蒙特卡洛模拟研究试图回答的核心问题。我们系统对比了六种方法:两种传统方法(FIML, 两阶段稳健估计TSRE)和四种机器学习方法(KNN, missForest, miceForest, micecart),在多种数据条件(不同分布、样本量、缺失率、缺失机制)下的表现。结果有些出人意料,但也提供了非常扎实的选型指南。
2. 缺失数据机制与评估准则:理解游戏的规则
在深入方法对比之前,必须厘清两个基石概念:缺失数据机制和我们如何评判方法的好坏。这就像比赛前必须明确规则和评分标准。
2.1 缺失机制:MAR与MNAR的本质区别
缺失数据机制决定了缺失是否“任性”。Rubin的经典框架将其分为三类,我们的研究聚焦于后两种:
- 完全随机缺失(MCAR):缺失与任何已观测或未观测的变量都无关。好比随机撕掉问卷的几页,这是最理想但现实中极少见的情况。
- 随机缺失(MAR):缺失只依赖于已观测到的数据。例如,在收入调查中,高收入群体更可能拒绝回答收入问题,但我们已经观测到了他们的职业和教育水平,这些信息足以解释缺失的原因。MAR是可忽略的,因为我们可以基于已观测信息对缺失进行无偏估计。
- 非随机缺失(MNAR):缺失依赖于未观测到的值本身。例如,抑郁症患者病情越严重,越可能缺席后续的评估。此时,缺失机制与模型本身相关,不可忽略。MNAR是分析中最棘手的问题。
我们的模拟同时涵盖了MAR和MNAR,因为现实世界的缺失往往是两者的混合,而方法在两种机制下的表现可能截然不同。
2.2 评估指标:偏差与精度并重
我们采用两个核心指标来量化各种方法的性能:
- 相对偏差(Relative Bias, RB):衡量参数估计值的平均值与真实参数之间的差异,以百分比表示。公式为:
RB = 100% × (平均估计值 - 真实值) / 真实值。这个指标告诉我们方法是否“瞄得准”。根据文献共识,|RB| < 10%通常被认为是可接受的偏差水平。 - 均方误差(Mean Squared Error, MSE):衡量估计值与真实值之间差异的平方的平均值。公式为:
MSE = 平均( (估计值 - 真实值)^2 )。MSE同时捕捉了估计的偏差(准确性)和方差(精确性)。一个MSE更小的方法,意味着它的估计结果不仅更接近靶心,而且每次射击的落点也更集中。
注意:在模拟研究中,我们通常更关注偏差,因为高偏差意味着系统性的错误,可能导致错误的科学结论。而高方差虽然降低精度,但通过增加样本量可以缓解。因此,在结果解读时,应优先考虑偏差在可接受范围内的方。
3. 参战方法详解:传统精兵与机器学习新锐
我们对比的六种方法,可以看作两个流派的代表:基于模型的“传统精兵”和基于数据驱动的“机器学习新锐”。
3.1 传统方法:深刻理解模型结构
全信息最大似然估计(FIML)这是结构方程建模(SEM)框架下的主流方法。它不进行插补,而是在似然函数中直接使用所有观测到的数据信息。对于每个个体,FIML基于该个体所有观测到的变量构建一个特定的似然函数,然后将所有个体的似然函数相加得到总似然函数并进行最大化。
- 核心优势:完全基于预设的增长曲线模型,能最有效地利用观测信息,在模型设定正确时,对于MAR数据能产生无偏且有效的估计。
- 核心劣势:其表现严重依赖于模型设定的正确性(包括分布假设)。如果数据严重非正态或模型误设,估计结果可能产生偏差。
两阶段稳健估计(TSRE)这是一种为处理非正态数据而设计的稳健估计方法。它分为两个阶段:
- 阶段一:使用一种对异常值不敏感的稳健方法(如基于中位数的估计)来获取初始的参数估计值。
- 阶段二:利用第一阶段得到的参数,为每个观测计算一个“权重”,这个权重会降低异常值的影响,然后使用加权后的数据再进行一次标准的模型估计(如ML估计)。
- 核心优势:对数据非正态性(如偏态、厚尾、异常值)具有很好的稳健性,在数据分布与正态假设偏离时,往往比FIML表现更稳定。
- 核心劣势:计算相对复杂,且对于某些极端类型的MNAR机制,其稳健性可能也会打折扣。
3.2 机器学习插补方法:灵活的数据模式挖掘者
这四种方法都需要先对缺失值进行插补,生成完整数据集,然后再对完整数据拟合增长曲线模型。
K最近邻插补(KNN)原理非常直观:对于一个有缺失值的个案,在数据集中找到与它最相似的K个完整个案(“邻居”),然后用这K个邻居在该变量上的观测值的均值或众数来填补缺失值。相似度通常用欧氏距离等度量。
- 超参数:邻居数量K。我们通过网格搜索发现K=5在本研究设定下最优。
- 优势:简单,无需对数据分布做假设。
- 劣势:对于MNAR数据效果差,因为缺失值本身的模式可能无法通过观测到的相似性来捕捉;计算量随样本量增大而增加;且是单次插补,无法反映插补的不确定性。
随机森林插补(missForest)这是一种基于随机森林的非参数方法。它循环地对每个含缺失值的变量进行插补:将当前变量作为因变量,其他变量作为自变量,训练一个随机森林模型来预测缺失值。它通过迭代直至插补值稳定。
- 超参数:随机森林中树的数量。我们确定10棵树在此场景下已足够。
- 优势:能捕捉复杂的非线性关系和交互作用,对混合类型数据(连续、分类)处理能力强。
- 劣势:计算成本高;对于MNAR机制,特别是当缺失与未观测的潜变量有关时,表现不佳;同样是单次插补。
基于链式方程的多重插补(miceForest)这是经典MICE框架与随机森林的结合。MICE的原理是,为每个含缺失值的变量分别设定一个插补模型(如回归模型),然后进行多轮迭代插补,最终产生多个(如m=5)完整的数据集。miceForest就是用随机森林作为MICE中每个变量的插补模型。
- 超参数:随机森林中树的数量。我们设定为10。
- 优势:多重插补能更好地反映插补的不确定性,通过合并多个数据集的结果可以得到更准确的标准误;随机森林作为条件模型灵活性高。
- 劣势:计算量巨大(需要生成多个数据集并拟合多次模型);在增长曲线模型中,若插补模型未能正确刻画纵向数据的自相关结构,插补质量会下降。
基于分类回归树的多重插补(micecart)与miceForest类似,它也是在MICE框架内,但使用分类与回归树(CART)作为每个变量的插补模型。CART通过递归分区数据来建立预测模型。
- 超参数:树的最大深度或节点数。我们设置最大节点数为5以防止过拟合。
- 优势:CART模型易于解释,能自动处理交互效应。
- 劣势:树模型可能不稳定,对数据的小变化敏感;同样存在MICE框架在纵向数据上可能模型设定不当的问题。
实操心得:机器学习插补方法的一个共同特点是,它们的插补模型(随机森林、CART)是独立于我们最终关心的科学模型(增长曲线模型)的。这就产生了一个“模型不匹配”的风险:插补阶段挖掘的数据关系,未必是增长曲线模型中我们关心的潜变量增长关系。而FIML和TSRE是“模型一致”的,直接从目标模型出发处理缺失,这是其关键的理论优势。
4. 模拟实验设计与核心发现
为了公平比较,我们设计了一个覆盖140种不同条件的蒙特卡洛模拟研究,每种条件重复500次,总计进行了175万次独立分析。我们操纵了以下因素:
- 样本量(N): 200, 500, 1000
- 缺失率: 2.5%, 15%, 30%
- 数据分布:正态分布、t分布(厚尾)、对数正态分布(正偏态)、含5%异常值的正态分布
- 缺失机制: MAR, MNAR 我们以潜斜率方差(σ²S)的估计为例展示核心结果,因为它常是研究者关注的重点。
4.1 整体战况:传统方法优势明显
对于MAR数据:传统方法,尤其是TSRE,整体表现最佳。当数据服从正态、t分布或含少量异常值时,FIML与TSRE旗鼓相当,偏差最小。而当数据呈偏态(如对数正态分布)时,TSRE的稳健性优势就凸显出来,显著优于FIML。相比之下,四种机器学习方法在多数情况下表现逊色,其偏差和MSE普遍更高。它们的性能排序大致为:micecart>miceForest>missForest>KNN。
对于MNAR数据:FIML成为了综合表现最好的方法。尽管在MNAR机制下,所有方法都会产生偏差,但FIML的偏差程度相对最小。机器学习方法在MNAR下的表现波动很大,且通常更差。一个有趣的例外是,在样本量极大(N≥1000)、缺失率很低且数据为高度偏态的对数正态分布时,missForest(单次插补)的表现可以媲美甚至略微超过FIML。
4.2 关键因素如何影响方法表现
样本量的影响:
- 对于MAR下的正态/t分布数据,FIML和TSRE的表现不受样本量影响,始终稳定。而机器学习方法需要大样本(N≥500)才能将偏差降低到可接受范围,且当缺失率高时,增大样本量对它们帮助有限。
- 对于MNAR数据,所有方法的准确性都随样本量增加而有所提升,但提升幅度有限。关键在于,只有缺失率很低时,增大样本量才能帮助所有方法获得可接受的偏差。
缺失率的影响:
- 这是最具有决定性的因素之一。对于MAR数据,FIML和TSRE对缺失率表现出惊人的稳健性,即使缺失率达到30%,其偏差仍能保持在5%以内。而机器学习方法的性能随着缺失率上升急剧恶化,仅在缺失率低于15%时勉强可用。
- 对于MNAR数据,结论更加严峻:无论用哪种方法,当缺失率超过15%后,所有方法产生的偏差都可能大到无法接受(>20%-30%)。此时,选择FIML只是“矮子里面拔将军”。
数据分布的影响:
- 数据非正态性会放大不同方法间的差异。对于偏态或含异常值的数据,TSRE的稳健性使其成为处理MAR数据的首选。FIML在非正态数据下表现会有所下降。
- 机器学习方法,特别是基于树的
missForest和micecart,理论上应能处理非正态数据,但我们的模拟显示,在增长曲线模型的背景下,它们并未能将其灵活性转化为估计准确性的优势。
核心发现:这项研究最颠覆常识的结论是,在增长曲线建模这一特定任务中,复杂的机器学习插补方法并未能击败基于模型的传统方法。TSRE和FIML凭借其与目标模型的一致性,在大多数情况下提供了更准确、更稳健的参数估计。机器学习方法仅在数据量极大、缺失极少、且数据分布极端偏态的特定MNAR场景下,才显示出应用价值。
5. 实证案例:当理论遇上现实
我们使用美国国家青年纵向调查(NLSY97)中399名学童的数学成绩(PIAT)四年追踪数据作为实例。数据显示出非正态特征,且每年有5.5%至12.3%不等的缺失。
我们分别用六种方法处理缺失后拟合线性增长曲线模型。结果(如表3所示)生动地展示了方法选择可能如何影响结论:
- 所有方法在潜截距均值、潜斜率均值等固定效应上的估计非常接近。
- 然而,在关键的随机效应——潜斜率方差(σ²S)上,
micecart方法得出的估计值不显著(p > 0.05),这意味着它认为学生之间的数学成绩增长率没有显著差异。 - 而其他五种方法,包括FIML、TSRE和另外三种机器学习方法,均得出潜斜率方差显著的结论。
这个分歧至关重要。如果根据micecart的结果,研究者可能会得出“所有学生进步速度相同”的结论,从而忽略了对影响成长速度的个体因素(如教学资源、家庭背景)的进一步探索。这凸显了在分析前,基于数据特征和模拟证据谨慎选择缺失数据处理方法的必要性。在本例中,考虑到数据非正态、缺失率低于15%,根据模拟结果,TSRE是最为推荐的方法。
6. 方法选择指南与实操建议
基于以上研究发现,我为从事纵向数据分析和增长曲线建模的研究者提供以下实操指南:
6.1 决策流程图:我该用哪种方法?
首先,你需要判断缺失机制。虽然统计上无法严格检验MAR还是MNAR,但可以通过逻辑推理和敏感性分析来评估。
如果确信或假设为MAR(可忽略缺失):
- 首选TSRE。特别是当你的数据呈现偏态、存在异常值或你怀疑非正态时,TSRE的稳健性是最好的保障。
- 如果数据近似正态,FIML是一个高效且准确的选择,与TSRE效果相当。
- 现阶段不建议常规使用机器学习插补方法(KNN, missForest, miceForest, micecart)处理增长曲线模型中的MAR数据。
如果怀疑是MNAR(非随机缺失):
- 首先警醒:任何标准方法(包括本研究中的所有方法)在MNAR下都可能产生有偏估计。当缺失率较高(如>15%)时,结论需极度谨慎。
- 如果缺失率较低(<15%)且必须处理:可以考虑使用FIML,它是本研究中相对最好的选择。
- 仅在极端特定条件下考虑机器学习:只有当你的样本量非常大(N > 1000),缺失率极低(<5%),且数据高度偏态时,才可以尝试
missForest,并与FIML的结果进行比较。 - 寻求更高级的模型:对于严重的MNAR,更负责任的做法是使用选择模型或模式混合模型等专门为MNAR机制设计的模型,这些模型明确地对缺失机制进行建模。
6.2 实操注意事项与常见陷阱
- 预处理至关重要:在进行任何复杂的缺失值处理前,务必进行全面的数据探索。可视化缺失模式、计算缺失率、检查缺失与已观测变量的关系,这些步骤能为你判断缺失机制提供关键线索。
- 机器学习不是“即插即用”:即使决定尝试机器学习插补,也绝不能简单调用默认函数。必须进行严格的超参数调优。我们的研究就表明,不同的K值、树的数量会显著影响结果。建议使用交叉验证在完整数据块上确定最优超参数。
- 报告与敏感性分析:在论文中,必须详细报告你处理缺失数据的方法、理由以及超参数设置。对于MNAR的担忧,强烈建议进行敏感性分析。例如,你可以假设缺失值比观测值更好(或更差)一个标准差,然后重新分析,看核心结论是否发生改变。这能评估你结论对缺失数据假设的稳健性。
- 软件实现:
- FIML:在Mplus、
lavaan(R)、OpenMx等SEM软件中可直接实现,在模型语句中直接使用原始数据即可。 - TSRE:可通过R包
semTools或Mplus的MLR、MLM估计器(它们与TSRE理念类似,是稳健估计)来近似。 - 机器学习插补:R中的
missForest,mice(可设置method = “rf”或“cart”),VIM等包提供了丰富实现。
- FIML:在Mplus、
7. 讨论:为什么机器学习在这里“失灵”?
我们的发现与许多推崇机器学习插补的文献相左,这背后有深刻原因:
- 模型一致性与目标导向:FIML和TSRE是“模型驱动”的,它们从我们最终关心的科学模型(增长曲线模型)出发,直接基于该模型的假设处理缺失。而机器学习方法是“数据驱动”的,其插补模型(如预测一个时间点分数的随机森林)与最终的科学模型是割裂的。当缺失与潜变量(如无法直接观测的“数学能力潜质”)相关时,机器学习模型无法捕捉这种关系,因为它根本“看不到”这个潜变量。
- 研究场景的差异:许多证明机器学习优越性的研究,其场景是横截面数据、完全随机缺失(MCAR)或预测任务。而增长曲线模型是纵向数据,存在复杂的自相关结构,且我们关注的是模型参数估计的准确性,而非单纯的插补值准确性。在这个细分场景下,传统基于模型的方法更具优势。
- “黑箱”与可解释性:机器学习插补过程复杂,难以诊断和解释。如果插补后模型结果出现问题,研究者很难追溯是数据本身的问题还是插补过程引入的伪影。而FIML等方法的理论基础坚实,问题更易排查。
这项研究告诉我们,在统计建模中,没有放之四海而皆准的“最佳方法”。新潮的技术不一定能解决老问题,尤其是在问题被明确定义、且有成熟理论框架的领域。对于增长曲线模型中的缺失数据,基于模型的传统方法仍然是更可靠、更值得信赖的基石。选择方法时,应基于对数据缺失机制的理解、数据本身的特征以及研究目标,而非技术的时髦程度。