我正在为美国每个州的房价创建 50 个不同的时间序列模型。我正在使用金字塔 ARIMA 来完成此任务。
数据来自包含 Date、State 和 Median_Listing_Price 列的 .csv。
我已经创建了模型并希望预测超出现有数据的值,但我不知道如何做到这一点。
我有一个看起来像这样的图表:
我还想将预测值输出到新的 .csv。
当前代码:
# Indexing and creating series
df = pd.read_csv(f'state_csvs/{state}.csv', parse_dates=['Date'], date_parser=dateparse, index_col=0, header=0)
data = df[['Median_Listing_Price']]
# Divide into train and validation set
train = data.loc['2013-11':'2017-01']
valid = data.loc['2017-02':]
# Building the model
model = auto_arima(train, start_p=1, start_q=1, max_p=3, max_q=3, m=12, start_P=0, seasonal=True, d=1, D=1,
trace=True, error_action='ignore', suppress_warnings=True)
model.fit(train)
forecast = model.predict(n_periods=len(valid))
forecast = pd.DataFrame(forecast, index=valid.index, columns=['Prediction'])
# Plot the predictions for validation set
plt.plot(train, label='Train')
plt.plot(valid, label='Valid')
plt.plot(forecast, label='Prediction')
plt.title(f'{state}')
plt.show()