Auto.arima vs autobox diffèrent-ils?

16

De la lecture des messages sur ce site, je sais qu'il existe une fonction R auto.arima(dans le forecast package ). Je sais également qu'IrishStat , membre de ce site, a construit la boîte automatique du package commercial au début des années 1980. Comme ces deux packages existent aujourd'hui et sélectionnent automatiquement des modèles arima pour des ensembles de données donnés, que font-ils différemment? Vont-ils éventuellement produire des modèles différents pour le même ensemble de données?

Michael R. Chernick
la source
Merci pour l'édition @Wayne. Je ne suis pas familier avec le package de prévisions R, mais je suis sûr que c'est ce que je veux comparer avec la boîte automatique.
Michael R. Chernick
(Je viens de faire un deuxième petit changement de "auto-arima" en "auto.arima".) Il peut y avoir d'autres auto.arimafonctions dans d'autres packages, mais il y en a certainement une forecast, dont la description est: "Renvoie le meilleur modèle ARIMA selon à la valeur AIC, AICc ou BIC. La fonction effectue une recherche sur un modèle possible dans les contraintes d'ordre fournies. "
Wayne
1
AUTOBOX traite l'identification automatique de manière holistique en itérant à travers l'identification automatique en estimant puis en effectuant des procédures de diagnostic progressif et descendant pour rendre un modèle qui n'a que des paramètres statistiquement significatifs tout en ayant un processus d'erreur exempt de structure identifiable De cette façon, il suit le script d'itération. Les premières versions d'AUTOBOX vers 1975 ont essayé d'utiliser «l'approche statistique unique», mais cela s'est avéré insuffisant car les modèles identifiés avaient soit une structure redondante ou idiote (5,1,2 par exemple) soit une structure insuffisante évidente.
IrishStat
1
@IrishStat Cela ressemble à une bonne approche. Que faites-vous si vous trouvez deux modèles concurrents qui répondent à vos besoins. Cela semble possible. Recommandez-vous un modèle "optimal" basé sur des critères spécifiques? Je me rends compte que le choix d'un modèle avec uniquement des "paramètres statistiquement significatifs" peut avoir tendance à favoriser la parcimonie, mais il n'est pas possible d'avoir un processus AR à paramètres faibles et un autre modèle AEMA d'ordre bas où tous les paramètres sont statistiquement significatifs et les résidus ressemblent à du blanc bruit?
Michael R. Chernick
1
@IriehStat. Je suis d'accord avec toi. En fin de compte, que faites-vous pour l'utilisateur? Fournissez-vous un seul modèle ou pourriez-vous donner une liste ordonnée de modèles acceptables concurrents? Sinon, ce serait peut-être une bonne option pour ajouter où vous limitez la liste à un petit nombre.
Michael R. Chernick

Réponses:

9

michael / wayne

AUTOBOX fournirait / identifierait certainement un modèle différent si une ou plusieurs des conditions suivantes sont remplies

1) il y a des impulsions dans les données

2) il y a un ou plusieurs changements de niveau / pas dans les données

3) s'il y a des impulsions saisonnières dans les données

4) il y a une ou plusieurs tendances temporelles locales dans les données qui ne sont pas simplement corrigées

5) si les paramètres du modèle changent avec le temps

6) si la variance des erreurs change avec le temps et qu'aucune transformation de puissance n'est adéquate.

En termes d'exemple spécifique, je suggère que vous sélectionniez / fassiez tous les deux une série chronologique et que vous les publiez tous les deux sur le Web. J'utiliserai AUTOBOX pour analyser les données en mode sans surveillance et je publierai les modèles dans la liste. Vous exécutez ensuite le programme R, puis chacun de vous fait une analyse objective distincte des deux résultats, en soulignant les similitudes et les différences. Envoyez-moi ces deux modèles avec tout le matériel de support disponible, y compris les conditions finales d'erreur pour mes commentaires. Résumez et présentez ces résultats à la liste, puis demandez aux lecteurs de la liste de VOTER pour quelle procédure leur semble la meilleure.

