如何基于RMSE计算LSTM时间序列需求预测模型的准确率
基于RMSE计算回归模型预测准确率的方法
首先明确核心前提:RMSE是回归类任务的专用误差评估指标,而「预测准确率」本质是分类任务的原生评估指标,二者没有通用的直接换算公式,你需要先结合自身业务场景定义「预测结果合格」的判定规则,才能进一步推导对应的准确率数值。
目前行业内常用的换算方法有以下两种:
方法1:基于归一化RMSE计算相对准确率
如果你的训练数据已经做了[0,1]区间的归一化(从你给出的RMSE仅为0.12/0.15的量级来看,大概率已经做了该处理),可以按以下步骤计算:
- 先确定归一化后标签的取值区间长度,0-1归一化下区间长度为1
- 代入公式
相对准确率 = 1 - RMSE / 标签区间长度计算:- 训练集相对准确率 = 1 - 0.12 / 1 = 88%
- 测试集相对准确率 = 1 - 0.15 / 1 = 85%
注意:该结果是相对评估值,仅适合同数据集、同业务场景下不同模型的横向对比,不能直接等同于分类任务中准确率的含义。如果你的数据没有做0-1归一化,将公式里的区间长度替换为原始标签的最大值与最小值的差值即可。
方法2:基于业务误差阈值统计实际准确率
该方法得出的结果更符合业务实际使用需求,推荐优先使用:
- 第一步:结合机构需求预测的业务要求,设定可接受的预测误差阈值,比如可以定义「预测值和真实值的相对误差≤10%即算预测正确」,也可以定义绝对误差阈值。
- 第二步:遍历所有测试集样本的预测误差,统计符合「误差≤阈值」的样本数占总测试样本数的比例,该比例就是你当前业务场景下模型的实际预测准确率。
补充说明
你当前的训练集和测试集RMSE差值仅为0.03,模型泛化性表现较好。如果不需要对外输出准确率类指标,直接用RMSE作为回归预测模型的评估结果本身就是行业通用做法,不需要额外换算。
内容的提问来源于stack exchange,提问作者Melak Teshome
相关产品推荐
相关产品推荐

