Kurs
Eine Zeitreihe ist ein Messwert bzw. eine Metrik, die in regelmäßigen Abständen über die Zeit erfasst wird. Beispiele für Zeitreihenanalysen sind Finanzen, Aktienkurse, Wetterdaten, Verbrauchsstudien und vieles mehr.
Ein Zeitreihenmodell lässt sich entwickeln durch:
- Das Verständnis der zugrunde liegenden Kräfte und Strukturen, die die beobachteten Daten erzeugt haben.
- Das Anpassen eines Modells und anschließendes Forecasting, Monitoring oder sogar Feedback- und Feedforward-Kontrolle.
In diesem Tutorial bekommst du einen Überblick über stationäre und nicht-stationäre Zeitreihenmodelle. Du lernst, eine Zeitreihe zu identifizieren, indem du ihre ACF und PACF berechnest. Die Verläufe dieser Funktionen erlauben es, die Stationarität einer Zeitreihe zu beurteilen. Nicht-stationäre Reihen können wir durch Differenzbildung stationär machen. Wenn du die Natur einer Reihe kennst, lassen sich künftige Werte mit einem passenden Modell gut vorhersagen. Eine Illustration mit realen Daten aus dem TSA-Paket von R ist ebenfalls Teil dieses Tutorials.
Stationäre Prozesse
Sei $X$ eine Zufallsvariable, die nach der Zeit indiziert ist (in der Regel mit $t$ bezeichnet). Die Beobachtungen $\left\{x_t,\,t\in \textbf{N}\right\}$ heißen Zeitreihe. $\textbf{N}$ ist die Menge der ganzen Zahlen und dient hier als Zeitindex. $N$ kann auch ein Zeitstempel sein. Stationarität ist eine zentrale Annahme in Zeitreihenmodellen und impliziert Homogenität: Die Reihe verhält sich unabhängig vom Zeitpunkt ähnlich, ihre statistischen Eigenschaften ändern sich also nicht über die Zeit. Man unterscheidet starke und schwache Stationarität.
Definition 1
Ein Prozess $\left\{x_t,\,t\in \textbf{N}\right\}$ heißt streng oder stark stationär, wenn seine Verteilungen nach einer Verschiebung auf der Zeitskala unverändert bleiben. Da die Verteilungen eines stochastischen Prozesses durch die endlichdimensionalen Verteilungsfunktionen definiert sind, lässt sich eine äquivalente Definition formulieren: Für jedes $n$, jede Wahl von Zeitpunkten $t_1, t_2, \ldots, t_n\in \textbf{N}$ und jeden Zeitversatz $k$ mit $t_{i+k}\in\textbf{N}$ hat der $n$-dimensionale Zufallsvektor $(X_{t_1+k}, X_{t_2+k}, \ldots, X_{t_n+k})$ die gleiche Verteilung wie der Vektor $(X_{t_1}, X_{t_2}, \ldots, X_{t_n})$. Das heißt für $h$ und $x_i$
\begin{align*} P(X_{t_1}\leq x_1, X_{t_2}\leq x_2, \ldots, X_{t_k}\leq x_k) &= F(x_{t_1}, x_{t_2}, \ldots, x_{t_k})\\ &= F(x_{h+t_1}, x_{h+t_2}, \ldots, x_{h+t_k})\\ &= P(X_{h+t-1}\leq x_1, X_{h+t_2}\leq x_2, \ldots, X_{h+t_k}\leq x_k) \end{align*}
für jeden Zeitschift $h$ und jede Beobachtung $x_j$. Ist $\left\{X-t,\,t\in\textbf{N}\right\}$ streng stationär, dann ist die Randverteilung von $X_t$ unabhängig von $t$. Auch die zweidimensionalen Verteilungen von $(X_{t_1}, X_{t_2})$ hängen nicht vom absoluten Ort von $t_1$ und $t_2$ ab, sondern nur vom Abstand $t_1-t_2$. Daraus folgt, dass die Erwartungsfunktion $E(X)$ konstant ist und die Kovarianz $Cov(X_t,X_{t-k})$ nur eine Funktion von $k$ ist, nicht vom absoluten Ort von $k$ und $t$. Bei höheren Momenten wie dem dritten Moment bleibt $E[X_uX_tX_v]$ unverändert, wenn man $s, t, u$ um eine konstante Zeit verschiebt.
Definition 2
Eine univariate Zeitreihe $X_t$ ist stationär, wenn ihr Mittelwert, ihre Varianz und ihre Kovarianz zeitunabhängig sind. Ist $X_t$ eine Zeitreihe (oder ein stochastischer Prozess, d. h. nach der Zeit geordnete Zufallsvariablen) definiert für $t=1,2,3,\ldots, n$ sowie für $t=0, -1, -2, -3, \ldots$, dann ist $X_t$ schwach stationär, wenn gilt:
\begin{align} (i) & E[X_t] = \mu\\ (ii) & E\left[(X-\mu)^2\right] = Var(X_t) = \gamma(0) = \sigma^2\\ (iii) & E\left[(X_t-\mu)(X_{t-k}-\mu)\right] = Cov(X_t, X_{t-k}) = \gamma(k) \end{align}
Die ersten beiden Bedingungen ($(i)$ und $(ii)$) fordern konstantes Mittel und konstante Varianz. Bedingung $(iii)$ verlangt, dass die Kovarianz zwischen zwei Werten (die Kovarianzfunktion) nur vom Zeitabstand $k$ zwischen diesen Werten abhängt und nicht vom Zeitpunkt $t$.
Ist ein Prozess normalverteilt mit endlichen zweiten Momenten, dann sind schwache und starke Stationarität äquivalent. Strenge Stationarität impliziert schwache nur, wenn die notwendigen Momente existieren. Starke Stationarität erfordert zudem Verteilungsannahmen. Die starke Form gilt oft als zu restriktiv, daher betrachten wir meist die schwache Stationarität, auch Kovarianz-, Weit- oder Zweiter-Ordnung-Stationarität genannt.
Stationarität und zufällige Zeitreihen (stochastischer Prozess)
Eine Zeitreihe, deren Beobachtungen um einen konstanten Mittelwert schwanken, eine konstante Varianz haben und stochastisch unabhängig sind, ist eine zufällige Zeitreihe. Solche Reihen zeigen kein Muster:
- Beobachtungen zeigen keinen Aufwärts- oder Abwärtstrend.
- Die Varianz nimmt mit der Zeit weder zu noch ab.
- Beobachtungen sind in manchen Perioden nicht systematisch größer als in anderen.
Ein Beispiel für ein stationäres Zufallsmodell ist
$$X_t = \mu+\varepsilon_t$$ wobei $\mu$ ein konstanter Mittelwert ist mit $E[X_t] = \mu$ und $\varepsilon_t$ ein Rauschterm mit Erwartungswert null, konstanter Varianz und Unabhängigkeit (auch „weißes Rauschen“).
Simulation einer zufälligen Zeitreihe
# rein zufälliger Prozess mit Mittelwert 0 und Standardabweichung 1.5
eps <- rnorm(100, mean = 0, sd = 1)
mu <- 2 # der konstante Mittelwert
# Der Prozess
X_t <- mu + eps
# Zeitreihe plotten
ts.plot(X_t, main = "Example of (random) stationary time series", ylab = expression(X[t]))
Der simulierte Prozess schwankt um den konstanten Mittelwert $\mu = 2$.
Autokovarianzfunktion
Die theoretische Autokovarianzfunktion (ACF) eines stationären stochastischen Prozesses ist ein wichtiges Werkzeug zur Beurteilung von Zeitreiheneigenschaften. Sei $X_t$ ein stationärer stochastischer Prozess mit Mittel $\mu$ und Varianz $\sigma^2$. Die ACF bei Lag $k$, $\gamma(k)$, ist $$\gamma(k) = \frac{\gamma(k)}{\gamma(0)} = \frac{\gamma(k)}{\sigma^2}$$
Die ACF ist ein normalisiertes Maß der Autokovarianz und besitzt mehrere Eigenschaften.
Eigenschaften der ACF
- $\rho(0) = 1$
- Die ACF ist eine gerade Funktion der Lags, d. h. $\rho(k) = \rho(-k)$.
- $|\rho(-k)| \leq 1$
Die ACF des obigen Prozesses ist in der folgenden Abbildung dargestellt.
# Autokovarianzfunktion der simulierten stationären zufälligen Zeitreihe
acf(X_t, main = "Auto-covariance function of X")
Hinweis 1: Nicht-Eindeutigkeit ist ein Merkmal der ACF. Selbst wenn ein gegebener Prozess eine eindeutige Kovarianzstruktur hat, gilt umgekehrt meist nicht: Es können mehrere stochastische Prozesse dieselbe ACF besitzen. Dadurch entstehen Spezifikationsprobleme, wie in [@jenkinsd] illustriert.
Hinweis 2: Aus der Autokorrelationsfunktion eines stationären Prozesses ergibt sich eine besondere Matrix: die Toeplitz-Matrix. Sie ist eine Varianz-Kovarianz-Matrix der Ordnung $m = t-k$ (der Lag, inklusive Autokorrelationen bis Lag $m-1$), also diagonal aufgebaut, symmetrisch und positiv definit.
\begin{equation} \begin{pmatrix} 1 & \rho(1) & \rho(2) & \cdots & \rho(m-1)\\ \rho(1) & 1 & \rho(1) & \cdots & \rho(m-2)\\ \cdots &\cdots &\cdots &\cdots &\cdots\\ \rho(m-1) & \rho(m-2) & \cdots & \rho(1) & 1 \end{pmatrix} \end{equation}
Rein zufälliger Prozess bzw. weißes Rauschen
Ein diskreter Prozess $\left\{Z_t\right\}$ heißt rein zufällig, wenn die Zufallsvariablen $Z_t$ eine Folge voneinander unabhängiger und identisch verteilter (i.i.d.) Variablen bilden. Das impliziert konstanten Mittelwert und konstante Varianz.
$$\gamma(k) = cov(Z_t, Z_{t+k}) = 0,\quad\forall k\in -3,-2,-1,0,1,2,3, \ldots$$ Da Mittelwert und Autokovarianzfunktion (acvf) nicht von der Zeit abhängen, ist der Prozess zweitordnungs-stationär.
Random-Walk-Prozess
Ein Prozess $\left\{X_t\right\}$ heißt Random Walk, wenn $X_t = X_{t-1}+Z_t$ mit $Z_t$ als rein zufälligem Prozess mit Mittel $\mu$ und Varianz $\sigma^2_Z$. Üblicherweise startet der Prozess bei $t = 0$ und wir haben $X_1 = Z_0$, also $X_0 = 0$. Es gilt
\begin{align*} X_1 &= X_0 + Z_1, \quad\text{bei } t = 1\\ X_2 &= X_1 + Z_2 = X_0 + Z_1+ Z_2, \quad\text{bei } t = 2\\ X_3 &= X_2 + Z_3 = X_0 + Z_1+ Z_2 + Z_3, \quad\text{bei } t = 3\\ &\cdots\\ X_t &= X_0 + \sum_{i = 1}^tZ_i \end{align*}
Der erste Moment (Erwartungswert) dieses Prozesses ist $$E[X_t] = X_0 +\sum_{i = 1}^tE[Z_i] = X_0 + t\mu_z = t\mu_z$$ und die Varianz $$Var(X_t) = t\sigma^2_Z$$ Beachte: Mittelwert und Varianz ändern sich mit der Zeit, der Prozess ist also \textbf{nicht stationär}. Ein typisches Beispiel für Random-Walk-Verhalten sind Aktienkurse.
Simulation eines Random-Walk-Prozesses
# Startwert X_0 = 0
X <- 0
# rein zufälliger Prozess mit Mittelwert 0 und Standardabweichung 1.5
Z <- rnorm(100, mean = 0.5, sd = 1.5)
# der Prozess
for (i in 2:length(Z)){
X[i] <- X[i-1] + Z[i]
}
# Plot des Prozesses
ts.plot(X, main = "Random walk process")
Differenzbildung
Differenzieren ist die gängigste Methode, um eine Zeitreihe stationär zu machen. Es ist eine spezielle Form des Filterns und insbesondere zur Trendentfernung wichtig. Bei saisonalen Daten reicht meist die erste Differenzierung, um eine stationäre Erwartung zu erreichen. Sei $X_t = \left\{X_1, X_2,\ldots, X_n\right\}$ eine nicht-stationäre Zeitreihe. Die stationäre Reihe erhält man durch
$$\Delta X_{t+1} = X_{t+1}-X_t\quad\text{bzw. }\,\Delta X_{t} =X_t-X_{t-1}$$ das ist die Differenz erster Ordnung. Falls eine Differenz zweiter Ordnung erforderlich ist, nutzt man den Operator $\Delta^2$ als Differenz der ersten Differenzen:
$$\Delta^2X_{t+2} = \Delta X_{t+2} - \Delta X_{t+1}$$
# Differenzieren und Plotten des Random-Walk-Prozesses
ts.plot(diff(X))
Du siehst, dass die erste Differenz um den konstanten Mittelwert 0 schwankt. Mathematisch gilt
$$\Delta X_{t+1} = X_{t+1}-X_t = Z_t$$ was stationär ist, da es sich um einen rein zufälligen Prozess mit konstantem Mittel und konstanter Varianz handelt.
Gleitender Durchschnitt der Ordnung $q$: MA($q$)
Sei $\left\{Z_t\right\}$ ein rein zufälliger Prozess mit Mittel null und Varianz $\sigma^2_Z$. Der Prozess heißt Moving Average der Ordnung $q$, wenn
$$X_t = \beta_0Z_t-\beta_1Z_{t-1}-\cdots-\beta_q Z_{t-q}$$ wobei $\beta_i,\, i = 1,2,\ldots,q$ Konstanten sind. Die Zufallsvariablen $Z_t, \,t\in\textbf{N}$ werden üblicherweise so skaliert, dass $\beta_0=1$.
Simulation eines MA-Prozesses erster Ordnung
# rein zufälliger Prozess mit Mittelwert 0 und Standardabweichung 1.5 (willkürlich)
Z <- rnorm(100, mean = 0, sd = 1.5)
# Prozess-Simulation
X <- c()
for (i in 2:length(Z)) {
X[i] <- Z[i] - 0.45*Z[i-1]
}
# Plot des Prozesses
ts.plot(X, main = "Moving Average or order 1 process")
Für den MA(1)-Prozess lassen sich die drei Bedingungen wie folgt prüfen:
\begin{align} E[X_t] &= 0\\ Var(X_t) &= E[X_t^2] - 0 = E\left[Z_t^2-2\beta Z_tZ_{t-1}+\beta^2Z_{t-1}^2\right]= \sigma^2_Z+\beta^2\sigma^2_Z\\ \gamma(k) &= cov(X_t, X_{t+k}) = E[X_tX_{t+k}] - E[X_t]E[X_{t+k}] = E[X_tX_{t+k}]\\ &= E\left[(Z_t-\beta Z_{t-1})(Z_{t+k}-\beta Z_{t-1+k})\right]\\ &= E\left[Z_tZ_{t+k} - \beta Z_tZ_{t-1+k} -\beta Z_{t-1}Z_{t+k} + \beta^2 Z_{t-1}Z_{t-1+k}\right]\\ \end{align}
für $k = 0$ gilt $\gamma(0) = Var(X_t) = \sigma^2_Z(1+\beta^2)$
für $k = 1$ gilt $\gamma(1) = E\left[Z_tZ_{t+1} - \beta Z_t^2 -\beta Z_{t-1}Z_{t+1} + \beta^2 Z_{t-1}Z_{t}\right] = -\beta\sigma^2_Z$
und für $k>1$ gilt $\gamma(k) = 0$.
Damit hat der MA(1)-Prozess ab einem Versatz von mehr als einer Periode Kovarianz null. Er „merkt“ sich also nur eine Periode.
Die ACF für MA(1) ist daher
$$\rho(k) = \frac{\gamma(k)}{\gamma(0)} = \begin{cases}1, &\text{k }=0\\\frac{-\beta}{1+\beta^2}, & \text{k }\pm 1\end{cases}$$
Frage: Führe die Herleitung für MA(2) durch.
Daran siehst du, warum die Stichproben-Autokorrelationsfunktion bei der Bestimmung der Ordnung eines MA-Prozesses hilfreich ist: Die Autokorrelationsfunktion $\rho(k)$ eines MA(q) hat q von null verschiedene Werte (signifikant ungleich null) und ist für $k > q$ null. Für die Stationarität eines MA sind keine Einschränkungen an $\left\{\beta_i\right\}$ nötig. Für die Invertierbarkeit müssen $\left\{\beta_i\right\}$ jedoch eingeschränkt werden.
Autoregression der Ordnung $p$: AR($p$)
Sei $\left\{Z_t\right\}$ ein rein zufälliger Prozess mit Mittel null und Varianz $\sigma_Z^2$. Ein Prozess $\left\{X_t\right\}$ heißt autoregressiv der Ordnung $p$, wenn $$X_t = \alpha_1X_{t-1}+\alpha_2X_{t-2}+\cdots+\alpha_pX_{t-p}+Z_t$$ Beim AR($p$)-Prozess wird die aktuelle Beobachtung $X_t$ (z. B. heutige Rendite) aus einer gewichteten Summe vergangener Beobachtungen bis $p$ Perioden sowie einem unabhängigen Zufallsterm gebildet und hängt damit von früheren $X_t$-Werten ab – daher „autoregressiv“. Solche Prozesse wurden von [@greenwood1920inquiry] eingeführt. Der AR($p$) lässt sich mit Konstante schreiben als
$$X_t = \delta+\alpha_1X_{t-1}+\alpha_2X_{t-2}+\cdots+\alpha_pX_{t-p}+Z_t$$ wobei $\mu$ ein konstanter Term ist, der dem Mittel der Zeitreihe entspricht, und $\alpha_1, \alpha_2,\ldots, \alpha_p$ positiv oder negativ sein können. Der AR($p$) ist stationär, wenn $E[X_t] = E[X_{t-1}] = \cdots = E[X_p] = \mu$. Dann gilt
\begin{align*} E[X_t] = \mu &= \delta + \alpha_1\mu+\alpha_2\mu+\cdots+\alpha_p\mu+ 0\\ \Rightarrow \mu &= \frac{\delta}{1-\alpha_1-\alpha_2-\cdots-\alpha_p} \end{align*} Damit dieser Ausdruck konstant ist, betrachten wir die Bedingung $\alpha_1+\alpha_2+\cdots+\alpha_p<1$.
</1>
AR-Prozess erster Ordnung: AR(1)
Für $p=1$ gilt $$X_t = \alpha X_{t-1}+Z_t$$, der autoregressive Prozess erster Ordnung AR(1), auch Markov-Prozess genannt. Mit dem Rückwärtsoperator $BX_t = X_{t-1}$ kannst du AR(1) als unendlichen MA-Prozess schreiben. Es gilt $$(1 - \alpha B)X_t = Z_t$$ also \begin{align*} X_t &= \frac{Z_t}{1-\alpha B}\\ &= (1+\alpha B +\alpha^2B^2+ \cdots)Z_t\\ &=Z_t+\alpha Z_{t-1}+\alpha^2Z_{t-2}+\cdots\\ &=Z_t+\beta_1 Z_{t-1}+\beta_2 Z_{t-2}+\cdots\\ \end{align*}
Dann ist $E[X_t] = 0$ und $Var(X_t) = \sigma^2_Z(1+\alpha^2+\alpha^4+\cdots)$. Die Reihe konvergiert für $|\alpha|<1$.
Frage: Gegeben ein AR(1)-Prozess $X_t = \alpha_1X_1+Z_t$ als rein zufälliger Prozess mit Mittel null und Varianz $\sigma^2_Z$ und einer Konstante $\alpha$ unter den notwendigen Bedingungen an $\alpha$: Leite Varianz und Autokovarianzfunktion von $X_t$ her.
Simulation eines AR(1)
# konstantes alpha
alpha = 0.5
# rein zufälliger Prozess mit Mittelwert 0 und Standardabweichung 1.5
Z <- rnorm(100, mean = 0, sd = 1.5)
# Startwert
X <- rnorm(1)
# der Prozess
for (i in 2:length(Z)) {
X[i] <- 0.7*X[i-1]+Z[i]
}
# Plot des Prozesses
ts.plot(X)
Frage: Formuliere die Stationaritätsbedingungen des AR(2)-Modells in Bezug auf die Parameterwerte. Zeige also die folgenden Bedingungen:

