Je travaille sur un petit projet avec une série chronologique qui mesure les données de visites des clients (quotidiennement). Mes covariables sont une variable continue Day
pour mesurer le nombre de jours écoulés depuis le premier jour de collecte des données, et certaines variables factices, telles que le jour de Noël ou le jour de la semaine, etc.
Une partie de mes données ressemble à:
Date Customer_Visit Weekday Christmas Day
11/28/11 2535 2 0 1
11/29/11 3292 3 0 2
11/30/11 4103 4 0 3
12/1/11 4541 5 0 4
12/2/11 6342 6 0 5
12/3/11 7205 7 0 6
12/4/11 3872 1 0 7
12/5/11 3270 2 0 8
12/6/11 3681 3 0 9
Mon plan est d'utiliser le modèle ARIMAX pour ajuster les données. Cela peut être fait en R, avec la fonction auto.arima()
. Je comprends que je dois mettre mes covariables dans l' xreg
argument, mais mon code pour cette partie renvoie toujours une erreur.
Voici mon code:
xreg <- c(as.factor(modelfitsample$Christmas), as.factor(modelfitsample$Weekday),
modelfitsample$Day)
modArima <- auto.arima(ts(modelfitsample$Customer_Visit, freq=7), allowdrift=FALSE,
xreg=xreg)
Le message d'erreur renvoyé par R est:
Error in model.frame.default(formula = x ~ xreg, drop.unused.levels = TRUE)
:variable lengths differ (found for 'xreg')
J'ai beaucoup appris de Comment adapter un modèle ARIMAX avec R? Mais je ne sais toujours pas très bien comment configurer les covariables ou les variables muettes dans l' xreg
argument en auto.arima()
fonction.
la source
diff
unts
objet, vous raccourcissez sa longueur d'au moins une observation.auto.arima(diff(visits), xreg = xreg)
demandeauto.arima
d'ajuster un modèle ARIMA sur 48 observations en utilisant des régresseurs externes avecnrow
des 49.