【发布时间】:2020-05-19 04:12:30
【问题描述】:
我正在使用 AirPassengers 数据集来预测时间序列。对于我使用的模型,我选择使用 auto_arima 来预测预测值。但是,auto_arima 选择的顺序似乎无法拟合模型。生成相应的图表。
我可以做些什么来获得更好的身材?
我的代码给那些想尝试的人:
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
%matplotlib inline
from pmdarima import auto_arima
df = pd.read_csv("https://raw.githubusercontent.com/AileenNielsen/TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv")
df = df.rename(columns={"#Passengers":"Passengers"})
df.Month = pd.to_datetime(df.Month)
df.set_index('Month',inplace=True)
train,test=df[:-24],df[-24:]
model = auto_arima(train,trace=True,error_action='ignore', suppress_warnings=True)
model.fit(train)
forecast = model.predict(n_periods=24)
forecast = pd.DataFrame(forecast,index = test.index,columns=['Prediction'])
plt.plot(train, label='Train')
plt.plot(test, label='Valid')
plt.plot(forecast, label='Prediction')
plt.show()
from sklearn.metrics import mean_squared_error
print(mean_squared_error(test['Passengers'],forecast['Prediction']))
感谢您的阅读。任何建议表示赞赏。
【问题讨论】:
-
您是否尝试过明确设置季节性参数
D(这里大概是12)? -
@IgorRivin 在你提到之后我做了。看起来仍然没有任何变化。但是,我明确指出 m 为 12,并且有很大的改进。
-
@IgorRivin 我已经回答了我自己的问题,但还有办法更好地适应它吗?