跳转到内容
← 返回现代研究方法
量化方法心理学方法约 16 分钟阅读

机器学习与心理预测

Machine Learning for Psychological Prediction

机器学习预测建模交叉验证过拟合数字足迹

不是更聪明的回归

机器学习进入心理学时,常带着一个误解:它是更高级的统计工具,能从大数据里自动挖出因果关系。

这个理解把两件事混在了一起。传统心理统计大多服务于解释:检验某个理论预测的效应是否存在、方向如何。机器学习的主流目标则是预测:给定一个人的行为记录,尽量准确地猜出他的某个未知属性或未来状态。

解释和预测并不自动互换。一个模型可以预测得很准,却说不出任何机制;一个理论上优雅的因果模型,也可能对新样本预测得一塌糊涂。统计学家布赖曼在 2001 年就把这两种取向称为统计学的"两种文化",心理学引入机器学习,实质是把第二种文化搬进了实验室。

因此,正确的问题不是"机器学习是不是比回归高级",而是"这项研究的目标是解释还是预测"。

还有一个反向的误解同样流行:预测是工程学,不算科学。事实上,准确的预测要求对测量、样本和泛化条件有极清楚的认识,许多理论正是在"说不准"的地方暴露含混。

方法学上,这两类目标对应不同的损失函数与评价契约。解释模型关心参数估计是否可识别、标准误是否诚实、效应方向是否稳健;预测模型关心在新单元上的误差分布——偏差、校准、排序能力。同一套特征矩阵可以同时服务两者,但不能用同一张"显著表"替代测试集分数,也不能用特征重要性排行榜冒充因果图。

心理学为什么需要预测文化

亚科尼和韦斯特福尔在 2017 年的经典论文中指出了一个结构性问题:心理学理论几乎从不以定量的方式接受检验。

一个理论说"威胁会增强保守态度",研究者检验的是效应是否存在,而不是理论能解释多少变异、能预测谁的态度。结果是理论之间的比较缺少共同标尺,也很少被证伪。

预测取向补上了这块短板。它要求理论把话说成可检验的数字:模型在新样本上能解释百分之几的变异?这比"显著"提供了更苛刻的淘汰标准。

预测还有独立的实用价值。谁更可能中途退出纵向研究、哪些学生有辍学风险、哪份筛查结果需要人工复核——这类问题要的是准确的预判,而不是漂亮的机制故事。

把预测精度写进理论评价,也会改变论文该报告什么。只报 p 值与效应方向,等于拒绝接受定量证伪;至少报告样本外可解释变异或分类指标,并与朴素基线对照,理论之间才有共同标尺。

核心机制:把数据藏起来一部分

机器学习与经典建模最大的操作差异,是它拒绝用同一份数据既训练又评价模型。

模型在训练数据上学到的规律,总有一部分是这份数据特有的噪声。若在同一批数据上评估,噪声会被记成功劳,表现被系统性高估。这就是过拟合。

标准对策是把数据切成训练集与测试集:模型只见训练集,最终在从未见过的测试集上评分。交叉验证把这个过程重复多轮,轮流让每一部分数据当测试集,使评估更稳定。

由此引出几个关键概念:

  • 泛化:模型在未见过数据上的表现,才是真本事。
  • 偏差—方差权衡:模型太简单会漏掉真规律,太复杂会记住噪声,调模型就是在这两端之间找位置。
  • 正则化:主动给模型复杂度加惩罚,宁可拟合得松一点,换取新样本上的稳定。
  • 调参污染:如果反复用测试集挑模型,测试集就悄悄变成了训练数据的一部分,评估再次失真。

更稳妥的做法是嵌套交叉验证或严格的三路切分:外层只负责最终评分,内层专门调参与选模型。任何特征筛选、缺失填补规则、标准化参数,都必须只在训练折内估计,再应用到验证折——顺序颠倒就是泄漏。若同一被试贡献多条观测、同一学校贡献多名学生,还必须做按单元切分:把整个被试或整所学校放进同一折,否则同单元内相关会把测试集伪装成独立样本,交叉验证分数再次虚高。心理学常见的嵌套与重复测量结构,使“随机按行切分”往往比算法选择更危险。

预测精度也有专门的度量。以筛查为例,曲线下面积(AUC)描述的是:随机抽一个有抑郁记录的人和一个没有的人,模型把前者排在更前面的概率。AUC 为 0.5 相当于抛硬币,1.0 表示完美区分。这个数字不直接告诉你在真实人群中报警有多可信——后者还取决于目标状态的基率。

除了排序能力,还要看校准:预测概率为 0.3 的人里,是否大约三成真的发生目标事件。排序很好但校准很差的模型,在决策阈值上会系统性地误导资源分配。报告时应同时给出混淆矩阵、阳性预测值与基率,而不是只秀一个 AUC。

样本量是一场不对等的战斗

机器学习模型的胃口与参数数量成正比,而心理数据的典型规模没有跟上。

