Ekonometrika adalah ilmu yang menggabungkan teori ekonomi, matematika, dan statistika untuk mengukur dan menguji hubungan antar variabel ekonomi secara kuantitatif.
Time series adalah data dari satu unit yang diamati secara berurutan selama beberapa periode waktu — misalnya, tingkat inflasi Indonesia yang dicatat setiap tahun selama beberapa dekade. Time series menempati posisi penting dalam ekonometrika karena banyak fenomena ekonomi bersifat dinamis, artinya nilai pada suatu periode dipengaruhi oleh nilai pada periode sebelumnya. Inilah yang membedakan analisis time series dari regresi biasa (OLS), di mana urutan waktu tidak menjadi perhatian utama.
Time series digunakan ketika data memiliki dimensi waktu yang berurutan dan peneliti ingin memahami pola pergerakan data, menguji hubungan antar variabel dari waktu ke waktu, atau membuat prediksi nilai di masa depan berdasarkan pola historis. Agar analisis time series dapat dilakukan dengan valid, terdapat tiga syarat utama yang harus dipenuhi: data harus berurutan secara waktu (harian, bulanan, tahunan, dan sebagainya), jarak antar periode harus konsisten, serta jumlah observasi harus cukup untuk menangkap pola yang ada — umumnya minimal 30 periode.
Ekonometrika makro berfokus pada variabel-variabel agregat, yaitu variabel yang mencerminkan kondisi ekonomi suatu negara secara keseluruhan. Time series adalah metode yang paling dominan digunakan dalam konteks ini karena hampir semua data makroekonomi dikumpulkan secara berkala. Bank sentral, misalnya, menggunakan model time series untuk meramalkan tingkat inflasi guna menentukan arah kebijakan suku bunga. Pemerintah juga memanfaatkannya untuk memproyeksikan pertumbuhan PDB dalam perencanaan anggaran, serta untuk meramalkan pergerakan nilai tukar berdasarkan pola historis.
Ekonometrika mikro berfokus pada perilaku unit ekonomi individual — seperti satu perusahaan, satu rumah tangga, atau satu industri tertentu. Time series di level mikro digunakan ketika perilaku satu entitas tersebut diamati selama periode waktu tertentu. Sebagai contoh, sebuah perusahaan retail dapat menggunakan model time series untuk meramalkan penjualan bulanan demi mengoptimalkan persediaan barang. Selain itu, time series juga dapat diterapkan untuk menganalisis pergerakan harga saham satu emiten berdasarkan data historis harian, maupun untuk mendeteksi pola produksi satu pabrik dari waktu ke waktu.
| Aspek | Ekonometrika Makro | Ekonometrika Mikro |
|---|---|---|
| Unit analisis | Negara / wilayah | Perusahaan / individu / rumah tangga |
| Contoh variabel | Inflasi, PDB, nilai tukar | Penjualan, harga saham, produksi pabrik |
| Tujuan utama | Kebijakan ekonomi, perencanaan nasional | Keputusan bisnis, analisis perilaku |
| Frekuensi data | Bulanan, kuartalan, tahunan | Harian, mingguan, bulanan |
Studi kasus ini menganalisis data inflasi tahunan Indonesia sebagai representasi variabel ekonomi makro. Inflasi dipilih karena merupakan salah satu indikator makroekonomi yang paling sering dianalisis menggunakan metode time series — Bank Indonesia sendiri menggunakan pendekatan ini untuk mendukung pengambilan keputusan kebijakan moneter.
Data yang digunakan adalah data inflasi tahunan Indonesia periode 2000–2024 yang bersumber dari World Bank (World Development Indicators), dengan indikator Inflation, consumer prices (annual %).
# Memuat paket yang dibutuhkan
library(tseries) # untuk uji stasioneritas (ADF Test)
library(forecast) # untuk model ARIMA dan forecasting
library(ggplot2) # untuk visualisasi
# Data inflasi tahunan Indonesia (%), 2000–2024
# Sumber: World Bank — World Development Indicators (FP.CPI.TOTL.ZG)
inflasi <- ts(
c(3.6886, 11.5001, 11.9001, 6.7573, 6.0641,
10.4532, 13.1087, 6.4066, 10.2267, 4.3864,
5.1342, 5.3560, 4.2795, 6.4125, 6.3949,
6.3631, 3.5258, 3.8088, 3.1983, 3.0306,
1.9198, 1.5601, 4.2095, 3.6694, 2.1815),
start = 2000,
frequency = 1
)Data ini berbentuk objek ts (time series) di R
dengan frekuensi 1, artinya terdapat satu observasi per tahun
(tahunan).
autoplot(inflasi) +
labs(
title = "Inflasi Tahunan Indonesia (2000–2024)",
x = "Tahun",
y = "Inflasi (%)",
caption = "Sumber: World Bank — World Development Indicators"
) +
theme_minimal()Dari grafik terlihat bahwa inflasi Indonesia berada pada level yang relatif tinggi di awal periode (2000–2006), dengan puncaknya pada 2006 yang mencapai sekitar 13%, kemudian berangsur menurun dan stabil di bawah 7% hingga 2019. Inflasi sempat turun drastis pada 2020–2021 di masa pandemi, lalu kembali naik pada 2022 seiring tekanan harga global, dan mulai melandai kembali pada 2023–2024.
Sebelum masuk ke tahap pemodelan, data didekomposisi untuk memisahkan tiga komponen yang membentuknya: tren (arah umum data dalam jangka panjang), musiman (pola yang berulang secara periodik), dan residual (fluktuasi acak yang tidak dapat dijelaskan oleh tren maupun musiman).
# Data tahunan tidak memiliki komponen musiman,
# sehingga dekomposisi dilakukan dengan stl yang lebih fleksibel.
# Untuk data tahunan, kita cukup visualisasikan tren secara manual.
inflasi_ma <- stats::filter(inflasi, rep(1/5, 5), sides = 2)
autoplot(inflasi) +
autolayer(inflasi_ma, series = "Tren (Moving Average)", color = "red") +
labs(
title = "Inflasi Tahunan Indonesia dengan Garis Tren",
x = "Tahun",
y = "Inflasi (%)",
caption = "Sumber: World Bank — World Development Indicators"
) +
theme_minimal() +
theme(legend.title = element_blank())Karena data berfrekuensi tahunan, komponen musiman tidak dapat diidentifikasi. Analisis difokuskan pada komponen tren dan residual. Garis merah menunjukkan tren jangka panjang inflasi menggunakan moving average 5 tahun.
Sebuah data time series disebut stasioner apabila memiliki rata-rata dan variansi yang konstan sepanjang waktu. Stasioneritas merupakan syarat utama sebelum membangun model ARIMA. Apabila data tidak stasioner, hasil pemodelan berpotensi menghasilkan regresi lancung (spurious regression), yaitu hubungan statistik yang tampak signifikan padahal tidak mencerminkan hubungan ekonomi yang bermakna.
Pengujian stasioneritas dilakukan menggunakan Augmented Dickey-Fuller (ADF) Test dengan hipotesis sebagai berikut: H₀ menyatakan bahwa data memiliki unit root (tidak stasioner), sedangkan H₁ menyatakan bahwa data stasioner. Apabila p-value < 0,05 maka H₀ ditolak dan data dinyatakan stasioner.
##
## Augmented Dickey-Fuller Test
##
## data: inflasi
## Dickey-Fuller = -2.9457, Lag order = 2, p-value = 0.2121
## alternative hypothesis: stationary
# Differencing: mengurangkan nilai sekarang dengan nilai periode sebelumnya
# untuk menghilangkan tren dan membuat rata-rata data menjadi konstan
inflasi_diff <- diff(inflasi, differences = 1)
# Uji ADF setelah differencing
adf.test(inflasi_diff)##
## Augmented Dickey-Fuller Test
##
## data: inflasi_diff
## Dickey-Fuller = -4.4829, Lag order = 2, p-value = 0.01
## alternative hypothesis: stationary
Apabila pada data asli diperoleh p-value > 0,05 (H₀ tidak ditolak, data belum stasioner), maka dilakukan differencing satu kali. Setelah differencing, p-value yang lebih kecil dari 0,05 menunjukkan bahwa data sudah stasioner dan siap untuk dimodelkan.
autoplot(inflasi_diff) +
labs(
title = "Data Inflasi Setelah Differencing (d = 1)",
x = "Tahun",
y = "Perubahan Inflasi (%)"
) +
theme_minimal()Setelah data stasioner, langkah berikutnya adalah mengidentifikasi orde model menggunakan dua fungsi autokorelasi. ACF (Autocorrelation Function) mengukur korelasi antara data saat ini dengan data pada lag-lag sebelumnya, dan digunakan untuk menentukan orde MA (q). PACF (Partial Autocorrelation Function) mengukur korelasi pada lag tertentu setelah menghilangkan pengaruh lag di antaranya, dan digunakan untuk menentukan orde AR (p). Batang vertikal yang melampaui batas biru (interval kepercayaan 95%) menandakan lag yang signifikan secara statistik.
par(mfrow = c(1, 2))
acf(inflasi_diff,
main = "ACF — Orde MA (q)",
lag.max = 10)
pacf(inflasi_diff,
main = "PACF — Orde AR (p)",
lag.max = 10)ARIMA (AutoRegressive Integrated Moving Average) merupakan model time series yang terdiri dari tiga komponen: AR(p) yang menggunakan nilai masa lalu sebagai prediktor, I(d) yang merepresentasikan jumlah differencing yang diperlukan agar data stasioner, dan MA(q) yang menggunakan nilai error masa lalu sebagai prediktor.
| Komponen | Simbol | Arti |
|---|---|---|
| AutoRegressive | AR(p) | Nilai masa lalu sebagai prediktor; p ditentukan dari PACF |
| Integrated | I(d) | Jumlah differencing agar data stasioner |
| Moving Average | MA(q) | Nilai error masa lalu sebagai prediktor; q ditentukan dari ACF |
Pemilihan kombinasi (p, d, q) terbaik dilakukan secara otomatis
menggunakan fungsi auto.arima() berdasarkan kriteria
AIC (Akaike Information Criterion) — semakin
kecil nilai AIC, semakin baik model dalam menjelaskan data tanpa menjadi
terlalu kompleks.
## Series: inflasi
## ARIMA(0,1,1)
##
## Coefficients:
## ma1
## -0.6622
## s.e. 0.1425
##
## sigma^2 = 7.612: log likelihood = -58.19
## AIC=120.38 AICc=120.95 BIC=122.73
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set -0.3576845 2.646275 2.160323 -23.90698 42.94387 1.002286 0.1377026
auto.arima()bekerja langsung pada data asli karena fungsi ini secara internal menentukan dan melakukan differencing yang diperlukan — hasilnya tercermin pada nilai d dalam notasi ARIMA(p, d, q).
Setelah model terbentuk, perlu dipastikan bahwa residual — yaitu selisih antara nilai aktual dan nilai prediksi model — sudah bersifat white noise, artinya tidak terdapat pola yang tersisa dan belum ditangkap oleh model. Pemeriksaan ini meliputi grafik residual yang seharusnya tampak acak di sekitar nol, histogram yang mendekati distribusi normal, plot ACF residual yang tidak memiliki batang signifikan, serta uji Ljung-Box dengan p-value > 0,05 sebagai konfirmasi formal.
##
## Ljung-Box test
##
## data: Residuals from ARIMA(0,1,1)
## Q* = 2.1765, df = 4, p-value = 0.7033
##
## Model df: 1. Total lags used: 5
forecast_inflasi <- forecast(model_arima, h = 5)
autoplot(forecast_inflasi) +
labs(
title = "Peramalan Inflasi Indonesia 5 Tahun ke Depan",
x = "Tahun",
y = "Inflasi (%)",
caption = "Area biru gelap: interval kepercayaan 80% | Area biru terang: interval kepercayaan 95%"
) +
theme_minimal()Garis biru menunjukkan nilai prediksi, sedangkan area biru gelap dan biru terang masing-masing merepresentasikan interval kepercayaan 80% dan 95%. Semakin jauh horizon peramalan, interval kepercayaan semakin melebar — mencerminkan ketidakpastian yang semakin besar, yang merupakan sifat alami dari setiap model peramalan.
Berdasarkan analisis yang telah dilakukan, dapat ditarik beberapa kesimpulan. Pertama, time series menempati posisi penting dalam ekonometrika sebagai metode yang secara eksplisit mempertimbangkan dimensi waktu, dan dapat diterapkan baik pada konteks ekonomi makro maupun mikro. Kedua, stasioneritas adalah prasyarat utama sebelum pemodelan — data yang tidak stasioner harus ditransformasi melalui differencing untuk menghindari spurious regression. Ketiga, model ARIMA(p, d, q) merupakan model yang fleksibel, di mana orde terbaiknya ditentukan melalui plot ACF dan PACF serta dikonfirmasi menggunakan kriteria AIC. Keempat, hasil peramalan disajikan beserta interval kepercayaan yang melebar seiring bertambahnya horizon waktu, yang mencerminkan ketidakpastian peramalan jangka panjang.