该数据集包含一个月内进入火车站的乘客人数。编号为1-74的每列的时间间隔为15分钟,从5:30-24:00开始。并记录每段时间每天的乘客总数。我想用前28天的数据来建立arima模型,然后用它来预测第29天的数据。我将得到每个时间间隔(即每一列)的p,d&q值,并将其用于创建模型,从而得到74项总预测。还可以选择整个列并计算用于所有其他列的p、d&值。
我是阿里玛的新手,我甚至不知道该如何完成这个任务。
发布于 2022-04-01 02:44:52
您可以使用状态模型 ARIMA实现。使用前28个观测数据,为每个时间切片训练一个独立的ARIMA模型。
import pandas as pd
from statsmodels.tsa.arima_model import ARIMA
df = pd.read_csv("inbound_flights.csv")
df.drop(columns=['Unnamed: 0'], inplace=True)
# use first rows for training and use last row for out-of-sample testing
X_train, X_test = df.iloc[:-1, :], df.iloc[[-1],:]
order = (5,1,0) # <- plug-in p, d, q here
for col in X_train.columns:
# fit model
model = ARIMA(X_train[col], order=order)
model_fit = model.fit()
# summary of fit model
#print(model_fit.summary())
# make one-day forecast
forecast, _, _ = model_fit.forecast(steps=1)
print(forecast[0])
https://stackoverflow.com/questions/71704387
复制