J'ai une question liée à la modélisation de courtes séries chronologiques. Ce n'est pas une question de savoir si les modéliser , mais comment. Quelle méthode recommanderiez-vous pour la modélisation de séries chronologiques (très) courtes (disons de longueur )? Par "meilleur", j'entends ici le plus robuste, le moins sujet aux erreurs en raison du nombre limité d'observations. Avec des séries courtes, des observations uniques pourraient influencer la prévision, de sorte que la méthode devrait fournir une estimation prudente des erreurs et de la variabilité possible liées à la prévision. Je suis généralement intéressé par les séries chronologiques univariées, mais il serait également intéressant de connaître d’autres méthodes.
35
Mcomp
package pour R), 504 ont 20 observations ou moins, soit 55% de la série annuelle. Vous pouvez donc rechercher la publication originale et voir ce qui a bien fonctionné pour les données annuelles. Ou encore, explorez les prévisions originales soumises au concours M3, disponibles dans leMcomp
package (listeM3Forecast
).Réponses:
Il est très courant que des méthodes de prévision extrêmement simples telles que "prévoir la moyenne historique" surpassent les méthodes plus complexes. Ceci est encore plus probable pour les séries chronologiques courtes. Oui, en principe, vous pouvez adapter un modèle ARIMA ou même un modèle plus complexe à 20 observations ou moins, mais vous aurez plutôt tendance à sur-adapter et à obtenir de très mauvaises prévisions.
Donc: commencez avec un repère simple, par exemple,
Évaluez ces données hors échantillon. Comparez tout modèle plus complexe à ces points de repère. Vous serez peut-être surpris de voir à quel point il est difficile de surpasser ces méthodes simples. En outre, comparez la robustesse de différentes méthodes avec des méthodes simples, par exemple, en évaluant non seulement la précision moyenne hors échantillon, mais également la variance d'erreur , en utilisant votre mesure d'erreur préférée .
Oui, comme l' écrit Rob Hyndman dans son message auquel Aleksandr fait référence , les tests sur échantillons non-échantillonnés sont un problème en soi pour les séries courtes - mais il n'y a vraiment pas de bonne alternative. ( N'utilisez pas l' ajustement dans l'échantillon, qui n'est pas un guide pour la précision des prévisions .) L'AIC ne vous aidera pas avec la médiane et la marche aléatoire. Cependant, vous pouvez utiliser la validation croisée de séries chronologiques , approximative de AIC, de toute façon.
la source
Je profite à nouveau d’une question pour en apprendre davantage sur les séries chronologiques - l’un des (nombreux) sujets de mon intérêt. Après une brève recherche, il me semble qu’il existe plusieurs approches au problème de la modélisation des séries chronologiques courtes.
La première approche consiste à utiliser des modèles de séries chronologiques standard / linéaires (AR, MA, ARMA, etc.), mais à prêter attention à certains paramètres, comme décrit dans ce post [1] de Rob Hyndman, qui n'a pas besoin d'introduction à séries chronologiques et monde des prévisions. La deuxième approche, citée dans la plupart des ouvrages spécialisés que j'ai vus, suggère d'utiliser des modèles de séries chronologiques non linéaires , en particulier les modèles à seuil [2], qui incluent un modèle à seuil autorégressif (TAR) , un modèle TAR à sortie automatique ( SETAR) , modèle de moyenne mobile autorégressive de seuil (TARMA) et modèle TARMAX , qui étend TARmodèle à des séries chronologiques exogènes. Vous trouverez dans cet article [3] et cet article [4] d’ excellents aperçus des modèles de séries chronologiques non linéaires, y compris des modèles à seuil .
Enfin, un autre document de recherche lié à IMHO [5] décrit une approche intéressante, basée sur la représentation de Volterra-Weiner de systèmes non linéaires - voir ceci [6] et ceci [7]. Cette approche serait supérieure aux autres techniques dans le contexte de séries chronologiques courtes et bruitées .
Les références
la source
Les méthodes qualitatives suivantes fonctionnent bien dans la pratique pour des données très courtes ou inexistantes:
L'une des meilleures méthodes que je connaisse qui fonctionne très bien est l'utilisation d' analogies structurées (5ème de la liste ci-dessus) lorsque vous recherchez des produits similaires / analogues dans la catégorie que vous essayez de prévoir et utilisez-les pour prévoir des prévisions à court terme. . Voir cet article pour des exemples, et un article de SAS sur "comment faire" en utilisant bien sûr SAS. Une des limites est que les prévisions par analogies ne fonctionneront que si vous avez de bonnes analogies, sinon vous pouvez vous fier à des prévisions discrétionnaires. Voici une autre vidéo du logiciel Forecastpro expliquant comment utiliser un outil tel que Forecastpro pour effectuer des prévisions par analogie. Choisir une analogie est plus un art que la science et vous avez besoin d'une expertise de domaine pour sélectionner des produits / situations analogues.
Deux excellentes ressources pour les prévisions de produits courtes ou nouvelles:
Ce qui suit est à titre indicatif.Je viens juste de lire Signal and Noisepar Nate Silver, dans la mesure où il existe un bon exemple de la bulle et de la prévision du marché immobilier américain et japonais (analogue au marché américain). Dans le tableau ci-dessous, si vous vous arrêtez à 10 points de données et utilisez l'une des méthodes d'extrapolation (smooting / ets / arima ...) pour voir où cela vous mène et où se termine la réalité. Encore une fois, l'exemple que j'ai présenté est beaucoup plus complexe que la simple extrapolation des tendances. Ceci est juste pour souligner les risques d'extrapolation de tendance en utilisant des points de données limités. En outre, si votre produit présente une configuration saisonnière, vous devez utiliser une certaine forme de situation de produit analogue pour prévoir. J'ai lu un article dans le Journal of Business Research selon lequel, si vous réalisiez 13 semaines de ventes de produits pharmaceutiques, vous pourriez prédire les données avec une plus grande précision à l'aide de produits analogues.
la source
L'hypothèse selon laquelle le nombre d'observations est critique est venue d'un commentaire spontané de la GEP Box concernant la taille minimale de l'échantillon pour identifier un modèle. Une réponse plus nuancée en ce qui me concerne est que le problème / qualité de l’identification du modèle ne repose pas uniquement sur la taille de l’échantillon mais sur le rapport signal sur bruit qui se trouve dans les données. Si vous avez un fort rapport signal sur bruit, vous avez besoin de moins d'observations. Si vous avez un faible s / n, vous avez besoin de plus d'échantillons à identifier. Si votre jeu de données est mensuel et que vous avez 20 valeurs, il n'est pas possible d'identifier empiriquement un modèle saisonnier, mais si vous pensez que les données peuvent être saisonnières, vous pouvez démarrer le processus de modélisation en spécifiant un ar (12), puis effectuer un diagnostic du modèle ( tests de signification) pour réduire ou augmenter votre modèle structurellement déficient
la source
Avec des données très limitées, je serais plus enclin à ajuster les données en utilisant des techniques bayésiennes.
La stationnarité peut être un peu délicate s’agissant des modèles bayésiens de séries chronologiques. Un choix consiste à appliquer des contraintes sur les paramètres. Ou, vous ne pourriez pas. C'est très bien si vous voulez juste regarder la distribution des paramètres. Cependant, si vous voulez générer la prédiction postérieure, vous pouvez avoir beaucoup de prévisions qui explosent.
La documentation de Stan fournit quelques exemples où ils imposent des contraintes sur les paramètres des modèles de série temporelle pour assurer la stationnarité. Cela est possible pour les modèles relativement simples qu'ils utilisent, mais cela peut être pratiquement impossible dans les modèles de séries chronologiques plus complexes. Si vous souhaitez réellement appliquer la stationnarité, vous pouvez utiliser un algorithme Metropolis-Hastings et éliminer les coefficients inappropriés. Cependant, cela nécessite de nombreuses valeurs propres à calculer, ce qui ralentira les choses.
la source
Le problème que vous avez sagement souligné est le "sur-ajustement" causé par des procédures basées sur des listes fixes. Une façon intelligente est d’essayer de garder l’équation simple lorsque vous avez une quantité négligeable de données. Après de nombreuses lunes, j'ai trouvé que, si vous utilisiez simplement un modèle AR (1) et laissiez le taux d'adaptation (le coefficient ar) aux données, les choses pourraient fonctionner assez bien. Par exemple, si le coefficient ar estimé est proche de zéro, cela signifie que la moyenne globale serait appropriée. si le coefficient est proche de +1,0, cela signifie que la dernière valeur (ajustée pour une constante convient mieux. Si le coefficient est proche de -1,0, le négatif de la dernière valeur (ajusté pour une constante) correspond à la meilleure prévision. Si le coefficient est différent, cela signifie qu'une moyenne pondérée du passé récent est appropriée.
C'est précisément ce que commence AUTOBOX, puis élimine les anomalies au fur et à mesure qu'il affine le paramètre estimé lorsqu'un "petit nombre d'observations" est rencontré.
Ceci est un exemple de "l'art de la prévision" lorsqu'une approche purement basée sur des données pourrait ne pas être applicable.
Voici un modèle automatique développé pour les 12 points de données sans souci d'anomalies. avec réel / ajustement et prévision ici et parcelle résiduelle ici
la source