创建Arima模型 - 在订单参数上获取错误
我正在尝试创建一个Arima模型。到今天为止,这一直对我有用。但是,我现在就模型中的顺序参数获得了typeError。
我还升级了我的statsmodels版本,但仍然没有更改。有人会有任何建议吗?
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller
from pmdarima import auto_arima
from statsmodels.tsa.arima.model import ARIMA
df = pd.read_csv('Aryzta AG - Historic Closing Price.csv', index_col='Date', parse_dates=True)
df = df.dropna()
print('Shape of data', df.shape)
df.head()
print(df.head())
df['Close'].plot(figsize=(12, 5))
plt.title('Aryzta AG Closing Share Price 2012 - 2022')
plt.ylabel('Close Price')
plt.show()
def adf_test(dataset):
dftest = adfuller(dataset, autolag='AIC')
print("1. ADF : ", dftest[0])
print("2. P-Value : ", dftest[1])
print("3. Num Of Lags : ", dftest[2])
print("4. Num Of Observations Used For ADF Regression:", dftest[3])
print("5. Critical Values :")
for key, val in dftest[4].items():
print("\t", key, ": ", val)
if dftest[0] < dftest[4]["5%"]:
print("Reject Ho - Time Series is Stationary")
else:
print("Failed to Reject Ho - Time Series is Non-Stationary")
adf_test(df['Close'])
stepwise_fit = auto_arima(df['Close'], trace=True, suppress_warnings=True)
print(df.shape)
train = df.iloc[:-500]
test = df.iloc[-500:]
print(train.shape, test.shape)
model = ARIMA(train, order=(1, 1, 1))
model_fit = model.fit()
model_fit.summary()
i am trying to create an ARIMA model. This has been working for me without issue up to today. However, I now get a TypeError with respect to the order argument in the model.
I have upgraded my version of StatsModels also but still no change. Would anyone have any suggestions?
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller
from pmdarima import auto_arima
from statsmodels.tsa.arima.model import ARIMA
df = pd.read_csv('Aryzta AG - Historic Closing Price.csv', index_col='Date', parse_dates=True)
df = df.dropna()
print('Shape of data', df.shape)
df.head()
print(df.head())
df['Close'].plot(figsize=(12, 5))
plt.title('Aryzta AG Closing Share Price 2012 - 2022')
plt.ylabel('Close Price')
plt.show()
def adf_test(dataset):
dftest = adfuller(dataset, autolag='AIC')
print("1. ADF : ", dftest[0])
print("2. P-Value : ", dftest[1])
print("3. Num Of Lags : ", dftest[2])
print("4. Num Of Observations Used For ADF Regression:", dftest[3])
print("5. Critical Values :")
for key, val in dftest[4].items():
print("\t", key, ": ", val)
if dftest[0] < dftest[4]["5%"]:
print("Reject Ho - Time Series is Stationary")
else:
print("Failed to Reject Ho - Time Series is Non-Stationary")
adf_test(df['Close'])
stepwise_fit = auto_arima(df['Close'], trace=True, suppress_warnings=True)
print(df.shape)
train = df.iloc[:-500]
test = df.iloc[-500:]
print(train.shape, test.shape)
model = ARIMA(train, order=(1, 1, 1))
model_fit = model.fit()
model_fit.summary()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论