I have an ARMAX model trained on a train dataset as follows:
train_size = len(y) - 50
train_y, test_y = y['ObservedValue'][:train_size], y['ObservedValue'][train_size:]
train_x, test_x = x['ObservedValue'][:train_size], x['ObservedValue'][train_size:]
# Fit ARMAX model on the training set
model = SARIMAX(train_y, exog=train_x, order=order)
results = model.fit()
My case is as follows: For the last 50
observations of my dataset i suppose I have the exogenous variable foe each time step by I am able to get the y
variable for time step t
with one lag delay.
What I mean is my testing should be something like:
- I am at time-step
t
- I want to predict
y(t+1)
- I have the exogenous variable at
t
,e(t)
- The value of
y(t)
will be available att+1
(one lag delay) so right now i havey(t-1)
.
From the information above I can and should use y(t-1) to predict y(t+1).
However, stats model arima only provides:
results.get_prediction(start = .., end = .., exog = test_x)
Which I suppose uses previous predictions from test set to predict forthcoming values.
How can i Integrate y(t-1)
in this approach?