一份有两百名参与者、五千个语言特征的数据集,特征远多于观测。此时模型有无数种方式把噪声拟合成"规律",即使交叉验证也未必能完全兜住。

经验上有两条对策。一是先压缩信息:用词典、主题模型或既有理论把上千个原始特征归并成少数有意义的维度。二是选简单模型:在小样本上,带正则化的线性模型常常是合理默认,而不是需要被深度学习击败的基线。第三条是显式建模测量误差:若标签本身信度有限,再堆算法只会拟合噪声标签的稳定部分。

样本量计算也开始进入预测研究。与传统功效分析不同,预测研究的样本量取决于特征维度、噪声水平与目标精度,模拟通常是更诚实的做法。

经验规则不能替代模拟:特征相关结构、类别不平衡与标签噪声都会改变"需要多少人"。更诚实的报告是:在当前样本与特征维数下,学习曲线是否已经进入平台——若再加样本几乎不抬高精度,瓶颈可能在标签与测量,而不在算法。报告学习曲线时,应同时画出训练误差与验证误差随样本量的变化:两条曲线若仍大幅分叉,说明方差主导,继续加压正则或降维比换更深网络更划算;若两条曲线已贴近却都停留在低水平,说明偏差或标签噪声主导,换特征定义比换优化器更诚实。

预测文化如何约束研究者自由度

传统分析中,研究者有无数隐形选择:删不删异常值、控制哪些变量、用哪种量表计分。每一个选择都微小而合理,叠加起来却能让"显著"几乎必然出现。

预测框架把这场游戏改了规则。模型的好坏由它在没见过的人身上准不准来裁决,事后讲的故事无法修改这个分数。

这并不消除研究者的选择,只是把选择的位置挪到了台前:特征怎么构造、标签怎么定义、切分怎么做,都必须预先写清并接受检验。

预注册与分析计划在预测研究里同样有用,但对象不同:要锁定的是切分种子策略、调参网格、主指标与失败规则,而不是某一个回归系数的方向假设。模型族可以保留灵活性,评价契约不能事后改写。

三个标志性案例

数字足迹可以预测人格。科辛斯基等人 2013 年分析了约五万八千名志愿者的脸书点赞记录,仅凭这些公开行为就能以较高精度推断敏感属性:判断男性性取向的准确率约 88%,区分非裔与欧裔约 95%,区分民主党与共和党支持者约 85%。这项研究开启了计算心理测量时代,也预示了它带来的隐私风险。方法学上,它还示范了高维稀疏行为特征在大样本下的可预测性——同一套路在小样本问卷数据上通常会立刻撞上过拟合墙。

语言可以预测临床状态。艾希施泰特等人 2018 年获得了 683 名急诊患者的授权,其中 114 人的病历中有抑郁诊断。仅用这些患者此前的脸书语言建立的模型,区分有无抑郁记录的曲线下面积约 0.69,而用年龄、性别、种族等人口学变量的模型只有约 0.57。社交媒体语言携带了人口学变量没有的心理信号。

但人生结局的预测有很低的天花板。萨尔加尼克等人 2020 年组织了"脆弱家庭挑战":160 支队伍用同一项追踪四千多个家庭十五年的高质量数据,预测孩子的六项人生结局。结果令人清醒——即使动用各类机器学习方法,最好的预测也只是略优于一个简单的基准模型。社会结局中混杂着大量偶然与未观测因素,更多数据和更花哨的算法都不能突破这一上限。

常见误用

把变量重要性读成因果。模型报告某个特征"最能预测抑郁",只说明它携带预测信息。它可能是症状的结果而非原因,也可能只是某个第三变量的代理。预测重要性排行榜不是机制清单。

数据泄漏。如果预处理、特征筛选或量表标准化在切分数据之前做,测试集的信息就渗进了训练过程,精度虚高。这是应用论文中最常见也最隐蔽的错误之一。

追求复杂算法。在心理学常见的中等样本上,复杂的深度学习常常打不过一个规范的弹性网络回归。算法越复杂,调参空间越大,过拟合和不可复现的风险越高。

忽视标签质量。模型预测的是标签,不是构念。用"医疗花费"作"健康需求"的标签,模型就会忠实地复制医疗系统中的不平等——奥伯迈耶等人 2019 年在《科学》上展示了美国一个广泛使用的医疗管理算法正是这样系统性低估了黑人患者的需求。心理标签如"抑郁""敬业"同样充满测量噪声,模型上限永远受标签质量约束。

可重复性缺口。随机种子、库版本、切分方式都会影响结果。不共享代码和预处理流程的机器学习研究,几乎无法被真正复核。

把相关时间窗当成未来。用同一时段甚至事后才可知的变量去"预测"结局,分数会虚高。时间序列与纵向设计必须按时间前向切分:只用过去预测未来,否则所谓预测只是同期相关的化妆。

