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?
time-series
arima
automatic-algorithms
Michael R. Chernick
la source
la source
auto.arima
fonctions dans d'autres packages, mais il y en a certainement uneforecast
, 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. "Réponses:
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.
la source
Ils représentent deux approches différentes de deux problèmes similaires mais différents. J'ai écrit
auto.arima
et @IrishStat est l'auteur deAutobox
.auto.arima()
convient aux modèles ARIMA (saisonniers), y compris les termes de dérive.Autobox
s'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 enauto.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 queAutobox
pour ces données. Cependant,Autobox
fera mieux avec des données contenant des valeurs aberrantes majeures et des changements de niveau.la source
EDIT: Selon votre commentaire, je pense que si vous désactivez la plupart des
autobox
options, vous obtiendrez probablement une réponse similaireauto.arima
. Mais si vous ne le faites pas, et en présence de valeurs aberrantes, il y aura certainement une différence:auto.arima
ne se soucie pas des valeurs aberrantes, toutautobox
en 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
autobox
dé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 SEATS
du 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 deX12-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 R
x12
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.
la source
autobox
vous obtiendrez la même réponse. Mais l'un des points d'utilisationautobox
est 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.