Pendahuluan

Spasial ekonometrik merupakan cabang dari ilmu ekonometrika yang memperhitungkan pengaruh lokasi atau ruang dalam hubungan ekonometrik. Pendekatan ini berkembang untuk menangani permasalahan ketika data saling bergantung secara geografis, seperti dalam kasus rumah tangga di wilayah tertentu, kota-kota dalam satu negara, atau wilayah administrasi lainnya.

Konsep dasar spasial dalam ekonometrika mulai dikenal pada dekade 1970-an dan 1980-an, ketika para ekonom dan geografer menyadari pentingnya ketergantungan spasial dalam analisis data regional. Salah satu tokoh penting dalam pengembangan ekonometrika spasial adalah Luc Anselin, seorang ilmuwan yang mempopulerkan pendekatan ini melalui karyanya “Spatial Econometrics: Methods and Models” yang diterbitkan pada tahun 1988. Buku ini menjadi tonggak penting dalam metodologi analisis spasial yang sistematis, termasuk pengembangan model SAR (Spatial Autoregressive) dan SEM (Spatial Error Model).

Dengan kemajuan komputasi dan ketersediaan data spasial digital, ekonometrika spasial semakin luas digunakan di berbagai bidang seperti perencanaan wilayah, epidemiologi, lingkungan, serta kebijakan publik.

1. Matriks Bobot Spasial

Matriks bobot spasial (spatial weight matrix) adalah representasi hubungan spasial antar unit observasi, biasanya wilayah geografis.

# Membaca shapefile Bandung dan membentuk matriks bobot
Indo_Kec <- readRDS('gadm36_IDN_3_sp.rds')
Bandung <- Indo_Kec[Indo_Kec$NAME_2 == "Kota Bandung", ]
Bandung$id <- 1:30
row.names(Bandung) <- as.character(1:30)
CoordK <- sp::coordinates(Bandung)

# Matriks bobot menggunakan queen contiguity
W <- poly2nb(Bandung, queen = TRUE)
W_matrix <- nb2mat(W, style = 'B', zero.policy = TRUE)
W_list <- nb2listw(W, style = 'W')
W_matrix[1:5, 1:5]  # Menampilkan sebagian dari matriks
##   [,1] [,2] [,3] [,4] [,5]
## 1    0    0    0    1    1
## 2    0    0    1    0    0
## 3    0    1    0    0    0
## 4    1    0    0    0    0
## 5    1    0    0    0    0

Visualisasi Peta dan Keterhubungan Spasial

plot(Bandung, axes = TRUE, col = "gray90", main = "Peta Kecamatan Kota Bandung")
text(CoordK[,1], CoordK[,2], row.names(Bandung), col = "black", cex = 0.8, pos = 1.5)
points(CoordK[,1], CoordK[,2], pch = 19, cex = 0.7, col = "blue")
plot(W, CoordK, col = "red", add = TRUE)

2. Model Spasial Ekonometrik

Model spasial ekonometrik digunakan untuk menangkap ketergantungan antar unit geografis yang saling memengaruhi. Model ini menjadi penting ketika asumsi independensi dalam regresi klasik tidak lagi terpenuhi karena adanya interaksi spasial.

Berikut adalah langkah-langkah umum dalam penerapan model spasial ekonometrik:

2.1 Spesifikasi Model

Tentukan terlebih dahulu bentuk ketergantungan spasial: - Jika pengaruh spasial terjadi pada variabel dependen, gunakan model SAR: \[ y = \rho W y + X\beta + \epsilon \] - Jika pengaruh spasial terjadi pada residual, gunakan model SEM: \[ y = X\beta + u \quad \text{dengan} \quad u = \lambda W u + \epsilon \]

2.2 Matriks Bobot Spasial (W)

Bentuk matriks bobot spasial \(W\) berdasarkan kedekatan geografis: - Contiguity (berbatasan): menggunakan poly2nb atau contiguity queen/rook. - Jarak: berdasarkan radius atau k-nearest neighbors.

Matriks ini menggambarkan hubungan antar wilayah dan menjadi komponen penting dalam model spasial.

2.3 Estimasi Parameter