IrishStat
la source
Voulez-vous dire un concours comme celui-ci ?
whuber
@whuber Oui. Peut-être même en utilisant un "exemple de livre de texte inconnu / codé" qui pourrait être utilisé comme toile de fond.
IrishStat
22

Ils représentent deux approches différentes de deux problèmes similaires mais différents. J'ai écrit auto.arimaet @IrishStat est l'auteur deAutobox .

auto.arima() convient aux modèles ARIMA (saisonniers), y compris les termes de dérive. Autoboxs'adapte aux modèles de fonction de transfert pour gérer les changements de niveau et les valeurs aberrantes. Un modèle ARIMA est un cas particulier d'un modèle de fonction de transfert.

Même si vous désactivez les changements de niveau et la détection des valeurs aberrantes Autobox, vous obtiendrez un modèle ARIMA différent en auto.arima()raison de choix différents sur la façon d'identifier les paramètres ARIMA.

Dans mes tests sur les données M3 et M-compétition, auto.arima()produit des prévisions plus précises que Autoboxpour ces données. Cependant, Autoboxfera mieux avec des données contenant des valeurs aberrantes majeures et des changements de niveau.

Rob Hyndman
la source
3
Je pense que vous parliez d'une version d'AUTOBOX d'il y a de nombreuses années. AUTOBOX a beaucoup changé depuis de nombreuses années. Si je ne me trompe pas, vous n'avez comparé que les précisions à partir d'une origine qui, je suis sûr que vous en conviendrez, est un échantillon de 1. Les précisions doivent être évaluées à partir d'un certain nombre d'origines.
IrishStat
15
Je fais référence à des comparaisons publiées sur des milliers de séries. En tant que rédacteur en chef de l'International Journal of Forecasting, je pense avoir une idée de la manière d'évaluer les prévisions.
Rob Hyndman
2
Je n'avais pas l'intention que cette question fasse ressortir des arguments pour savoir qui a le meilleur algorithme de prévision. Je pense que Autobox et auto.arima sont probablement de très bons packages. Une comparaison directe pourrait ne pas être équitable pour de nombreuses raisons. 1) L'utilisateur peut ne pas être suffisamment expert pour savoir comment les juger. 2) La précision des prévisions sur une seule série chronologique est une merde. On peut avoir une erreur quadratique moyenne inférieure dans la prédiction, mais chaque fois que le caractère aléatoire est impliqué, il doit être pris en compte. Vous devez regarder plusieurs séries et comme IrishStat le suggère, vous devriez regarder différents points de départ.
Michael R. Chernick
Différents points pour lancer des prévisions seraient également utiles. 3) Dans le monde ARIMA, il existe plusieurs représentations pour le même modèle de série temporelle, les processus AR finis ont des représentations moyennes mobiles infinies et vice versa. Ainsi, un AR d'ordre faible pourrait être presque le même qu'une moyenne mobile d'ordre élevé ou un ARMA. Box a toujours suggéré de suivre le principe de parcimonie. Mais si vous avez beaucoup de données, vous pouvez obtenir de bonnes estimations des paramètres et le modèle d'ordre élevé peut générer presque les mêmes prévisions que le modèle parcimonieux. 4) Les deux packages ont des objectifs différents.
Michael R. Chernick
3
La méthode a évolué au fil du temps. Dave Reilly est très actif sur ce site en tant qu'IrishStat et il a été très ouvert à expliquer comment cela fonctionne en termes généraux. C'est un aspect essentiel des affaires d'avoir des secrets commerciaux et des algorithmes propriétaires. De son point de vue, R blesse son entreprise comme c'est le cas pour SPlus. Mais il ne montre pas d'amertume et est très disposé à démontrer son logiciel comme vous pouvez le voir aujourd'hui. Il est également disposé à effectuer des tests contre des concurrents et je pense qu'il a participé à des compétitions de prévisions chronologiques.
Michael R. Chernick
11

