Time Series — Algebra dan Stasioneritas

AR, MA, ARMA, Unit Root, VAR

econometrics-math
intermediate
Matematika stasioneritas, proses AR/MA/ARMA, unit root dan spurious regression, VAR systems, dan kointegrasi. Kenapa data non-stasioner berbahaya dan cara mendeteksinya.

1 Kenapa Ini Penting?

NoteWhy This Matters for Your Work

Spurious regression, unit roots, kointegrasi — ini adalah jebakan klasik time series econometrics. Kalau kamu pernah menemukan \(R^2\) tinggi dan t-stats signifikan antara dua seri yang seharusnya tidak berkorelasi, itu kemungkinan besar spurious regression.

Math time series memberi kamu: - Pemahaman mengapa data non-stasioner menyebabkan masalah (distribusi OLS t-stat runtuh) - Alat formal untuk menguji stasioneritas (ADF, KPSS) - Kerangka VAR untuk multi-variable dynamics - Konsep kointegrasi — long-run equilibrium relationship


2 Stasioneritas

ImportantDefinisi: Stasioneritas

Strict stationarity: distribusi joint \((y_{t_1}, y_{t_2}, \ldots, y_{t_k})\) sama dengan \((y_{t_1+h}, \ldots, y_{t_k+h})\) untuk semua \(h\) — distribusi time-invariant.

Covariance/Weak stationarity: kondisi lebih lemah: 1. \(E[y_t] = \mu\) (mean konstan, tidak bergantung pada \(t\)) 2. \(\text{Var}(y_t) = \sigma^2 < \infty\) (variance finite dan konstan) 3. \(\text{Cov}(y_t, y_{t-h}) = \gamma(h)\) bergantung hanya pada lag \(h\), bukan \(t\)

Untuk proses Gaussian, weak = strict stationarity.

Autocovariance function: \(\gamma(h) = \text{Cov}(y_t, y_{t-h})\)

Autocorrelation function (ACF): \(\rho(h) = \frac{\gamma(h)}{\gamma(0)} \in [-1, 1]\)

Partial ACF (PACF): korelasi \(y_t\) dan \(y_{t-h}\) setelah mengontrol \(y_{t-1}, \ldots, y_{t-h+1}\).

ACF dan PACF adalah tools diagnostik utama untuk identifikasi model ARMA.


3 AR(1) Process

3.1 Definisi dan Stasioneritas

\[y_t = \phi y_{t-1} + \varepsilon_t, \quad \varepsilon_t \sim WN(0, \sigma^2)\]

Kapan stasioner? Perlu \(|\phi| < 1\).

Iterasi mundur: \[y_t = \varepsilon_t + \phi\varepsilon_{t-1} + \phi^2\varepsilon_{t-2} + \cdots = \sum_{j=0}^\infty \phi^j \varepsilon_{t-j}\]

Ini adalah MA(\(\infty\)) representation — konvergen jika \(|\phi| < 1\).

3.2 Momen AR(1)

Mean (dengan \(E[\varepsilon_t] = 0\)): \[E[y_t] = \phi E[y_{t-1}] + 0 \quad \Rightarrow \quad \mu(1-\phi) = 0 \quad \Rightarrow \quad \mu = 0\]

Variance (menggunakan stationarity \(\text{Var}(y_t) = \text{Var}(y_{t-1}) = \sigma_y^2\)): \[\sigma_y^2 = \phi^2 \sigma_y^2 + \sigma^2 \quad \Rightarrow \quad \sigma_y^2 = \frac{\sigma^2}{1 - \phi^2}\]

Perhatikan: variance meledak saat \(\phi \to 1\).

ACF: \[\gamma(h) = \text{Cov}(y_t, y_{t-h}) = \phi^h \cdot \frac{\sigma^2}{1-\phi^2} \quad \Rightarrow \quad \rho(h) = \phi^h\]

ACF dari AR(1) adalah geometric decay. Positif/negatif bergantung pada sign \(\phi\).


