【发布时间】:2021-04-14 22:40:38
【问题描述】:
我在 Stackoverflow 上看到过类似的问题。但是,这些问题要么足够不同,要么相似,实际上都没有得到回答。我认为这是建模人员经常遇到的问题,并且需要解决一些挑战。
在我的例子中,我使用了两个变量,一个 Y,一个 X,有 50 个时间序列连续观察。它们都是代表百分比变化的随机数(它们可以是你想要的任何东西,它们的真实值无关紧要。这只是为了设置我的编码问题的一个例子)。这是我构建这个 ARIMAX(1,0,0) 模型的基本代码。
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
df = pd.read_excel('/Users/gaetanlion/Google Drive/Python/Arima/df.xlsx', sheet_name = 'final')
from statsmodels.tsa.arima_model import ARIMA
endo = df['y']
exo = df['x']
接下来,我使用前 41 个观测值构建 ARIMA 模型
modelho = sm.tsa.arima.ARIMA(endo.loc[0:40], exo.loc[0:40], order =(1,0,0)).fit()
print(modelho.summary())
到目前为止一切正常。
接下来,我尝试预测或预测接下来的 9 个样本外观察值。在这里,我想使用这 9 个观测值的 X 值来预测 Y。而且,我就是做不到。我只在下面显示一个代码,我认为它可以让我最接近我需要去的地方。
modelho.predict(exo.loc[41:49], start = 41, end = 49, dynamic = False)
TypeError: predict() got multiple values for argument 'start'
【问题讨论】:
标签: python predict arima forecast