Lakukan estimasi parameter menggunakan metode Maximum Likelihood (MLE): - SAR: estimasi \(\rho\) dan \(\beta\). - SEM: estimasi \(\lambda\), \(\beta\), dan \(\sigma^2\).

2.4 Evaluasi Model

Evaluasi dilakukan dengan: - Menilai signifikansi koefisien spasial \(\rho\) atau \(\lambda\). - Menggunakan kriteria AIC, log-likelihood, atau nilai R² pseudo untuk membandingkan model.

2.5 Uji Hipotesis Ketergantungan Spasial

Gunakan pengujian seperti: - Lagrange Multiplier Test (LM): - \(H_0: \rho = 0\) untuk SAR. - \(H_0: \lambda = 0\) untuk SEM. - Likelihood Ratio Test (LR): untuk membandingkan model spasial vs model klasik.

Langkah-langkah di atas dapat digunakan untuk membangun, mengestimasi, dan menginterpretasi model spasial dalam berbagai aplikasi.

2.6 Spatial Autoregressive Model (SAR)

Model: \[ y = \rho W y + X\beta + \epsilon \]

Di mana \(\rho\) adalah koefisien autroregresif spasial.

2.7 Spatial Error Model (SEM)

Model: \[ y = X\beta + u \quad \text{dengan} \quad u = \lambda W u + \epsilon \]

  • \(\lambda\) adalah koefisien error spasial.

3. Pengujian Hipotesis

Hipotesis umum:

Visualisasi Spasial Simulasi SAR dan SEM

# Pastikan sim_data sudah dibuat sebelum visualisasi
# Potongan visualisasi ini dipindah ke bawah setelah sim_data tersedia

4. Contoh Simulasi dan Estimasi SAR & SEM

4.1 Buat Data Simulasi

set.seed(42)
n <- 30
x1 <- rnorm(n)
x2 <- runif(n)
x <- cbind(1, x1, x2)
beta <- c(2, 0.5, -0.3)

# SAR
rho <- 0.6
I <- diag(n)
y_sar <- solve(I - rho * W_matrix) %*% (x %*% beta + rnorm(n))

# SEM
lambda <- 0.7
u <- solve(I - lambda * W_matrix) %*% rnorm(n)
y_sem <- x %*% beta + u

sim_data <- data.frame(id = 1:n, x1 = x1, x2 = x2, y_sar = y_sar, y_sem = y_sem)
head(sim_data)
##   id         x1        x2       y_sar     y_sem
## 1  1  1.3709584 0.6756073 -12.3774821  451.9473
## 2  2 -0.5646982 0.9828172 -10.1035470  782.7758
## 3  3  0.3631284 0.7595443 -12.0850250  -40.0228
## 4  4  0.6328626 0.5664884   0.2081208  120.6613
## 5  5  0.4042683 0.8496897   2.4840956 -424.5935
## 6  6 -0.1061245 0.1894739   9.6391755 -290.7800

4.2 Estimasi SAR dan SEM