Du kannst einen AR-Prozess endlicher Ordnung p auch als MA-Prozess unendlicher Ordnung darstellen, per sukzessiver Substitution oder mithilfe des Rückwärtsoperators.
Autoregressive Moving-Average-Prozesse: ARMA($p,q$)
In der Modellierung kann es nötig sein, AR- und MA-Terme zu kombinieren. Das führt zu gemischten autoregressiven–Moving-Average-(ARMA-)Prozessen. Ein ARMA-Prozess mit $p$ AR-Termen und $q$ MA-Termen ist von Ordnung $(p, q)$ und gegeben durch
$$X_t = \alpha_1X_{t-1}+\alpha_2X_{t-2}+\cdots+\alpha_pX_{t-p}+Z_t-\beta_1Z_{t-1}-\beta_2Z_{t-2}-\cdots-\beta_qZ_{t-q}$$ Mit dem Rückwärtsoperator B lässt sich das schreiben als
$$\alpha_p(B)X_t = \beta_q(B)Z_t$$ wobei $\alpha_p(B)$ und $\beta_q(B)$ Polynome der Ordnung $p$ bzw. $q$ sind mit
\begin{align*} \alpha_p(B) &= \left(1-\alpha_1 B-\cdots-\alpha_p B^p\right)\\ \beta_q(B) &= \left(1-\beta_1 B-\cdots-\beta_p B^p\right) \end{align*}
Für Invertierbarkeit müssen die Wurzeln von $\beta_q(B)$ außerhalb des Einheitskreises liegen. Für Stationarität müssen die Wurzeln von $\alpha_p(B)=0$ außerhalb des Einheitskreises liegen. Außerdem teilt man an, dass $\alpha_p(B)=0$ und $\beta_q(B) = 0$ keine gemeinsamen Wurzeln haben.
ARMA(1,1)-Prozess
Dieser Prozess ist von Ordnung $(1,1)$ und gegeben durch $$X_t = \alpha_1X_{t-1}+Z_t-\beta_1Z_{t-1}$$
Für Stationarität und Invertierbarkeit gelten $|\alpha_1|<1$ und $|\beta_1|<1$. Ist $\alpha < 0$, reduziert sich ARMA(1,1) auf MA(1), und für $\beta_1<0$ auf AR(1). Ein ARMA(1,1)-Prozess lässt sich mit dem Rückwärtsoperator in eine rein autoregressive Darstellung überführen:
$$(1-\alpha_1B)X_t = (1-\beta_1B)Z_t$$
Es gilt
\begin{align*} \frac{1-\alpha_1B}{1-\beta_1B}X_t &= Z_t\\ \pi(B)X_t &= Z_t \end{align*}
mit
\begin{align*} \pi(B) = 1-\pi_1B-\pi_2B^2-\ldots &= \frac{1-\alpha_1B}{1-\beta_1B}\\ (1-\beta_1B)(1-\pi_1B-\pi_2B^2-\ldots) &= 1-\alpha_1B\\ 1-\left[(\pi_1+\beta_1)B - (\pi_2+\beta_2)B^2 - (\pi_3+\beta_3)B^3\right] & = 1-\alpha_1B \end{align*}
Durch Koeffizientenvergleich erhält man $$\pi_j = \beta_1^{j-1}(\alpha_1-\beta_1),\,\text{für }\, j\geq1$$
Autokorrelationsfunktion des ARMA(1,1)
Der Erwartungswert von $X_t$ ist $E[X_t] = \alpha_1E[X_{t-1}]$, und unter Stationarität gilt $E[X_t] = E[X_{t-1}] = \mu = 0$. Das ist nützlich zur Herleitung der Autokovarianzfunktion, die wie folgt erhalten wird:
- $X_tX_{t-k} = \alpha_1X_{t-k}X_{t-1}+X_{t-k}Z_t-\beta_1X_{t-k}Z_{t-1}$
- Erwartungswert auf beiden Seiten: \begin{align*} E\left[X_tX_{t-k}\right] &= E\left[\alpha_1X_{t-k}X_{t-1}\right]+E\left[X_{t-k}Z_t\right]-\beta_1E\left[X_{t-k}Z_{t-1}\right]\\ \gamma(k)&=\alpha_1\gamma(k-1)+E\left[X_{t-k}Z_t\right]-\beta_1E\left[X_{t-k}Z_{t-1}\right] \end{align*}
Für $k = 0$ gilt
\begin{align*} \gamma(1)&=\alpha_1\gamma(0)+E\left[X_{t-1}Z_t\right]-\beta_1E\left[X_{t-1}Z_{t-1}\right]\\ &=\alpha_1\left(\alpha_1\gamma(1)+ \sigma^2_Z - \beta_1(\alpha_1-\beta_1)\sigma^2_Z\right)-\beta_1\sigma^2_Z\\ &= \alpha^2\gamma(1)+(\alpha_1-\beta_1)(1-\alpha_1\beta_1)\sigma^2_Z\\ \Rightarrow \gamma(1)&=\frac{(\alpha_1-\beta_1)(1-\alpha_1\beta_1)\sigma^2_Z}{1-\alpha^2}\\ \Rightarrow \gamma(0)&=\alpha_1\frac{(\alpha_1-\beta_1)(1-\alpha_1\beta_1)\sigma^2_Z}{1-\alpha^2}+ \sigma^2_Z - \beta_1(\alpha_1-\beta_1)\sigma^2_Z\\ &=\frac{\left(1+\beta_1^2-2\alpha_1\beta_1\right)\sigma_Z^2}{1-\alpha^2} \end{align*}
Für $k \geq 2$ gilt
\begin{align*} \gamma(2)&=\alpha_1\gamma(k-1) \end{align*}
Damit ist die ACF von ARMA(1,1):
$$\rho(k) = \begin{cases} 1, &\text{für }\,k=0\\ \frac{(\alpha_1-\beta_1)(1-\alpha_1\beta_1)}{1+\beta_1^2-2\alpha_1\beta_1},&\text{für }\,k=1\\ \alpha_1\rho(k-1), &\text{für }\,k\geq2\\ \end{cases} $$ Die ACF von ARMA(1,1) kombiniert die Eigenschaften von AR(1) und MA(1). Beide Parameter fließen in $\rho(1)$ ein. Für $\rho(1)$ hinaus folgt die ACF eines ARIMA(1,1)-Modells demselben Muster wie die ACF eines AR(1).
Frage: Bestimme die partielle Autokorrelationsfunktion (PACF) des ARMA(1,1)-Prozesses.
Hinweis: Zeitreihenprozesse lassen sich über ACF und PACF charakterisieren. Die wichtigste Aufgabe in der Zeitreihenanalyse ist es, anhand der verfügbaren Daten ein Modell zu identifizieren und zu bauen, wobei ACF und PACF unbekannt sind.
Simulation eines ARMA(1,1)-Prozesses
# rein zufälliger Prozess mit Mittelwert 0 und Standardabweichung 1.5
Z <- rnorm(100, mean = 0, sd = 1.5)
# Prozess
X <- rnorm(1)
for (i in 2:length(Z)) {
X[i] <- 0.35*X[i-1] + Z[i] + 0.4*Z[i-1]
}
# Plot des Prozesses
ts.plot(X, main = "ARMA(1,1) process")
# ACF und PACF
par(mfrow = c(1,2))
acf(X); pacf(X)
ARIMA($p,d,q$)-Prozess
Autoregressive Integrated Moving-Average-Modelle sind Zeitreihen, die durch folgende Gleichung definiert sind:
SARIMA(p,d,q)(P,D,Q)-Prozess
Forecasting
In diesem Abschnitt verwendest du reale Zeitreihen, um das optimale Modell zu finden. Dafür nutzt du das Paket forecast. Die Funktion auto.arima passt basierend auf den Daten das optimale Modell an, und mit forecast lassen sich h Perioden in die Zukunft vorhersagen.
# Zu verwendende R-Pakete
library(forecast)
library(TSA)
Beispiel 1:
# Daten aus dem TSA-Paket
data("co2")
data("boardings")
# Modellanpassung
fit <- auto.arima(co2)
# Zeitreihen-Plot
plot(fc <- forecast(fit, h = 15))
Beispiel 2:
data("boardings")
# Modellanpassung
fit2 <- auto.arima(boardings[,"log.price"])
# Forecasting
plot(fc2 <- forecast(fit2, h = 15))
Referenzen
Greenwood, Major, und G Udny Yule. 1920. “An Inquiry into the Nature of Frequency Distributions Representative of Multiple Happenings with Particular Reference to the Occurrence of Multiple Attacks of Disease or of Repeated Accidents.” Journal of the Royal Statistical Society 83 (2). JSTOR: 255–79.
Jenkins, GM. o. J. “D. G. Watts (1968) Spectral Analysis and Its Applications.” San Francisco.
Fazit
In diesem Tutorial hast du viele Aspekte der Zeitreihenanalyse in R kennengelernt: Was stationäre Prozesse sind, die Simulation von Zufallsvariablen und zufälligen Zeitreihen, den Random-Walk-Prozess und mehr. Außerdem hast du Autoregressionen der Ordnung p: AR(p), SARIMA(p,d,q)(P,D,Q) sowie Forecasting behandelt.
Wenn du mehr über Zeitreihen in R lernen möchtest, schau dir diese DataCamp-Kurse an: