2013-04-29 3 views
2

J'ai ajusté le modèle ci-dessous à mes données de séries temporelles. Le xreg consiste en un vecteur de temps qui va de 1 à 1000 et de 12 variables indicatrices (1 ou 0) qui représentent le mois. Les données que je traite ont de fortes tendances saisonnières hebdomadaires et mensuelles.Comment spécifier newxreg dans le modèle de prédiction d'ARIMA?

fit <- arima(x, order = c(3, 0, 0), 
    seasonal = list(order = c(1, 0, 1), period = 7), 
    xreg = cbind(t, M1, M2, M3, M4, M5, 
    M6, M7, M8, M9, M10, M11, M12), include.mean = FALSE, 
    transform.pars = TRUE, 
    fixed = NULL, init = NULL, 
     method = c("CSS-ML", "ML", "CSS"), 
     optim.method = "BFGS", 
     optim.control = list(), kappa = 1e6) 

A ce moment, je suis en train de comprendre comment je peux prédire 14 valeurs pour le mois de Janvier (M1=1). Donc, quand j'utilise la fonction de prédiction dans R, je pense que je dois spécifier dans la partie newxreg que je veux M1=1 et M2,...,M12=0 pour ma prédiction - correct? J'ai joué avec le code, mais je n'ai pas réussi à le faire fonctionner et je n'ai pas pu trouver d'informations très détaillées sur la partie newxreg de la formule de prédiction en ligne. Est-ce que quelqu'un peut m'expliquer comment je peux obtenir des prédictions pour un mois partigulaire, disons Janvier? Et comment dois-je noter cela dans la partie newxreg de la fonction predict?

Merci beaucoup d'avance!

Répondre

6

J'ai finalement trouvé un moyen de sortir et je voulais l'afficher - dans le cas où cela aide quelqu'un d'autre. Donc, fondamentalement, newxreg devrait être une matrice qui contient les valeurs des régresseurs pour lesquels vous voulez des prédictions. Donc dans mon cas, mes régresseurs étaient tous 1 ou 0 (variables codées) pour spécifier un mois particulier. Donc ce que j'ai fait, c'est que j'ai créé une matrice de 0 et de 1 à utiliser comme newxreg. Ce que j'ai fait, c'est que j'ai défini une matrice mx, puis dans la fonction de prédiction, j'ai défini newxreg = mx. Je me suis assuré que le nombre de lignes de mx> = nombre de rangées de n.ahead.

pred < - prédire (ajustement, n.ahead = n, newxreg = mx)

Espérons que cela est utile pour les autres aussi!

Questions connexes