我正在尝试使用 Python 和 Statsmodels 进行 ARIMA 预测。具体来说,要使 ARIMA 算法工作,需要通过差分(或类似方法)使数据静止。问题是:如何在进行残差预测后反转差异以返回包括差异化的趋势和季节性的预测?
(我在这里看到了一个类似的问题,但可惜,没有发布任何答案。)
这是我到目前为止所做的(基于掌握 Python 数据分析的最后一章中的示例,Magnus Vilhelm Persson;Luiz Felipe Martins)。数据来自DataMarket。
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
from statsmodels import tsa
from statsmodels.tsa import stattools as stt
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.arima_model import ARIMA
def is_stationary(df, maxlag=15, autolag=None, regression='ct'):
"""Test if df is stationary using Augmented
Dickey Fuller"""
adf_test = stt.adfuller(df,maxlag=maxlag, autolag=autolag, regression=regression)
adf = adf_test[0]
cv_5 = adf_test[4]["5%"]
result = …Run Code Online (Sandbox Code Playgroud)