Melalui HTML ini, saya akan mengimplementasikan materi Komputasi Statistika mengenai ANALISIS REGRESI DENGAN PENDEKATAN MATRIKS
Dalam analisis regresi, pendekatan matriks memberikan cara yang efisien dan elegan untuk mengestimasi parameter model. Metode ini sangat berguna ketika bekerja dengan regresi linear berganda yang melibatkan banyak variabel prediktor. Pendekatan matriks memungkinkan kita untuk menuliskan persamaan regresi dalam bentuk yang kompak dan memudahkan perhitungan komputasi.
Analisis regresi dengan pendekatan matriks adalah metode yang digunakan dalam statistik untuk memodelkan hubungan antara variabel dependen (respons) dan satu atau lebih variabel independen (prediktor) menggunakan aljabar linear. Pendekatan matriks sangat efisien dan elegan, terutama untuk regresi linear berganda, karena memungkinkan representasi kompak dari persamaan regresi dan memudahkan perhitungan estimasi parameter.
Model Regresi Linier Berganda
Bentuk umum model regresi linear berganda dengan n observasi dan p
variabel prediktor dapat ditulis sebagai: \[
\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}
\] di mana:
Y adalah vektor variabel respons berukuran (n ×
1)
X adalah matriks desain berukuran (n × (p+1)) yang berisi
nilai-nilai variabel prediktor
β adalah vektor parameter (koefisien
regresi) berukuran ((p+1) × 1)
ε adalah vektor error berukuran (n ×
1)
Representasi Matriks
Secara eksplisit, model dapat dituliskan sebagai: \[ \begin{bmatrix} y_1 \\ y_2 \\ y_3 \\ \vdots \\ y_n \end{bmatrix} = \begin{bmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1p} \\ 1 & x_{21} & x_{22} & \cdots & x_{2p} \\ 1 & x_{31} & x_{32} & \cdots & x_{3p} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \cdots & x_{np} \end{bmatrix} \times \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_p \end{bmatrix} + \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \varepsilon_3 \\ \vdots \\ \varepsilon_n \end{bmatrix} \]
Estimasi Parameter: Metode Kuadrat Terkecil (Ordinary Least Squares)
Estimator kuadrat terkecil untuk β diperoleh dengan meminimalkan
jumlah kuadrat error. Solusinya diberikan oleh: \[
\hat{\boldsymbol{\beta}} =
(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}
\] di mana:
X’ adalah transpose dari matriks X
(X’X)⁻¹
adalah invers dari matriks X’X
Nilai Prediksi dan Residual
Nilai prediksi (fitted values): \[
\hat{\mathbf{Y}} = \mathbf{X}\hat{\boldsymbol{\beta}} =
\mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y} =
\mathbf{H}\mathbf{Y}
\] di mana:
H = X(X’X)⁻¹X’ disebut hat matrix atau matriks
proyeksi
Residual: \[ \mathbf{e} = \mathbf{Y} - \hat{\mathbf{Y}} = \mathbf{Y} - \mathbf{H}\mathbf{Y} = (\mathbf{I} - \mathbf{H})\mathbf{Y} \] Estimasi Varians Error
Estimator tak bias untuk σ² adalah: \[
s^2 = \frac{\mathbf{e}'\mathbf{e}}{n - p - 1}
\] di mana:
e’e merupakan jumlah kuadrat residual
(Montgomery, Peck, & Vining, 2012).
Berikut ini merupakan data yang akan diolah:
library(readxl)
data <- read.delim("clipboard")
data
## Kabupaten Y X1 X2
## 1 Kabupaten Cilacap 70.99 10904 7.18
## 2 Kabupaten Banyumas 73.17 11905 7.78
## 3 Kabupaten Purbalingga 69.54 10277 7.33
## 4 Kabupaten Banjarnegara 68.61 9776 6.84
## 5 Kabupaten Kebumen 70.79 9282 7.85
## 6 Kabupaten Purworejo 73.60 10671 8.32
## 7 Kabupaten Wonosobo 68.69 11108 6.88
## 8 Kabupaten Magelang 70.85 10011 7.81
## 9 Kabupaten Boyolali 74.97 13250 8.08
## 10 Kabupaten Klaten 76.95 12522 9.09
## 11 Kabupaten Sukoharjo 77.94 11841 9.62
## 12 Kabupaten Wonogiri 71.04 9780 7.42
## 13 Kabupaten Karanganyar 76.58 11798 8.79
## 14 Kabupaten Sragen 74.65 13052 7.79
## 15 Kabupaten Grobogan 70.97 10610 7.26
## 16 Kabupaten Blora 69.95 10067 7.01
## 17 Kabupaten Rembang 71.00 10937 7.41
## 18 Kabupaten Pati 73.14 10948 7.79
## 19 Kabupaten Kudus 75.89 11609 9.06
## 20 Kabupaten Jepara 73.15 10913 8.09
## 21 Kabupaten Demak 73.36 10698 8.10
## 22 Kabupaten Semarang 74.67 12448 8.05
## 23 Kabupaten Temanggung 70.77 9773 7.41
## 24 Kabupaten Kendal 73.19 11999 7.71
## 25 Kabupaten Batang 69.45 9972 6.90
## 26 Kabupaten Pekalongan 70.81 10707 7.46
## 27 Kabupaten Pemalang 67.19 8994 6.50
## 28 Kabupaten Tegal 69.53 10020 7.25
## 29 Kabupaten Brebes 67.03 10514 6.35
## 30 Kota Magelang 80.39 12816 10.94
## 31 Kota Surakarta 83.08 15463 10.92
## 32 Kota Salatiga 84.35 16351 10.95
## 33 Kota Semarang 84.08 16047 10.80
## 34 Kota Pekalongan 75.90 13158 9.20
## 35 Kota Tegal 76.15 13455 9.00
summary(data)
## Kabupaten Y X1 X2
## Length:35 Min. :67.03 Min. : 8994 Min. : 6.350
## Class :character 1st Qu.:70.78 1st Qu.:10172 1st Qu.: 7.295
## Mode :character Median :73.15 Median :10937 Median : 7.790
## Mean :73.50 Mean :11534 Mean : 8.141
## 3rd Qu.:75.89 3rd Qu.:12485 3rd Qu.: 8.895
## Max. :84.35 Max. :16351 Max. :10.950
Selanjutnya kita mencari model regresi linier berganda untuk data dengan pendekatan matriks.
reg.lin.berganda <- function(Y, X_vars) {
n <- length(Y)
k <- ncol(as.matrix(X_vars))
Xmat <- matrix(1, n, k + 1)
Xmat[, 2:(k + 1)] <- as.matrix(X_vars)
bhat <- solve(t(Xmat) %*% Xmat) %*% t(Xmat) %*% Y
se <- sqrt(as.numeric(t(Y - Xmat %*% bhat) %*% (Y - Xmat %*% bhat) / (n - k - 1)))
vse <- se^2 * solve(t(Xmat) %*% Xmat)
bse <- sqrt(diag(vse))
t0 <- bhat / bse
pv <- 2 * pt(-abs(t0), df = n - k - 1)
sol <- cbind(bhat, bse, t0, pv)
cat("\nKoef \t\t Se\t\t t0 \t\t Nilai-p\n")
for(i in 1:(k + 1)) {
cat(sol[i, 1], "\t", sol[i, 2], "\t", sol[i, 3], "\t", sol[i, 4], "\n")
}
return(sol)
}
X_vars <- data[, c("X1", "X2")]
Y <- data$Y
reg.lin.berganda(Y, X_vars)
##
## Koef Se t0 Nilai-p
## 44.20605 0.82393 53.65268 6.410436e-33
## 0.000787653 0.0001210129 6.508833 2.508841e-07
## 2.482108 0.1729563 14.35107 1.71359e-15
## bse
## [1,] 44.206047050 0.8239299539 53.652676 6.410436e-33
## [2,] 0.000787653 0.0001210129 6.508833 2.508841e-07
## [3,] 2.482107575 0.1729563008 14.351068 1.713590e-15
Anda dapat memverifikasi dengan fungsi yang tersedia di R, seperti dibawah ini:
data1 <- lm(Y ~ X1 + X2, data = data)
summary(data1)
##
## Call:
## lm(formula = Y ~ X1 + X2, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.5054 -0.3781 0.2681 0.4214 1.2635
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.421e+01 8.239e-01 53.653 < 2e-16 ***
## X1 7.877e-04 1.210e-04 6.509 2.51e-07 ***
## X2 2.482e+00 1.730e-01 14.351 1.71e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7118 on 32 degrees of freedom
## Multiple R-squared: 0.9761, Adjusted R-squared: 0.9746
## F-statistic: 652.1 on 2 and 32 DF, p-value: < 2.2e-16
Montgomery, D. C., Peck, E. A., & Vining, G. G. (2012). Introduction to Linear Regression Analysis (5th ed.). John Wiley & Sons.