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

如何将FbProphet预测得到的对数yhat值转换为原始数值?

解决FbProphet对数预测值的还原问题

Hey there! 我之前用Prophet做预测时也碰到过一模一样的对数转换后还原的困惑,这就给你讲清楚怎么操作~

核心原理

你之前用df['y'] = np.log(df['y'])把原始数据做了自然对数转换,那要还原预测值,只需要用自然指数函数(也就是对数的逆运算)就行,逻辑很简单:

原始数值 = exp(对数数值)

具体代码实现

假设你的预测结果存在名为forecast的DataFrame里,其中yhat是对数形式的预测值,直接用numpy.exp()就能转换回常规数值:

import numpy as np

# 把对数预测值yhat转换为原始尺度的数值
forecast['yhat_actual'] = np.exp(forecast['yhat'])

# 如果需要还原置信区间的上下限,也可以用同样的方法
forecast['yhat_lower_actual'] = np.exp(forecast['yhat_lower'])
forecast['yhat_upper_actual'] = np.exp(forecast['yhat_upper'])

做完这一步,你就可以用yhat_actual和实际的n_tickets直接做对比分析啦~

小提醒

  • 如果你的yhat出现了负数,转换后会得到小于1的正数,但如果原始业务数据(比如票务数量n_tickets)都是正整数的话,这种情况可能意味着模型预测有问题,建议检查原始数据的完整性或者模型参数设置。
  • 转换后的数据尺度和原始n_tickets完全一致,不管是计算误差(比如MAE、RMSE)还是可视化对比,都可以直接用还原后的数值来做。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:50:57