Im Allgemeinen sollten Sie ein Lehrbuch für fortgeschrittene Zeitreihenanalysen lesen (in Einführungsbüchern werden Sie normalerweise angewiesen, nur Ihrer Software zu vertrauen), wie z. B. Zeitreihenanalyse von Box, Jenkins & Reinsel. Sie können Details zum Box-Jenkins-Verfahren auch durch Googeln finden. Beachten Sie, dass es andere Ansätze als Box-Jenkins gibt, z. B. AIC-basierte.
In R konvertieren Sie zuerst Ihre Daten in ein ts
(Zeitreihen-) Objekt und teilen R mit, dass die Häufigkeit 12 (monatliche Daten) beträgt:
require(forecast)
sales <- ts(c(99, 58, 52, 83, 94, 73, 97, 83, 86, 63, 77, 70, 87, 84, 60, 105, 87, 93, 110, 71, 158, 52, 33, 68, 82, 88, 84),frequency=12)
Sie können die (teilweisen) Autokorrelationsfunktionen zeichnen:
acf(sales)
pacf(sales)
Diese deuten nicht auf ein AR- oder MA-Verhalten hin.
Dann passen Sie ein Modell an und inspizieren es:
model <- auto.arima(sales)
model
Siehe ?auto.arima
für Hilfe. Wie wir sehen, auto.arima
wählt ein einfaches (0,0,0) Modell, da es weder Trend noch Saisonalität noch AR oder MA in Ihren Daten sieht. Schließlich können Sie die Zeitreihen und Prognosen prognostizieren und grafisch darstellen:
plot(forecast(model))
Schauen Sie sich an ?forecast.Arima
(beachten Sie die Hauptstadt A!).
Dieses kostenlose Online-Lehrbuch ist eine großartige Einführung in die Analyse und Vorhersage von Zeitreihen mit R. Sehr zu empfehlen.
Zwei Dinge. Ihre Zeitreihe ist monatlich, Sie benötigen mindestens 4 Jahre Daten für eine sinnvolle ARIMA-Schätzung, da reflektierte 27 Punkte nicht die Autokorrelationsstruktur ergeben. Dies kann auch bedeuten, dass Ihr Umsatz von einigen externen Faktoren beeinflusst wird und nicht mit dem eigenen Wert korreliert. Versuchen Sie herauszufinden, welcher Faktor Ihren Umsatz beeinflusst und welcher Faktor gemessen wird. Anschließend können Sie eine Regression oder VAR (Vector Autoregression) ausführen, um Prognosen abzurufen.
Wenn Sie absolut nichts anderes als diese Werte haben, verwenden Sie am besten eine exponentielle Glättungsmethode, um eine naive Prognose zu erhalten. Die exponentielle Glättung ist in R verfügbar.
Zweitens sehen Sie den Verkauf eines Produkts nicht isoliert, der Verkauf von zwei Produkten könnte korreliert sein. Beispielsweise kann ein Anstieg des Kaffeeverkaufs einen Rückgang des Teeverkaufs widerspiegeln. Verwenden Sie die anderen Produktinformationen, um Ihre Prognose zu verbessern.
Dies geschieht normalerweise bei Verkaufsdaten im Einzelhandel oder in der Lieferkette. Sie zeigen nicht viel Autokorrelationsstruktur in der Serie. Auf der anderen Seite arbeiten Methoden wie ARIMA oder GARCH normalerweise mit Börsendaten oder Wirtschaftsindizes, bei denen Sie im Allgemeinen eine Autokorrelation haben.
quelle
Dies ist wirklich ein Kommentar, der jedoch den zulässigen Wert überschreitet. Daher poste ich ihn als Quasi-Antwort, da er den richtigen Weg zur Analyse von Zeitreihendaten vorschlägt. .
Die bekannte Tatsache, die hier und anderswo oft ignoriert wird, ist, dass der theoretische ACF / PACF, der zur Formulierung eines vorläufigen ARIMA-Modells verwendet wird, keine Impulse / Pegelverschiebungen / saisonalen Impulse / lokalen Zeittrends voraussetzt. Zusätzlich werden konstante Parameter und eine konstante Fehlervarianz über die Zeit vorausgesetzt. In diesem Fall wird die 21. Beobachtung (Wert = 158) leicht als Ausreißer / Impuls gekennzeichnet, und eine vorgeschlagene Anpassung von -80 ergibt einen modifizierten Wert von 78. Der resultierende ACF / PACF der modifizierten Reihe zeigt wenig oder keinen Hinweis auf eine stochastische (ARIMA) Struktur. In diesem Fall war die Operation ein Erfolg, aber der Patient starb. Der Stichproben-ACF basiert auf der Kovarianz / Varianz, und eine übermäßig aufgeblasene / aufgeblähte Varianz führt zu einer Abwärtsverzerrung des ACF. Prof. Keith Ord hat dies einmal als "Alice im Wunderland-Effekt" bezeichnet.
quelle
Wie Stephan Kolassa betont hat, sind Ihre Daten nicht sehr strukturiert. Die Autokorrelationsfunktionen schlagen keine ARMA-Struktur vor (siehe
acf(sales)
,pacf(sales)
) undforecast::auto.arima
wählen keine AR- oder MA-Reihenfolge.Beachten Sie jedoch, dass die Null der Normalität in den Residuen bei einem Signifikanzniveau von 5% abgelehnt wird.
Hinweis:
JarqueBera.test
basiert auf derjarque.bera.test
im Paket verfügbaren Funktiontseries
.Einschließlich des additiven Ausreißers bei Beobachtung 21, der mit der
tsoutliers
Normalität erkannt wird, ergibt sich eine Normalität in den Residuen. Somit werden die Schätzung des Abschnitts und die Vorhersage von der äußeren Beobachtung nicht beeinflusst.quelle