4 AR(p) Process dan Characteristic Equation

4.1 Setup

\[y_t = \phi_1 y_{t-1} + \phi_2 y_{t-2} + \cdots + \phi_p y_{t-p} + \varepsilon_t\]

Menggunakan lag operator \(L\) (di mana \(Ly_t = y_{t-1}\)):

\[(1 - \phi_1 L - \phi_2 L^2 - \cdots - \phi_p L^p)y_t = \varepsilon_t\] \[\Phi(L)y_t = \varepsilon_t\]

4.2 Characteristic Polynomial

\[\Phi(z) = 1 - \phi_1 z - \phi_2 z^2 - \cdots - \phi_p z^p\]

Kondisi stasioneritas: semua akar dari \(\Phi(z) = 0\) berada di luar unit circle \(|z| > 1\).

Contoh: AR(2) \(\Phi(z) = 1 - \phi_1 z - \phi_2 z^2 = 0\) punya dua akar. Proses stasioner jika kedua akar modulus \(> 1\).

4.3 Companion Matrix Form

Tulis AR(p) sebagai VAR(1) dengan state vector \(\mathbf{Y}_t = (y_t, y_{t-1}, \ldots, y_{t-p+1})^T\):

\[\mathbf{Y}_t = A\mathbf{Y}_{t-1} + \mathbf{u}_t\]

\[A = \begin{pmatrix} \phi_1 & \phi_2 & \cdots & \phi_{p-1} & \phi_p \\ 1 & 0 & \cdots & 0 & 0 \\ 0 & 1 & \cdots & 0 & 0 \\ \vdots & & \ddots & & \vdots \\ 0 & 0 & \cdots & 1 & 0 \end{pmatrix}\]

Kondisi stasioneritas ekivalen: semua eigenvalue dari companion matrix \(A\) memiliki modulus \(< 1\).


5 Unit Root: Random Walk dan Non-Stationarity

5.1 Random Walk

Kasus spesial AR(1) dengan \(\phi = 1\):

\[y_t = y_{t-1} + \varepsilon_t \quad \Rightarrow \quad y_t = y_0 + \sum_{j=1}^t \varepsilon_j\]

Properties: - \(E[y_t] = y_0\) (konstan tapi bergantung initial condition) - \(\text{Var}(y_t) = t\sigma^2\)tumbuh tanpa batas! - \(\text{Cov}(y_t, y_s) = \min(t,s)\sigma^2\) — bergantung pada \(t,s\), bukan hanya \(|t-s|\)

Tidak stasioner — variance tidak finite.

5.2 Spurious Regression

ImportantDefinisi: Spurious Regression

Dua proses independent I(1) \(x_t\) dan \(y_t\):

\[y_t = y_{t-1} + u_t, \quad x_t = x_{t-1} + v_t, \quad \text{Cov}(u_t, v_t) = 0\]

OLS dari \(y_t\) pada \(x_t\) memberikan: - \(\hat{\beta} \xrightarrow{p}\) sesuatu selain 0 - t-statistic \(\to \infty\) (diverges!) - \(R^2 \to\) distribusi positif

Distribusi OLS runtuh — tidak lagi t-distributed! Ini karena asymptotics OLS bergantung pada stasioneritas.

Solusi: differencing. \(\Delta y_t = y_t - y_{t-1}\) menghapus unit root.

Seri I(1): integrated order 1, perlu di-difference satu kali untuk stasioner.

5.3 Dickey-Fuller Test

Test \(H_0: \phi = 1\) (unit root) vs \(H_1: |\phi| < 1\) (stasioner).

Augmented Dickey-Fuller (ADF) mengakomodasi serial correlation:

\[\Delta y_t = \delta y_{t-1} + \sum_{j=1}^{p-1} \psi_j \Delta y_{t-j} + \varepsilon_t\]

Test \(H_0: \delta = 0\) (unit root, \(\phi = 1 \Leftrightarrow \delta = 0\)).

