0

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?

desertnaut
  • 57,590
  • 26
  • 140
  • 166
Ihmon
  • 183
  • 1
  • 13

1 Answers1

0

From my farther investigation, questioned forecasting function in markov_autoregression is not implemented yet. See link below, https://github.com/statsmodels/statsmodels/issues/5537

Ihmon
  • 183
  • 1
  • 13