R² (koefisien determinasi) menjawab pertanyaan paling dasar dalam regresi: seberapa besar variasi variabel terikat yang benar-benar bisa dijelaskan oleh garis model, dan seberapa besar yang tersisa sebagai residual acak? Widget ini memakai contoh return harian saham BBCA terhadap IHSG untuk memperlihatkan hubungan itu secara visual — semakin rapat titik data ke garis regresi OLS, semakin tinggi R².
Cara Pakai
Geser slider Sebaran data (noise) dari 0,2 (hampir tidak ada noise) sampai 10 (sangat acak). Setiap kali slider digeser, 30 titik data ditarik ulang di sekitar garis hubungan sebenarnya (return BBCA ≈ 3 + 1,3 × return IHSG), lalu garis regresi OLS dan seluruh metrik dihitung ulang secara live. Garis putus-putus vertikal dari tiap titik ke garis model adalah residual — perhatikan bagaimana panjang garis-garis ini berbanding lurus dengan seberapa jauh R² turun dari 1. Tombol ⌖ Sampel baru menarik sampel baru pada tingkat sebaran yang sama, berguna untuk melihat bahwa pola R² relatif stabil pada noise yang sama walau titik datanya berbeda.
Rumus Kunci
$$R^2 = 1 - \frac{SSE}{SST}$$di mana:
$$SSE = \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 \qquad SST = \sum_{i=1}^{n}(y_i - \bar{y})^2$$$SSE$ (sum of squared errors) adalah total kuadrat residual dari garis model $\hat{y}_i = a + b x_i$, sedangkan $SST$ (total sum of squares) adalah total kuadrat jarak data ke rata-ratanya sendiri $\bar{y}$ — yaitu variasi total yang ada di data sebelum ada model sama sekali. $R^2$ mengukur proporsi variasi total itu yang berhasil “diserap” oleh garis regresi.
Contoh Angka
Data mini 5 titik (x = return IHSG %, y = return BBCA %): (1, 3), (2, 4), (3, 6), (4, 7), (5, 10).
Langkah 1 — hitung rata-rata: $\bar{x} = 3$, $\bar{y} = 6$.
Langkah 2 — hitung slope dan intercept OLS:
$$S_{xy} = \sum (x_i-\bar{x})(y_i-\bar{y}) = (-2)(-3)+(-1)(-2)+(0)(0)+(1)(1)+(2)(4) = 6+2+0+1+8 = 17$$$$S_{xx} = \sum (x_i-\bar{x})^2 = 4+1+0+1+4 = 10$$$$b = \frac{S_{xy}}{S_{xx}} = \frac{17}{10} = 1{,}7 \qquad a = \bar{y} - b\bar{x} = 6 - 1{,}7 \times 3 = 0{,}9$$Garis model: $\hat{y} = 0{,}9 + 1{,}7x$.
Langkah 3 — hitung nilai prediksi dan residual:
| x | y aktual | ŷ prediksi | residual (y − ŷ) |
|---|---|---|---|
| 1 | 3 | 2,6 | 0,4 |
| 2 | 4 | 4,3 | −0,3 |
| 3 | 6 | 6,0 | 0,0 |
| 4 | 7 | 7,7 | −0,7 |
| 5 | 10 | 9,4 | 0,6 |
Langkah 4 — hitung SSE dan SST:
$$SSE = 0{,}4^2+(-0{,}3)^2+0^2+(-0{,}7)^2+0{,}6^2 = 0{,}16+0{,}09+0+0{,}49+0{,}36 = 1{,}10$$$$SST = (3-6)^2+(4-6)^2+(6-6)^2+(7-6)^2+(10-6)^2 = 9+4+0+1+16 = 30$$Langkah 5 — hitung R²:
$$R^2 = 1 - \frac{1{,}10}{30} = 1 - 0{,}0367 = 0{,}9633$$Artinya 96,33% variasi return BBCA pada data ini dijelaskan oleh return IHSG lewat garis regresi tersebut — hubungan linier yang sangat kuat. Kalau noise pada widget dinaikkan, residual akan membesar, SSE mendekati SST, dan R² akan turun mendekati 0.