Penting: distribusi t-stat di bawah \(H_0\) bukan normal atau t — ini adalah distribusi Dickey-Fuller (tabel critical values berbeda!).

Varian: - ADF tanpa intercept: untuk zero-mean random walk - ADF dengan intercept: untuk random walk with drift - ADF dengan trend: untuk deterministic trend + unit root


6 MA(q) dan ARMA(p,q)

6.1 MA(q)

\[y_t = \varepsilon_t + \theta_1\varepsilon_{t-1} + \cdots + \theta_q\varepsilon_{t-q} = \Theta(L)\varepsilon_t\]

Selalu stasioner (finite weighted sum of WN).

ACF: \(\rho(h) = 0\) untuk \(h > q\)cuts off setelah lag \(q\).

6.2 ARMA(p,q)

\[\Phi(L)y_t = \Theta(L)\varepsilon_t\]

\[(1 - \phi_1 L - \cdots - \phi_p L^p)y_t = (1 + \theta_1 L + \cdots + \theta_q L^q)\varepsilon_t\]

Stasioner: roots dari \(\Phi(z) = 0\) di luar unit circle. Invertible: roots dari \(\Theta(z) = 0\) di luar unit circle (supaya MA\((\infty)\) converge).

6.3 Wold’s Theorem

ImportantDefinisi: Wold’s Decomposition Theorem

Setiap proses covariance-stationary yang tidak deterministik dapat ditulis sebagai:

\[y_t = \sum_{j=0}^\infty c_j \varepsilon_{t-j} + \eta_t\]

di mana \(\sum c_j^2 < \infty\), \(\varepsilon_t \sim WN\), dan \(\eta_t\) adalah purely deterministic component.

Implikasi: setiap proses stasioner punya MA(\(\infty\)) representation — ARMA adalah parsimonious parametrization dari representasi ini.


7 VAR(p) System

7.1 Model Multivariate

\[\mathbf{y}_t = A_1\mathbf{y}_{t-1} + A_2\mathbf{y}_{t-2} + \cdots + A_p\mathbf{y}_{t-p} + \boldsymbol{\varepsilon}_t\]

  • \(\mathbf{y}_t \in \mathbb{R}^K\): vektor \(K\) variabel
  • \(A_j \in \mathbb{R}^{K \times K}\): coefficient matrices
  • \(\boldsymbol{\varepsilon}_t \sim WN(0, \Sigma)\), \(\Sigma\) positive definite

Estimasi: OLS equation-by-equation (karena same regressors in each equation).

7.2 Granger Causality

\(x_t\) Granger-causes \(y_t\) jika past values of \(x\) help predict \(y\) beyond what past \(y\) alone provides.

Formal test dalam VAR: test \(H_0\) bahwa coefficients on lagged \(x\) in the \(y\)-equation are all zero.

\(F\)-test pada blok koefisien — bukan “true” causality, hanya predictive.

7.3 Impulse Response Functions (IRF)

Bagaimana \(\mathbf{y}_{t+h}\) merespons shock \(\boldsymbol{\varepsilon}_t\)?

VAR(1) companion form: \(\mathbf{y}_t = A\mathbf{y}_{t-1} + \boldsymbol{\varepsilon}_t\)

\[\frac{\partial \mathbf{y}_{t+h}}{\partial \boldsymbol{\varepsilon}_t} = A^h\]

Elemen \((i,j)\) dari \(A^h\) = efek shock ke variabel \(j\) pada variabel \(i\) setelah \(h\) periods.

7.4 Cholesky Identification

Masalah: \(\boldsymbol{\varepsilon}_t\) bisa berkorelasi — butuh “structural” shocks yang orthogonal.

Cholesky decomposition: \(\Sigma = PP^T\) (lower triangular \(P\)).

Structural shocks: \(\mathbf{u}_t = P^{-1}\boldsymbol{\varepsilon}_t\), \(E[\mathbf{u}_t\mathbf{u}_t^T] = I\).

