Je n'avais jamais écrit d'article moi-même, mais je n'ai pas pu trouver de solution au problème que j'ai trouvé cette fois, donc je vais laisser cela comme une sagesse.
Le problème résidait dans la prédiction utilisant le modèle SARIMA utilisé dans l'analyse des séries chronologiques. (Comme il s'agit d'une explication de la pièce obstruée, veuillez étudier comment utiliser le modèle SARIMA ailleurs.)
Adaptez le modèle SARIMA à une série temporelle donnée de la manière suivante:
qiita.rb
SARIMA_2_1_3_011 = sm.tsa.SARIMAX(train.y, order=(2,1,3), seasonal_order=(0,1,1,20)).fit()
J'ai essayé de prédire l'avenir en utilisant ce modèle comme suit. (Autrement dit, l'indice de 169 à 206 est au-delà de la plage des données d'origine et je voulais le prédire)
qiita.rb
pred3 = SARIMA_2_1_3_011.predict(start=169,end=206)
KeyError: 'The `start` argument could not be matched to a location related to the index of the data.'
Ensuite, une telle erreur s'est produite. Comme je ne parle pas anglais, je ne peux que comprendre la signification, donc je ne suis pas sûr, mais le problème semble être que la plage d'index est dépassée. Cependant, le site auquel j'ai fait référence était capable de prédire l'avenir sans aucun problème.
À partir de là, j'ai apporté divers changements et copié des erreurs et j'ai sauté sur des sites de questions à l'étranger pour enquêter, mais je pense que j'ai eu du mal pendant plus de 30 minutes.
Ainsi, la prédiction à laquelle je suis arrivé en conséquence est que "l'apparence de la date, qui est l'index dans les données d'origine, est irrégulière, de sorte qu'il ne sera peut-être pas possible de déterminer l'indice pour la prédiction future". (Par exemple, si l'indice des données d'origine est 1/1, 1/2, 1/3, la prochaine prédiction sera 1/4, 1/5 ..., mais ce sera 1/1, 1/2, 1/4. Si tel est le cas, le prochain index (date) ne sera pas décidé)
Par conséquent, je pense qu'il existe deux solutions à ce problème.
① Ajustez en quelque sorte la régularité de l'indice (2) Combinez les données vides (mais avec index) avec les données originales pour préparer un futur index (bien sûr, la variable objectif reste vide)
En fait, la deuxième méthode a fonctionné, donc je pense que ce sont probablement les bonnes solutions.
Cela a peut-être été difficile à voir car j'écris un article pour la première fois, mais comprenez s'il vous plaît ... De plus, je pense qu'il y a de nombreux points qui ne peuvent être atteints en raison d'un manque de puissance, mais je serais reconnaissant à quiconque l'aurait remarqué de le signaler. J'espère que cela aidera quiconque est coincé avec ce problème.