EDIT: Selon votre commentaire, je pense que si vous désactivez la plupart des autoboxoptions, vous obtiendrez probablement une réponse similaire auto.arima. Mais si vous ne le faites pas, et en présence de valeurs aberrantes, il y aura certainement une différence: auto.arimane se soucie pas des valeurs aberrantes, tout autoboxen les détectant et en les traitant de manière appropriée, ce qui donnerait un meilleur modèle. Il peut également y avoir d’autres différences, et je suis sûr que IrishStat peut les décrire.


Je crois que autoboxdétecte les valeurs aberrantes et d'autres choses au-delà de la simple recherche des meilleurs coefficients AR, I et MA. Si c'est correct, il faudrait plus d'analyse et quelques autres fonctions R pour avoir des fonctionnalités similaires. Et IrishStats est un membre précieux de cette communauté, et très sympathique.

Bien sûr, R est gratuit et peut faire des milliards de choses au-delà d'ARIMA.

Un autre choix gratuit pour l'ARIMA de style économique est celui X13-ARIMA SEATSdu US Census Bureau, qui est open source. Il existe des binaires pour Windows et Linux, mais ils se sont compilés directement sur mon Mac, étant donné que j'avais déjà chargé le compilateur gfortran de gnu. Il est le successeur de X12-ARIMA, et vient d'être publié ces derniers jours, après des années de développement et de tests. (Il met à jour X12 et ajoute également des fonctionnalités SEATS / TRAMO. X12 est l'outil officiel américain, tandis que SEATS / TRAMO est de la Banque d'Espagne et est "l'outil européen".)

J'aime beaucoup X12 (et maintenant X13). Si vous produisez une bonne quantité de diagnostics et les lisez et apprenez ce qu'ils signifient, ils constituent en fait une assez bonne éducation en ARIMA et en séries chronologiques. J'ai développé mon propre workflow, mais il y a un package Rx12 pour effectuer la plupart des travaux à partir de R (vous devez toujours créer le fichier de modèle d'entrée (".spc") pour X12).

Je dis que X12 est bon dans le "style économique" ARIMA pour signifier des données mensuelles avec plus de 3 ans de données. (Vous avez besoin de plus de 5 ans de données pour utiliser certaines fonctionnalités de diagnostic.) Il dispose d'une fonction d'identification des valeurs aberrantes, peut gérer toutes sortes de spécifications aberrantes et peut gérer les jours fériés, les jours fériés flottants, les effets des jours de bourse et une foule de choses économiques. C'est l'outil que le gouvernement américain utilise pour créer des données désaisonnalisées.

Wayne
la source
Ma question a vraiment été donnée un ensemble de données si les deux algorithmes peuvent éventuellement produire des sélections de modèle différentes. C'est vraiment la sélection automatique qui m'intéresse et non pas toutes les autres fonctionnalités de diagnostic que l'on peut trouver que l'autre n'a pas. Il est connu que la famille de modèles ARMA et deux modèles de la famille peuvent être des représentations alternatives exactes ou presque exactes du même modèle. Donc s'il y a des différences mineures dans les processus de sélection, je pense qu'ils pourraient donner des choix de modèles différents.
Michael R. Chernick
3
@MichaelChernick: Ah. Je suppose que si vous désactivez toutes les commandes automatiques, autoboxvous obtiendrez la même réponse. Mais l'un des points d'utilisation autoboxest qu'il détectera les valeurs aberrantes et les traitera comme tel, donc le modèle renvoyé serait différent s'il y a des valeurs aberrantes.
Wayne
@Wayne +1 pour les informations supplémentaires sur les sièges X13-ARIMA et SEATS / TRAMO.
Graeme Walsh
@Wayne Soit dit en passant, un autre "outil européen" est DEMETRA + .
Graeme Walsh