用总准确率掩盖类别不平衡。当阳性基率只有百分之几,一个永远预测阴性的分类器也能拿到很高准确率。此时应以召回、精确率、F1 或决策曲线等对基率敏感的指标为主,并报告在给定阈值下的阳性预测值;否则“准确率九成”只是基率的回声,不是模型的功劳。

方法的边界

预测模型首先回答"准不准",不回答"为什么"。需要机制结论时,仍要回到实验与因果推断。

模型只在其训练分布内可靠。在 WEIRD 样本的数字足迹上训练的模型,面对不同平台、文化和年代的用户,可能失效得很安静——不报错,只是不再准。

部署场景还会改变被预测的系统本身。一个用来识别"高风险学生"的模型一旦被用来分配资源,学生和学校的应对行为就会改变数据的生成过程,昨天的预测关系可能明天就失效。

最后,心理构念本身往往是流动和有争议的。把一个多面构念压缩成一个可优化的预测目标,本身是一种理论选择,值得被写明和争论,而不是藏在技术细节里。

分布偏移是静默失效的主要形式:平台改版、文化差异、队列更替都会改变特征与标签的联合分布。模型在原测试集上仍可能看起来合格,只因测试集与训练集同分布。跨队列、跨平台的外部验证,才是预测主张的硬通货。外部验证还应预先写明失败标准:AUC 掉多少、校准斜率偏到何处,就算复制失败。没有失败标准的“我们也试了另一个样本”,仍是叙述而非检验。

如何阅读一篇预测研究

先看评估是否在真正独立的测试集上完成,预处理是否发生在切分之后。

再看基线:复杂模型比一个简单回归或平均水平预测好多少?增量小,故事就不该大。

然后检查标签:它测量的是哪个构念的哪个代理,误差有多大。

最后问外推范围:训练样本是谁,结论能落到谁头上,模型部署后会不会反过来改变它要预测的行为。

再核对一件事:作者有没有报告与简单基线的增量。若弹性网络只比均值预测或逻辑回归高出可忽略的一点,故事应收敛到测量与样本限制,而不是算法胜利宣言。也要核对切分是否尊重聚类与时间:同家庭、同班级、同会话的观测若被拆进训练与测试两侧,独立测试集的承诺就已经破产。

跨域连接

  • 机器学习概览:心理学借用的训练—测试切分、交叉验证与正则化都来自这套工程传统,但两个领域面对的数据结构不同。心理数据通常样本小、噪声大、标签有测量误差,因此心理预测更依赖朴素而稳健的方法,而不是参数更多的模型——算法排行榜的结论不能直接搬进心理实验室。
  • 统计学:预测与解释的分裂在统计学内部早已上演,布赖曼的"两种文化"之争说的就是同一件事。经典回归假设一个数据生成机制再估计其参数,机器学习只关心输出端准不准——把后者的特征重要性读成前者的参数估计,是当前应用文献里最高频的概念错位。
  • 计量经济学基础:经济学同样经历了"预测还是解释"的路线之争,其教训是预测政策问题和因果政策问题是两类问题。估计"谁最可能辍学"用预测模型就够了,而回答"助学金能否降低辍学率"必须回到识别策略——混淆两者会让学校把干预预算花在错误的依据上。
  • 筛查与早期发现:心理预测模型本质上是一种筛查工具,因此同样受筛查算术支配。当目标状态在人群中占比很低时,即使模型准确率看起来很高,阳性者中真阳性的比例也可能低得无法接受——自杀风险预测直面这一困境,精度数字必须和基率一起报告。

参考文献

  1. Yarkoni, T., & Westfall, J. (2017). Choosing prediction over explanation in psychology: Lessons from machine learning. Perspectives on Psychological Science, 12(6), 1100-1122. https://doi.org/10.1177/1745691617693393
  2. Breiman, L. (2001). Statistical modeling: The two cultures. Statistical Science, 16(3), 199-231.
  3. Kosinski, M., Stillwell, D., & Graepel, T. (2013). Private traits and attributes are predictable from digital records of human behavior. PNAS, 110(15), 5802-5805. https://doi.org/10.1073/pnas.1218772110
  4. Eichstaedt, J. C., et al. (2018). Facebook language predicts depression in medical records. PNAS, 115(44), 11203-11208. https://doi.org/10.1073/pnas.1802331115
  5. Salganik, M. J., et al. (2020). Measuring the predictability of life outcomes with a scientific mass collaboration. PNAS, 117(15), 8398-8403.
  6. Obermeyer, Z., Powers, B., Vogeli, C., & Mullainathan, S. (2019). Dissecting racial bias in an algorithm used to manage the health of populations. Science, 366(6464), 447-453.

延伸阅读

  1. Shmueli, G. (2010). To explain or to predict? Statistical Science, 25(3), 289-310.
  2. Mullainathan, S., & Spiess, J. (2017). Machine learning: An applied econometric approach. Journal of Economic Perspectives, 31(2), 87-106.
  3. Kleinberg, J., Ludwig, J., Mullainathan, S., & Obermeyer, Z. (2015). Prediction policy problems. American Economic Review, 105(5), 491-495.