2

Je travaille sur le modèle SARIMAX pour prédire le marché boursier en python. J'ai divisé les données en formation et en test de données. Après avoir ajusté mon modèle sur les données d'entraînement, mon objectif est de prédire les données de test (prédiction en une étape)Modèle SARIMAX hors de la prédiction de l'échantillon

Lorsque j'ajoute des exogs au modèle, il renvoie des résultats très précis, cependant, quand je rentre le modèle sans exogs I a une ligne droite. Je suis allé jeter des questions similaires, mais je ne pouvais pas résoudre le problème. Voici mon code:

ajustement du modèle

`mod1 = sm.tsa.statespace.SARIMAX(endog= ptrain, 
          exog = ftrain, 
          order=(1, 1, 0), 
          seasonal_order=(0, 0, 0, 12), 
          enforce_stationarity=False, 
          enforce_invertibility=False) 
results1 = mod1.fit()` 

Sur prédiction exemple

`prediction=results1.get_prediction(start=pd.to_datetime(ptrain.index[-1]),end=pd.to_datetime(ptest.index[-1]),exog= test) 

` C'est l'intrigue que je suis arrivé [1]: https://i.stack.imgur.com/XDd6n.png

Toute idée sur comment faire la prédiction correctement?

Répondre

0

Étant donné que vous avez défini l'application de la stationnarité et l'application de l'inversion sur False, vous risquez d'obtenir une prévision non fiable. Vous pouvez très bien lancer une nouvelle recherche les meilleurs paramaters pour (p, d, q) et (P, D, Q) s en essayant quelque chose de nature ci-dessous:

for ...: 
    try: 
    model = smt.SARIMAX(...) 
    result = model.fit() 
    ... 
    except: 
    continue