Прогноз ARIMA Python без переоценки параметров?

#python

Вопрос:

Я пытаюсь спрогнозировать с помощью ARIMA, где первые 2/3 набора данных используются для обучения модели.

Я пытаюсь сделать прогноз вне выборки на следующие пять дней, и пока мне это удается.

 # Create Training and Test
train = df["Close"][:506] # 1 to 505
test = df["Close"][506:511] 
high = df["High"][506:511]
low = df["Low"][506:511]
# Model Building

model = ARIMA(train,order=(1,1,1))
fitted = model.fit()
print(fitted.summary())

# Forecasting
level = 0.05 # 95% Confidence
fc, se, conf = fitted.forecast(5,alpha=level)
 

Однако как мне выполнить прогнозирование вне выборки на весь мой «тестовый период», обновляя данные для прогнозирования, но не переоценивая коэффициент моей модели?

Это означает, что «реальная» точка данных 506 используется для прогнозирования следующих пяти дней до точки данных 511.

Затем «реальная» точка данных 511 используется для прогнозирования следующих пяти дней до точки данных 516.

Я использую следующую функцию #1 для ARIMA. Я знаю, что функция № 2 для ARIMA позволяет добавлять данные для «обновления» модели, но эта функция дает мне совершенно другой параметр.

 from statsmodels.tsa.arima_model import ARIMA #1
from statsmodels.tsa.arima.model import ARIMA #2
 

Я знаю, что мы можем сделать это R, и у меня есть код R как таковой. Есть ли эквивалент в python?

 train_set = usdcad_Close_ts[0:506]
test_set = usdcad_Close_ts[507:759]


fitted_model = Arima(train_set, order=c(1,1,1), include.constant=TRUE)
fitted_model
coeftest(fitted_model)

forecast(fitted_model,h=5,level = c(80, 95))

refit <- Arima(usdcad_Close_ts[5:511],model=fitted_model)
refit
forecast(refit,h=5,level=c(80,95))