Materi
Regresi linear sederhana mencocokkan garis y = intercept + slope × x yang meminimalkan jumlah kuadrat selisih antara nilai teramati dan nilai garis (kuadrat terkecil). Kemiringan (slope) menyatakan berapa perubahan y untuk setiap kenaikan x satu satuan; intercept adalah nilai y ketika x = 0. Garis itu dipakai untuk memprediksi y dari x, misalnya penjualan es dari suhu atau biaya kirim dari jarak.
Di scipy, stats.linregress(x, y) mengembalikan slope, intercept, rvalue, pvalue, stderr, dan intercept_stderr. rvalue adalah korelasi Pearson, dan kuadratnya, r², adalah koefisien determinasi: bagian keragaman y yang dijelaskan garis. pvalue menguji H0 bahwa kemiringannya nol. Modul statistics menyediakan statistics.linear_regression(x, y) yang mengembalikan slope dan intercept saja.
Contoh dengan data lain: lama kursus 1, 2, 3, 4, 5 minggu dan skor tes 52, 58, 61, 67, 72. Hasilnya slope 4,9 dan intercept 47,3, sehingga prediksi skor untuk kursus 6 minggu adalah 47,3 + 4,9 × 6 = 76,7.
from scipy import stats
minggu = [1, 2, 3, 4, 5]
skor = [52, 58, 61, 67, 72]
garis = stats.linregress(minggu, skor)
print(garis.slope, garis.intercept) # kira-kira 4.9 dan 47.3
print(garis.intercept + garis.slope * 6)
print(garis.rvalue ** 2)