Ich arbeite an einem kleinen Projekt mit einer Zeitreihe, die die Kundenbesuchsdaten (täglich) misst. Meine Kovariaten sind eine kontinuierliche Variable Day
, um zu messen, wie viele Tage seit dem ersten Tag der Datenerfassung vergangen sind, und einige Dummy-Variablen, z. B. ob dieser Tag Weihnachten ist und welcher Wochentag es ist usw.
Ein Teil meiner Daten sieht so aus:
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
Mein Plan ist es, das ARIMAX-Modell zu verwenden, um die Daten anzupassen. Dies kann in R mit der Funktion erfolgen auto.arima()
. Ich verstehe, dass ich meine Kovariaten in das xreg
Argument einfügen muss, aber mein Code für diesen Teil gibt immer einen Fehler zurück.
Hier ist mein 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)
Die von R zurückgegebene Fehlermeldung lautet:
Error in model.frame.default(formula = x ~ xreg, drop.unused.levels = TRUE)
:variable lengths differ (found for 'xreg')
Ich habe viel gelernt von Wie kann ich ein ARIMAX-Modell mit R ausrüsten? Ich bin mir aber immer noch nicht ganz sicher, wie ich die Kovariaten oder Dummies in der xreg
Argumentation in auto.arima()
Funktion setzen soll.
quelle
diff
eints
Objekt haben, verkürzen Sie dessen Länge um mindestens eine Beobachtung.auto.arima(diff(visits), xreg = xreg)
bittetauto.arima
um die Anpassung eines ARIMA-Modells an 48 Beobachtungen mit externen Regressoren mitnrow
49.