机器学习PAI的Prophet的输出是没有detail的,要自己算吗?[阿里云机器学习PAI]

机器学习PAI的Prophet的输出是没有detail的,要自己算yhat_upper yhat_lower是嘛?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 在阿里云机器学习PAI中,Prophet是一种常用的时序预测模型,可以用于进行时间序列数据的建模和预测。Prophet模型的输出包括预测值、置信区间等信息,但是并没有提供详细的预测结果(即每个时间点的预测值、置信区间等信息),需要根据模型输出进行计算。

    具体来说,Prophet模型的预测结果包括以下几个部分:

    1. 预测值:Prophet会生成一组与历史数据相同长度的时间序列,表示未来的预测值。这些预测值可以使用训练好的Prophet模型进行预测。

    2. 上下界置信区间:对于每个预测值,Prophet都会同时给出一个上界和一个下界,表示该预测值的置信区间。这些置信区间可以用于评估模型的预测精度和确定预测误差范围。

    3. 季节性和趋势性成分:Prophet模型将时间序列分解为季节性和趋势性两个部分,并对其进行预测。这些成分可以用于进行更深入的分析和预测。

    对于预测结果的详细信息,可以通过计算Prophet模型生成的时间序列来获得。具体来说,可以使用Prophet提供的predict方法生成一组预测值,并根据需求进一步计算置信区间等信息,以获得更详细的预测结果。

  2. 是的,Prophet模型的输出通常只包含整体的预测值和置信区间,并没有提供细节信息。如果你需要计算yhat_upper和yhat_lower,可以根据置信区间的大小和置信水平来计算。Prophet默认的置信水平是80%,你可以通过设置interval_width参数来更改置信水平。假设你想要计算95%置信区间,可以这样设置:

    m = Prophet(interval_width=0.95)

    然后,使用Prophet提供的predict()方法来生成预测值和置信区间。默认情况下,该方法将返回一个包含预测值和置信区间的DataFrame对象。你可以使用DataFrame对象的iloc方法来访问特定行和列,例如:

    forecast = m.predict(df)yhat_upper = forecast.iloc[:, -1]yhat_lower = forecast.iloc[:, -2]

    这里,yhat_upper和yhat_lower分别表示置信区间的上限和下限。请注意,这里假设你的DataFrame对象名为df,且数据已按照Prophet的要求进行了格式化。

  3. 设置下predictionDetailCol。此回答整理自钉群“Alink开源–用户群”