Caveat: Cholesky imposes ordering — variabel yang diurut pertama tidak merespons variabel lain secara contemporaneous. Ordering harus justified by economic theory.


8 Cointegration

8.1 Definisi

Dua seri I(1) \(x_t\) dan \(y_t\) adalah cointegrated jika ada \(\alpha\) sehingga: \[y_t - \alpha x_t \sim I(0)\]

Ini berarti ada long-run equilibrium relationship: meskipun keduanya non-stasioner, perbedaannya stasioner.

8.2 Error Correction Model (ECM)

Jika \(y_t\) dan \(x_t\) cointegrated:

\[\Delta y_t = \gamma_0 + \gamma_1 \Delta x_t + \pi (y_{t-1} - \alpha x_{t-1}) + \varepsilon_t\]

  • \((y_{t-1} - \alpha x_{t-1})\): error correction term — deviasi dari long-run equilibrium
  • \(\pi < 0\): speed of adjustment back to equilibrium
  • Short-run dynamics (\(\Delta x_t\)) + long-run correction

8.3 Engle-Granger Test

  1. Step 1: OLS \(y_t = \hat{\alpha} x_t + \hat{e}_t\)
  2. Step 2: ADF test pada residual \(\hat{e}_t\)
  3. \(H_0\): residual tidak stasioner (tidak ada cointegration)

Note: critical values berbeda dari standar ADF karena residual adalah estimated.


9 Worked Example: AR(2) Stability Analysis

library(tidyverse)
library(tseries)   # for adf.test
library(vars)      # for VAR
library(forecast)  # for auto.arima

# ==========================================
# 1. AR(2) Stability Check
# ==========================================

# AR(2): y_t = 1.2*y_{t-1} - 0.5*y_{t-2} + eps_t
phi <- c(1.2, -0.5)

# Companion matrix
A <- matrix(c(phi[1], phi[2], 1, 0), nrow = 2, byrow = TRUE)
eigenvalues <- eigen(A)$values
cat("Eigenvalues of companion matrix:\n")
print(eigenvalues)
cat("Moduli:", Mod(eigenvalues), "\n")
cat("Stationarity:", all(Mod(eigenvalues) < 1), "\n")

# Characteristic polynomial roots
Phi_z <- function(z) 1 - phi[1]*z - phi[2]*z^2
roots <- polyroot(c(1, -phi[1], -phi[2]))
cat("\nRoots of characteristic polynomial:", roots, "\n")
cat("Moduli of roots:", Mod(roots), " (should be > 1 for stationarity)\n")

# ==========================================
# 2. Simulate and Test for Unit Root
# ==========================================
n <- 500

# Stationary AR(1)
y_stat <- arima.sim(model = list(ar = 0.7), n = n)

# Non-stationary (unit root)
set.seed(123)
y_nonstat <- cumsum(rnorm(n))  # random walk

# ADF tests
adf_stat   <- adf.test(y_stat)
adf_nonstat <- adf.test(y_nonstat)

cat("\nADF test - Stationary series p-value:", adf_stat$p.value)
cat("\nADF test - Random walk p-value:", adf_nonstat$p.value)

# ==========================================
# 3. Spurious Regression Demo
# ==========================================
set.seed(42)
n <- 200
x_I1 <- cumsum(rnorm(n))
y_I1 <- cumsum(rnorm(n))  # independent!

# OLS akan memberikan "significant" result
spurious <- lm(y_I1 ~ x_I1)
cat("\nSpurious regression R^2:", summary(spurious)$r.squared)
cat("\nt-stat for x:", summary(spurious)$coefficients[2, 3])
# Very high R^2 and significant t-stat, but WRONG!

# Correct: difference both series
dy <- diff(y_I1)
dx <- diff(x_I1)
correct <- lm(dy ~ dx)
cat("\n\nCorrect regression (differenced) R^2:", summary(correct)$r.squared)
cat("\nt-stat for dx:", summary(correct)$coefficients[2, 3])

