I'd like to fit a MarkovAutoregression model with training time-seriese dataset(train_data) and make it forecast with validation time-seriese dataset(val_data). Training part is like below and I don't find any errors.
import numpy as np
from statsmodels.tsa.regime_switching.markov_autoregression import MarkovAutoregression
from sklearn.model_selection import train_test_split
# Generate some random data
np.random.seed(0)
n_samples = 100
data = np.random.randn(n_samples)
# Split data into training and validation datasets
train_data, val_data = train_test_split(data, test_size=0.2, random_state=0)
# Fit the Markov autoregression model
lag_order = 2 # Order of the autoregressive process
model = MarkovAutoregression(train_data, k_regimes=2, order=lag_order)
result = model.fit()
Then, prediction part has to be like below according to a official site about predict() method.
MarkovAutoregression.predict(
params,
start=None,
end=None,
probabilities=None,
conditional=False
)
As you can see, there is arguments of start and end in order to designate target time window by indexs. Are these indexs for train_data which has already used in fit()? How can I pass my val_data to predict() from the dataset?