首页 > 解决方案 > 为什么我的 ARIMA 预测远小于实际值?

问题描述

我是处理时间序列的新手。在保证系列是静止的之后,我使用了 statsmodels 中的 SARIMAX 函数来尝试预测时间序列。与实际值相比,它导致比例更小,当我重新转换这些系列(撤消 .log().diff())时,这种比例差异变得更加明显。我以这种方式使数据静止:

log_btc = np.log(sum['closeBTC'])
diff_log_btc = log_btc - log_btc.shift()

应用 ARIMA 模型后,我重新转换数据:

predictions_ARIMA_diff = pd.Series(model_fit.fittedvalues, copy=True)
predictions_ARIMA_diff_cumsum = predictions_ARIMA_diff.cumsum()
predictions_ARIMA_log = pd.Series(log_btc.iloc[0], index=log_btc.index)
predictions_ARIMA_log =predictions_ARIMA_log.add(predictions_ARIMA_diff_cumsum,fill_value=0)
predictions_ARIMA = np.exp(predictions_ARIMA_log)

这里是图真实值: 真实值图

使用 ARIMA 预测: 在此处输入图像描述

有谁可以回答为什么预测的规模如此不同,我该如何解决这个问题?

关于问题的图片

标签: pythontime-seriesstatsmodels

解决方案


推荐阅读