You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言caret包timeslice方法(horizon=1)时RMSE与MAE异常匹配问题

问题解答:linear_model的RMSE与MAE一致及手动计算RMSE不匹配的原因

一、RMSE与MAE结果一致的原因

  • 你设置的trainControl中horizon = 1,意味着每次时间切片验证只预测1个样本。
  • 对单个样本而言,RMSE的计算结果sqrt((预测值-真实值)^2)等价于误差的绝对值,和MAE的计算逻辑abs(预测值-真实值)完全相同。
  • train函数会对每个时间切片的RMSE、MAE分别取均值,由于每个切片的两个指标数值一致,最终整体的RMSE和MAE结果自然相等。

二、手动计算RMSE与模型输出不匹配的原因

  • train输出的RMSE是各时间切片RMSE的均值:先对每个仅含1个样本的切片计算RMSE(即误差的绝对值),再将所有切片的该值取平均。
  • 你的手动计算sqrt(mean(error^2))是所有预测样本的整体RMSE:先把所有误差平方后求均值,再开根号。
  • 这是两种不同的统计计算逻辑,结果必然存在差异。比如两个切片的误差为2和-1时,模型输出的RMSE是(2+1)/2=1.5,手动计算的则是sqrt((4+1)/2)≈1.58,数值明显不同。

内容的提问来源于stack exchange,提问作者user1491868

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 06:37:10