# ==========================================
# 4. VAR Example
# ==========================================
data("Canada", package = "vars")
plot(Canada)

# Select VAR order
VARselect(Canada, lag.max = 8, type = "const")$selection

# Estimate VAR(2)
var_model <- VAR(Canada, p = 2, type = "const")
summary(var_model)

# Impulse Response Functions
irf_result <- irf(var_model, impulse = "prod", response = "e",
                  n.ahead = 20, boot = TRUE)
plot(irf_result)

# Granger causality
causality(var_model, cause = "prod")

10 Ringkasan: ACF/PACF Pattern untuk Identifikasi Model

Model ACF PACF
AR(p) Exponential/oscillating decay Cuts off after lag \(p\)
MA(q) Cuts off after lag \(q\) Exponential/oscillating decay
ARMA(p,q) Exponential/oscillating decay Exponential/oscillating decay
Random Walk I(1) Very slow decay ~1 at lag 1, near 0 after

CautionConnection: Panel Unit Roots dan Spatial-Temporal

Time series methods extend ke berbagai arah:

  • Panel unit root tests (Im-Pesaran-Shin, Levin-Lin-Chu): menggunakan cross-section power untuk test unit root. Lebih powerful dari individual ADF.

  • Long-run variance estimation: Newey-West HAC standard errors menggunakan kernel smoothing dari autocovariances — penting untuk inference dengan serial correlation.

  • Kalman filter: state-space models unify ARMA, unobserved components, time-varying parameters.

  • GARCH/Volatility models: conditional heteroskedasticity — variance juga memiliki dynamics.

  • Spatial-temporal: kombinasikan spatial weights matrix \(W\) dengan time series dynamics → space-time AR models.


11 Practice Problems

Problem 1: Tunjukkan bahwa AR(1) dengan \(|\phi| < 1\) adalah covariance-stationary.

Dari MA(\(\infty\)) representation: \(y_t = \sum_{j=0}^\infty \phi^j \varepsilon_{t-j}\).

\(E[y_t] = 0\) (konstan). \(\text{Var}(y_t) = \sigma^2 \sum_{j=0}^\infty \phi^{2j} = \sigma^2/(1-\phi^2) < \infty\) jika \(|\phi| < 1\). \(\text{Cov}(y_t, y_{t-h}) = \sigma^2 \phi^h/(1-\phi^2)\) bergantung hanya pada \(h\). QED.

Problem 2: Derive ACF dari AR(2).

Dari Yule-Walker equations: \(\rho(1) = \phi_1 + \phi_2\rho(1) \Rightarrow \rho(1) = \phi_1/(1-\phi_2)\) \(\rho(2) = \phi_1\rho(1) + \phi_2\) \(\rho(h) = \phi_1\rho(h-1) + \phi_2\rho(h-2)\) untuk \(h \geq 2\)

ACF memenuhi recursion yang sama dengan AR process itu sendiri — solusinya: kombinasi linear dari \(r_1^h\) dan \(r_2^h\) di mana \(r_1, r_2\) adalah inverse dari akar characteristic polynomial.

Problem 3: Mengapa t-statistic dalam spurious regression diverges?

Untuk dua independent I(1) series: OLS estimator \(\hat{\beta} \xrightarrow{d}\) ratio dari dua Brownian motions (Wiener processes), bukan \(N(0,\sigma^2/n)\). t-statistic \(\sim T^{1/2}\) times something nonzero → diverges.

Problem 4: Apa syarat perlu dan cukup untuk cointegration dalam sistem bivariate \((y_t, x_t)\)?

Perlu: keduanya I(1). Cukup: \(\exists \alpha\) sehingga \(y_t - \alpha x_t \sim I(0)\). Secara matrix: rank of cointegrating matrix \(\Pi\) dalam VECM \(\Delta\mathbf{y}_t = \Pi\mathbf{y}_{t-1} + \ldots\) harus antara 0 (no cointegration) dan \(K\) (all stationary).


Navigasi: ← Panel Data Math | Spatial Econometrics →