# Spatial regression SAR
sar_model <- spatialreg::lagsarlm(y_sar ~ x1 + x2, data = sim_data, listw = W_list)
summary(sar_model)
## 
## Call:spatialreg::lagsarlm(formula = y_sar ~ x1 + x2, data = sim_data, 
##     listw = W_list)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -9.98184 -3.13638 -0.35046  3.21351  8.97155 
## 
## Type: lag 
## Coefficients: (asymptotic standard errors) 
##             Estimate Std. Error z value Pr(>|z|)
## (Intercept)  2.61451    1.55158  1.6851  0.09198
## x1          -0.26283    0.70505 -0.3728  0.70931
## x2          -5.36908    3.08714 -1.7392  0.08200
## 
## Rho: 0.81726, LR test value: 12.937, p-value: 0.00032207
## Asymptotic standard error: 0.091432
##     z-value: 8.9385, p-value: < 2.22e-16
## Wald statistic: 79.896, p-value: < 2.22e-16
## 
## Log likelihood: -92.56581 for lag model
## ML residual variance (sigma squared): 22.23, (sigma: 4.7149)
## Number of observations: 30 
## Number of parameters estimated: 5 
## AIC: 195.13, (AIC for lm: 206.07)
## LM test for residual autocorrelation
## test value: 15.068, p-value: 0.0001037
# Spatial regression SEM
sem_model <- spatialreg::errorsarlm(y_sem ~ x1 + x2, data = sim_data, listw = W_list)
summary(sem_model)
## 
## Call:spatialreg::errorsarlm(formula = y_sem ~ x1 + x2, data = sim_data, 
##     listw = W_list)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -615.832 -319.001   35.615  343.674  815.648 
## 
## Type: error 
## Coefficients: (asymptotic standard errors) 
##             Estimate Std. Error z value Pr(>|z|)
## (Intercept)  -46.783    420.594 -0.1112   0.9114
## x1           -51.972     59.673 -0.8709   0.3838
## x2            27.624    214.798  0.1286   0.8977
## 
## Lambda: 0.82905, LR test value: 12.708, p-value: 0.00036402
## Asymptotic standard error: 0.087584
##     z-value: 9.4658, p-value: < 2.22e-16
## Wald statistic: 89.602, p-value: < 2.22e-16
## 
## Log likelihood: -225.1208 for error model
## ML residual variance (sigma squared): 151390, (sigma: 389.09)
## Number of observations: 30 
## Number of parameters estimated: 5 
## AIC: 460.24, (AIC for lm: 470.95)

Visualisasi Spasial Simulasi SAR dan SEM (Lanjutan)

Bandung$y_sar <- as.numeric(sim_data$y_sar)
Bandung$y_sem <- as.numeric(sim_data$y_sem)

# Visualisasi SAR
spplot(Bandung, "y_sar", main = "Simulasi Output SAR", col.regions = viridis::viridis(30))

# Visualisasi SEM
spplot(Bandung, "y_sem", main = "Simulasi Output SEM", col.regions = viridis::viridis(30))

4.3 Uji LM dan LR

lm.LMtests(lm(y_sar ~ x1 + x2, data = sim_data), W_list, test = "all")
## Please update scripts to use lm.RStests in place of lm.LMtests
## 
##  Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial
##  dependence
## 
## data:  
## model: lm(formula = y_sar ~ x1 + x2, data = sim_data)
## test weights: listw
## 
## RSerr = 5.9808, df = 1, p-value = 0.01446
## 
## 
##  Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial
##  dependence
## 
## data:  
## model: lm(formula = y_sar ~ x1 + x2, data = sim_data)
## test weights: listw
## 
## RSlag = 8.0005, df = 1, p-value = 0.004677
## 
## 
##  Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial
##  dependence
## 
## data:  
## model: lm(formula = y_sar ~ x1 + x2, data = sim_data)
## test weights: listw
## 
## adjRSerr = 1.175, df = 1, p-value = 0.2784
## 
## 
##  Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial
##  dependence
## 
## data:  
## model: lm(formula = y_sar ~ x1 + x2, data = sim_data)
## test weights: listw
## 
## adjRSlag = 3.1946, df = 1, p-value = 0.07388
## 
## 
##  Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial
##  dependence
## 
## data:  
## model: lm(formula = y_sar ~ x1 + x2, data = sim_data)
## test weights: listw
## 
## SARMA = 9.1754, df = 2, p-value = 0.01018

5. Kesimpulan

Spasial ekonometrik memberikan pendekatan yang lebih realistis dalam menganalisis fenomena sosial ekonomi yang tersebar secara geografis. Dengan mempertimbangkan interaksi antar wilayah, model seperti SAR dan SEM mampu mengatasi pelanggaran asumsi klasik akibat adanya autokorelasi spasial.

Melalui contoh simulasi yang dilakukan pada 30 kecamatan di Kota Bandung, dapat dilihat bahwa:

Langkah-langkah mulai dari pembentukan matriks bobot spasial, simulasi data, estimasi parameter, hingga visualisasi peta membuktikan bahwa pendekatan ini sangat berguna untuk analisis spasial terapan.

Implementasi R melalui paket spdep dan spatialreg menjadikan analisis spasial ekonometrik dapat dilakukan secara efisien dan komprehensif untuk berbagai tujuan penelitian maupun kebijakan.