Estoy trabajando en un pequeño proyecto con una serie de tiempo que mide los datos de visitas del cliente (diariamente). Mis covariables son una variable continua Day
para medir cuántos días han transcurrido desde el primer día de recopilación de datos, y algunas variables ficticias, como si ese día es Navidad y qué día de la semana es, etc.
Parte de mis datos se ve así:
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
Mi plan es usar el modelo ARIMAX para ajustar los datos. Esto se puede hacer en R, con la función auto.arima()
. Entiendo que tengo que poner mis covariables en el xreg
argumento, pero mi código para esta parte siempre devuelve un error.
Aquí está mi código:
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)
El mensaje de error devuelto por R es:
Error in model.frame.default(formula = x ~ xreg, drop.unused.levels = TRUE)
:variable lengths differ (found for 'xreg')
Aprendí mucho de Cómo ajustar un modelo ARIMAX con R? Pero todavía no tengo muy claro cómo configurar las covariables o las variables ficticias en el xreg
argumento en auto.arima()
función.
fuente
diff
unts
objeto, acortas su longitud en al menos una observación.auto.arima(diff(visits), xreg = xreg)
está pidiendoauto.arima
ajustar un modelo ARIMA en 48 observaciones usando regresores externos connrow
49.