Numerical Power in Regression: Sweep Operator & Cholesky in Action
Author
Muhammad Yusran
Published
November 11, 2025
Fondasi Komputasi Regresi Linier
Analisis regresi linier merupakan salah satu teknik fundamental dalam statistika yang digunakan untuk memodelkan hubungan antara variabel respon dan satu atau lebih variabel penjelas. Pendekatan ini tidak hanya penting secara teoretis, tetapi juga menjadi dasar bagi berbagai metode analisis data modern seperti machine learning regression, regularization, dan generalized linear models. Secara matematis, model regresi dapat diuraikan dengan pendekatan aljabar matriks, yang menjadikannya sangat bergantung pada operasi komputasi matriks seperti transpose, perkalian, dan invers.
Namun, pada praktiknya, perhitungan invers matriks terutama pada ukuran besar sering kali menghadapi dua kendala utama:
Kompleksitas komputasi yang tinggi – operasi invers memerlukan waktu dan memori yang besar.
Ketidakstabilan numerik – pada matriks yang hampir singular, hasil invers dapat menghasilkan kesalahan pembulatan yang signifikan.
Untuk mengatasi permasalahan tersebut, dikembangkan sejumlah algoritma komputasi yang efisien dan stabil secara numerik, di antaranya:
Sweep Operator, yang didasarkan pada prinsip Gauss elimination dan memungkinkan perhitungan penduga parameter tanpa perlu menghitung invers secara eksplisit.
Dekomposisi Cholesky, yang memfaktorkan matriks simetrik positif definit menjadi perkalian dua matriks segitiga sehingga sistem persamaan dapat diselesaikan dengan efisien.
Catatan
Pendekatan Sweep Operator dan Cholesky Decomposition merupakan dua teknik inti dalam komputasi regresi modern, terutama pada perangkat lunak statistik seperti R, di mana keduanya menjadi bagian dari prosedur internal untuk menyelesaikan persamaan normal pada regresi linier.
Regresi Linier
Regresi linier merupakan metode paling mendasar dalam analisis hubungan antar variabel. Tujuannya adalah untuk memodelkan bagaimana variabel respon (y) dipengaruhi oleh satu atau lebih variabel penjelas (\(x_1, x_2, \dots, x_p\)) melalui persamaan linier.
Regresi Linier Sederhana
Model regresi linier sederhana menggambarkan hubungan antara satu variabel respon \(y\) dan satu variabel penjelas \(x\) dalam bentuk:
\[
y_i = \beta_0 + \beta_1 x_i + \varepsilon_i, \quad i = 1, 2, \dots, n
\]
dengan:
\(\beta_0\): intersep (nilai rata-rata \(y\) ketika \(x = 0\))
\(\beta_1\): kemiringan garis regresi (perubahan rata-rata \(y\) untuk setiap satu satuan perubahan \(x\))
\(\varepsilon_i\): komponen galat acak (random error)
Pendugaan parameter \(\beta_0\) dan \(\beta_1\) dilakukan menggunakan metode kuadrat terkecil, yaitu dengan meminimalkan jumlah kuadrat galat:
dengan: - \(y_i\): nilai variabel respon untuk pengamatan ke-\(i\) - \(x_{ij}\): nilai variabel penjelas ke-\(j\) untuk pengamatan ke-\(i\) - \(\beta_j\): koefisien regresi yang menunjukkan perubahan rata-rata \(y\) untuk setiap kenaikan satu satuan pada \(x_j\) ketika variabel lain tetap - \(\varepsilon_i\): komponen galat acak yang mengandung semua faktor selain variabel penjelas
Secara prinsip, metode pendugaan parameter yang digunakan tetap metode kuadrat terkecil, yaitu dengan meminimalkan:
Turunan pertama terhadap setiap \(\beta_j\) (\(j = 0, 1, 2, \dots, p-1\)) akan menghasilkan \(p\) persamaan normal yang saling berkaitan.
Pada kasus berganda, sistem ini menjadi lebih kompleks, sehingga penulisan dan penyelesaiannya jauh lebih efisien dilakukan dalam bentuk matriks, yaitu:
Model regresi linier berganda dapat ditulis secara ringkas dan elegan menggunakan notasi matriks. Pendekatan ini mempermudah analisis matematis dan implementasi komputasi, terutama saat jumlah pengamatan (\(n\)) dan variabel penjelas (\(p-1\)) cukup besar.
Secara umum, model regresi linier dalam bentuk matriks dinyatakan sebagai:
Setiap baris \(\mathbf{x}_i'\) dari matriks \(\mathbf{X}\) merepresentasikan satu pengamatan, sedangkan setiap kolom (selain kolom pertama yang berisi 1) merepresentasikan satu variabel penjelas.
Persamaan Normal
Parameter regresi \(\boldsymbol{\beta}\) ditaksir dengan metode kuadrat terkecil dengan meminimalkan:
Pendugaan ini hanya dapat dilakukan apabila \(\mathbf{X}'\mathbf{X}\)berpangkat penuh (full rank), yaitu kolom-kolom \(\mathbf{X}\) tidak saling bergantung linier.
Persamaan normal menjadi inti dari seluruh metode regresi linier. Sebagian besar algoritma komputasi—termasuk QR decomposition, Cholesky decomposition, dan Sweep Operator—pada dasarnya merupakan cara-cara berbeda untuk menyelesaikan sistem persamaan:
# Contoh data regresi bergandax1 <-c(1, 2, 3, 4, 5)x2 <-c(2, 1, 4, 3, 5)y <-c(2.3, 2.7, 3.8, 3.5, 5.1)# Membentuk matriks X dan vektor yX <-cbind(1, x1, x2)y <-matrix(y, ncol =1)# Menghitung (X'X)^(-1) X'y secara manualbeta_hat <-solve(t(X) %*% X) %*%t(X) %*% ybeta_hat
[,1]
1.3633333
x1 0.3777778
x2 0.3277778
Hasil di atas akan menghasilkan vektor \(\hat{\boldsymbol{\beta}} = [\hat{\beta}_0, \hat{\beta}_1, \hat{\beta}_2]'\).
Matriks Simetrik dan Definit Positif
Sebelum membahas metode komputasi regresi seperti Sweep Operator dan Dekomposisi Cholesky, penting untuk memahami sifat-sifat matematis dari matriks yang muncul dalam persamaan normal, yaitu \(\mathbf{X}'\mathbf{X}\).
Matriks Simetrik
Sebuah matriks persegi \(A\) berukuran \(n \times n\) dikatakan simetrik apabila elemen-elemen di atas dan di bawah diagonal utamanya identik, yaitu:
\[
A = A' \quad \text{atau secara elemen: } a_{ij} = a_{ji}, \ \forall i, j
\]
Contoh:
\[
A =
\begin{bmatrix}
4 & 2 & 1 \\
2 & 5 & 3 \\
1 & 3 & 6
\end{bmatrix}
\quad \Rightarrow \quad A' = A
\]
Dalam konteks regresi, matriks \(\mathbf{X}'\mathbf{X}\)selalu simetrik, karena:
Sifat ini berarti bentuk kuadrat \(\mathbf{z}'A\mathbf{z}\) menghasilkan nilai positif untuk semua \(\mathbf{z} \neq 0\). Dengan kata lain, \(A\) (dalam konteks ini \(\mathbf{X}'\mathbf{X}\)) memiliki semua eigenvalue positif, sehingga matriks tersebut dapat diinvers dan stabil digunakan dalam perhitungan OLS.
Mengapa Sifat Ini Penting?
Simetri memastikan efisiensi komputasi — cukup menyimpan separuh matriks.
Sifat ini menjadi syarat utama agar dekomposisi Cholesky dapat diterapkan:
[ ‘ = ’ ] di mana \(\mathbf{L}\) adalah matriks segitiga bawah.
Ilustrasi di R
# Membentuk matriks X dan menghitung X'Xx1 <-c(1, 2, 3, 4, 5)x2 <-c(2, 1, 4, 3, 5)X <-cbind(1, x1, x2)XtX <-t(X) %*% XXtX
x1 x2
5 15 15
x1 15 55 53
x2 15 53 55
Perhatikan bahwa elemen di atas dan di bawah diagonal utama identik — menunjukkan simetri.
Memeriksa Positif Definit
# 1. Cek apakah simetrikisSymmetric(XtX)
[1] TRUE
# 2. Periksa eigenvalueeigen(XtX)$values
[1] 112.1978456 2.0000000 0.8021544
# 3. Uji positif definitall(eigen(XtX)$values >0)
[1] TRUE
Jika semua nilai eigen bernilai positif (TRUE), maka matriks \(\mathbf{X}'\mathbf{X}\) dikatakan definit positif, sehingga aman digunakan dalam penyelesaian persamaan normal maupun untuk dekomposisi Cholesky.
Sweep Operator
Konsep Dasar
Sweep Operator merupakan prosedur komputasi berbasis eliminasi Gauss yang digunakan untuk menghitung penduga parameter regresi tanpa harus melakukan invers matriks secara eksplisit.
Metode ini banyak digunakan dalam perangkat lunak statistik seperti SAS dan R karena memiliki keunggulan dari sisi efisiensi dan stabilitas numerik.
Dalam regresi linier, kita perlu menyelesaikan persamaan normal:
Operasi sweep dilakukan terhadap elemen diagonal ke-\(k\) dari matriks simetrik \(A = [a_{ij}]\) untuk mengeliminasi kolom dan baris ke-\(k\), sehingga menghasilkan bentuk matriks baru yang berisi informasi estimasi koefisien regresi dan varians residual.
Notasi Singkat
\(a_{kk}\) : elemen diagonal utama (pivot)
\(a_{ik}\) : elemen pada baris ke-\(i\), kolom ke-\(k\)
\(D = a_{kk}\) : nilai pivot yang digunakan dalam pembagian
Algoritma Sweep Operator
Untuk setiap elemen diagonal ke-\(k\) yang akan di-sweep:
\(D = a_{kk}\)
Bagi seluruh elemen pada baris ke-\(k\) dengan \(D\).
Untuk setiap baris \(i \neq k\):
Simpan \(B = a_{ik}\)
Kurangkan baris ke-\(i\) dengan \(B\) kali baris ke-\(k\)
Set \(a_{ik} = -B/D\)
Ubah elemen diagonal: \(a_{kk} = 1/D\)
Proses ini dapat dilakukan secara bertahap dan reversible, artinya hasil sweep terhadap indeks tertentu dapat dikembalikan ke bentuk semula dengan melakukan sweep ulang pada indeks yang sama.
Studi Kasus: SWEEP Operator dari Ringkasan Matriks
Pada contoh ini, kita tidak memulai dari data mentah, melainkan dari ringkasan matriks hasil penghitungan:
Tujuan SWEEP: melakukan operasi eliminasi Gauss khusus untuk matriks simetrik agar kita memperoleh koefisien () (di kolom terakhir, kecuali baris terakhir) dan JKG/SSE (elemen kanan-bawah).
SWEEP Manual Tanpa Software
Di bawah ini kita tunjukkan praktik SWEEP langkah demi langkah. Notasi:
Pivot (D = a_{kk})
Baris pivot (k) dibagi (D)
Untuk setiap baris (ik):
simpan (B=a_{ik}), lakukan (_i _i - B k), lalu set (a{ik}=-B/D)
Set (a_{kk}=1/D)
Tahap 1 — SWEEP pada \(k=1\) (intersep saja)
Pivot \(D=a_{11}=6\).
Bagi baris 1 dengan 6: \[
[6,\ 0,\ 12,\ 12] / 6 \;\Rightarrow\; [1,\ 0,\ 2,\ 2].
\]
Eliminasi baris lain:
Baris 2: \(B=a_{21}=0\) \(\text{baris}_2 \leftarrow \text{baris}_2 - 0 \times \text{baris}_1\) (tidak berubah).
Set \(a_{21}=-0/6=0\).
Baris 3: \(B=a_{31}=12\) \([12,0,28,25] - 12\times[1,0,2,2] = [0,0,4,1]\).
Set \(a_{31}=-12/6=-2\).
Baris 4: \(B=a_{41}=12\) \([12,2,25,28] - 12\times[1,0,2,2] = [0,2,1,4]\).
Set \(a_{41}=-12/6=-2\).
Metode ini tidak menghitung invers matriks secara langsung, tetapi memfaktorkan matriks simetrik positif definit \(\mathbf{X}'\mathbf{X}\) menjadi hasil kali dua matriks segitiga:
dengan: - \(\mathbf{L}\) : matriks segitiga bawah (lower triangular matrix), - \(\mathbf{L}'\) : transpose dari \(\mathbf{L}\).
Faktorisasi ini mempermudah penyelesaian karena sistem dapat diselesaikan dalam dua tahap substitusi: 1. \(\mathbf{L}\mathbf{z} = \mathbf{X}'\mathbf{y}\) (forward substitution) 2. \(\mathbf{L}'\boldsymbol{\beta} = \mathbf{z}\) (backward substitution)
Sehingga diperoleh vektor parameter \(\boldsymbol{\beta}\) tanpa menghitung invers matriks.