第9章 模型的比较、验证与选择¶
学习目标¶
- 掌握评估单个模型质量的指标
- 理解模型间比较的方法
- 学会进行参数恢复与模型恢复验证
- 在多个竞争性模型中做出科学选择
关键概念¶
- 模型拟合度:模型预测与真实数据的吻合程度
- 复杂度惩罚:考虑参数数量的模型优劣指标
- 模型间比较:在多个模型中选择最优
- 参数恢复:验证参数估计的可靠性
- 模型恢复:验证模型本身是否能被有效区分
正文¶
为什么要做模型比较与选择?¶
对于同一种现象,存在多种不同的解释(理论模型);不同的解释有不同的数学表达(计算模型)。不同的模型都可以解释这个现象,那么我们怎么知道哪种模型能够更好地解释现象?
- 地心说与日心说都可以解释太阳东升西落的现象。为什么日心说优于地心说?
- 资本主义与共产主义都是建设社会的方法。为什么我们选择共产主义?
理论模型可以被数学表达为计算模型,模型比较与选择就是用数学的方法来量化一个模型的质量,用一个指标来精确的表示模型有多好;基于这个指标,就可以知道哪个模型更好。
评估单个模型的质量¶
1. 原始拟合度指标¶
这类指标直接衡量模型预测与真实数据的接近程度。
R² (R-squared)¶
定义:模型解释的方差占总方差的比例
解读: - \(R^2 = 0\) :模型没有解释任何方差(就是预测平均值) - \(R^2 = 1\) :完美拟合 - 心理学研究中,\(R^2 > 0.3\) 已经不错了
适用场景:连续因变量(反应时、评分等)
对数似然 (Log-Likelihood)¶
定义:在给定参数下,观察到该数据的对数概率
特点: - 值更负意味着拟合更差 - 依赖于数据量,不同大小的数据集直接比较没意义
适用场景:任何模型,特别是离散输出
均方根误差 (RMSE / MSE)¶
定义:预测值与真实值差异的平均
解读:单位与因变量相同,更直观
准确率 (Accuracy) / 分类错误率¶
定义:正确预测的比例
适用场景:离散选择任务
缺点:不考虑不平衡数据(如98%的数据是A选择)
2. 复杂度惩罚指标¶
在拟合度基础上,还要考虑模型的复杂度。否则,参数越多的模型总会拟合得最好!
AIC (Akaike Information Criterion)¶
公式: $\(AIC = 2k - 2\ln(L)\)$
其中 \(k\) 是参数数量,\(L\) 是最大似然值
特点: - AIC越小,模型越优 - 倾向于选择较为复杂的模型(在贝叶斯因子中较温和)
用途:模型比较时,优先考虑 \(\Delta AIC < 2\) 的模型
BIC (Bayesian Information Criterion)¶
公式: $\(BIC = k\ln(N) - 2\ln(L)\)$
其中 \(N\) 是数据点数量
特点: - 对模型复杂度的惩罚更严厉 - 在大样本情况下倾向于选择简单模型
对比: - AIC:样本量有限时,倾向选择稍复杂的模型 - BIC:样本量足够时,坚持"奥卡姆剃须刀"原则(越简单越好)
wAIC、LOO-CV (信息论方法)¶
原理:不仅考虑训练数据的拟合度,还考虑泛化能力(在新数据上的表现)
方法: - 交叉验证:用一部分数据拟合,用另一部分验证 - LOO-CV (Leave-One-Out Cross-Validation):每次留出一个数据点进行验证 - k-fold CV:分成k份,轮流用其中k-1份拟合,1份验证
优点:直接评估模型的泛化能力
模型间的比较¶
1. 配对比较(两个模型)¶
情景:你有模型A和模型B,想知道哪个更好
方法1:直接比较AIC/BIC¶
计算两个模型的 \(\Delta AIC = AIC_A - AIC_B\)
判断标准(Burnham & Anderson, 2004): - \(\Delta AIC < 2\):两个模型不相上下,需要其他证据 - \(2 < \Delta AIC < 7\):有明确但不强的证据支持较优模型 - \(\Delta AIC > 7\):有强证据支持较优模型
方法2:贝叶斯因子¶
思想:比较两个模型给数据的"证据"
判断标准: - \(BF > 3\):有轻度证据支持A - \(BF > 10\):有强证据支持A - \(BF > 100\):有很强证据支持A
对比: - AIC/BIC:简单快速,但不考虑先验 - 贝叶斯因子:更全面,但计算更复杂
2. 模型族比较(多个模型)¶
情景:有5个竞争性模型,想找出最优的
方法1:排序法¶
- 计算所有模型的AIC/BIC
- 按AIC从小到大排序
- 计算每个模型相对最优模型的 \(\Delta AIC_i\)
- 计算 "Akaike权重":\(w_i = \frac{\exp(-\Delta AIC_i/2)}{\sum_j \exp(-\Delta AIC_j/2)}\)
解读:\(w_i\) 表示"模型i是真实模型"的相对概率
例子:
模型 AIC ΔAIC 权重
M1 500 0 0.45 ← 最优
M2 502 2 0.17
M3 504 4 0.06
M4 510 10 0.00
M5 512 12 0.00
建议:可以对模型1和2进行正式的比较,其他模型可以排除
方法2:多模型推理¶
结合所有模型的预测,而不是只选一个"最优"模型
优点:避免"模型选择中的不确定性"被忽略
3. 似然比检验(嵌套模型)¶
似然比检验(Likelihood Ratio Test, LRT)适用于嵌套模型:
- 简单模型 \(M_0\) 是复杂模型 \(M_1\) 的特例
- 例如:\(M_1\) 有参数 \((\alpha^+, \alpha^-)\),\(M_0\) 约束为 \(\alpha^+=\alpha^-\)
检验统计量:
其中 \(L_0\) 和 \(L_1\) 分别是两个模型的最大似然值。
在常见正则条件下,\(\Lambda\) 近似服从卡方分布:
自由度 \(df\) 等于两个模型参数个数之差。
解释逻辑: 1. 若 p 值很小(如 \(p<0.05\)),拒绝 \(M_0\),说明增加参数显著提升拟合 2. 若 p 值不显著,优先更简单的 \(M_0\)
小例子:
- \(M_0\)(2参数)最大对数似然:\(\log L_0=-260\)
- \(M_1\)(3参数)最大对数似然:\(\log L_1=-252\)
则:
查卡方分布可知 p 很小,说明额外参数带来显著改进。
适用前提与限制: 1. 仅用于嵌套模型;非嵌套模型不能直接用 LRT 2. 样本太小或参数在边界上时,卡方近似可能不准 3. LRT 只回答“是否显著改进”,不直接评价泛化能力
与 AIC/BIC 的关系: - LRT:关注“增加参数是否显著提升拟合”(显著性视角) - AIC/BIC:关注“拟合-复杂度平衡”(预测/信息准则视角)
实际研究中常见做法是:对嵌套模型先做 LRT,再结合 AIC/BIC 判断是否值得保留复杂模型。
模型的验证¶
模型比较解决了存在多个模型时应该选择哪个模型的问题。但是模型比较是模型之间相对优劣;我们如何知道模型本身的性能到底怎么样?
模型A说1+1=5,模型B说1+1=10。根据模型比较,我们可以得知模型A比模型B更好。实际上,两个模型都不够好:1+1应该等于2。
在认知模型里,完全有可能存在一个模型比其他模型都好,但还是没有真正捕捉到认知过程的情况。此时,需要进行模型验证,确保模型本身是有效、可靠的。
1. 参数恢复 (Parameter Recovery)¶
问题:我拟合参数能否准确恢复出数据生成过程中的真实参数?
步骤: 1. 用设定的"真实"参数值(如 α=0.5, β=2.0,等等)生成模拟数据 2. 对模拟数据进行参数拟合,得到估计参数 3. 比较估计参数与真实参数的相关性或偏差
评估标准: - 相关系数:\(r_{est, true}\) 应该接近1 - 偏差:\(|估计值 - 真实值|\) 应该小 - 平均绝对百分比误差 (MAPE)
例子:
模拟数据条件:α=0.5, β=2.0
拟合后:α_est=0.48, β_est=1.95
► 恢复很好
模拟数据条件:α=0.5, β=2.0
拟合后:α_est=0.25, β_est=3.5
► 恢复很差,可能有识别性问题
参数恢复失败的原因:
- 参数不可恢复性 (Non-identifiability)
- 不同的参数组合可以生成相同的数据
- 例:在某些情况下,增加噪声参数和降低学习率的效果是一样的
-
解决方案:减少参数、增加数据、正则化
-
数据不够
- 参数太多 → 样本量太小
-
解决方案:增加试次数量
-
优化不充分
- 陷入局部最优
- 解决方案:多次运行优化,检查收敛
2. 模型恢复 (Model Recovery)¶
问题:如果真实数据是由模型A生成的,我的拟合能否准确识别出应该用模型A而不是其他模型?
步骤: 1. 用模型A的"真实"参数生成模拟数据 2. 用模型A、B、C等分别拟合这个数据 3. 看模型A是否有最好的拟合(AIC最低)
评估标准:混淆矩阵
拟合结果
A B C
真实 A 90% 8% 2%
数据 B 10% 85% 5%
C 5% 8% 87%
对角线应该接近100%,off-diagonal应该接近0%
模型恢复失败的原因: - 两个模型在数据上差异不大 - 需要更多或不同类型的数据来区分它们
实践建议¶
选择模型的决策树¶
有多个竞争模型?
│
├─YES→ 有足够的数据(N > 100)?
│ │
│ ├─YES→ 计算AIC/BIC,做模型比较
│ │
│ └─NO → 增加数据或减少参数
│
└─NO → 进行参数恢复验证
│
├─成功 → 该模型有效
│
└─失败 → 检查参数可恢复性
报告标准¶
发表论文时,应该报告:
- 模型描述:清楚地数学化表达模型
- 参数拟合:说明使用了哪些算法、初值缘何选择
- 拟合结果:报告主要参数的均值、标准差
- 拟合度:R²、AIC、LL等
- 模型比较:如果有多个模型,说明为什么选择最优的
- 验证:参数恢复或模型恢复的结果
小结¶
- 拟合度评估:拟合好坏 + 参数复杂度 = 综合评分
- 模型比较:AIC、BIC、贝叶斯因子协同使用
- 验证很关键:参数恢复和模型恢复确保模型的有效性
- 没有完美模型:所有模型都是近似,关键是透明地报告其局限性
练习与思考¶
- 用简单的模拟数据,练习进行参数恢复。看看在什么样的条件下参数恢复会失败。
- 找一篇心理学论文,看看作者是如何比较不同模型的。他们使用了什么指标?
- 思考你自己的研究:如果你要建立竞争性模型,应该选择什么样的模型来互相比较?