Kalkulator regresi linier
Kalkulator ini menghasilkan persamaan regresi linier berdasarkan nilai variabel prediktor dan variabel respon.
Cukup masukkan daftar nilai variabel prediktor dan variabel respon pada kotak di bawah, lalu klik tombol “Hitung”:
Nilai prediktif:
Nilai respons:
Persamaan regresi linier:
ŷ = 0,9694 + ( 7,7673 )*x
Kualitas kecocokan:
R Persegi: 0,8282
Penafsiran:
Ketika variabel prediktor sama dengan 0 maka nilai rata-rata variabel respon adalah 0.9694 .
Setiap kenaikan satu satuan pada variabel prediktor dikaitkan dengan perubahan rata-rata sebesar ( 7,7673 ) pada variabel respon.
82,82 % variasi variabel respon dapat dijelaskan oleh variabel prediktor.
function calc() {
//get input data var x = document.getElementById('x').value.split(',').map(Number); var y = document.getElementById('y').value.split(',').map(Number);
//check that both lists are equal length if (x.length - y.length == 0) { document.getElementById('error_msg').innerHTML = '';
function linearRegression(y,x){ var lr = {}; var n = y.length; var sum_x = 0; var sum_y = 0; var sum_xy = 0; var sum_xx = 0; var sum_yy = 0;
for (var i = 0; i < y.length; i++) { sum_x += x[i]; sum_y += y[i]; sum_xy += (x[i]*y[i]); sum_xx += (x[i]*x[i]); sum_yy += (y[i]*y[i]); } lr['slope'] = (n * sum_xy - sum_x * sum_y) / (n*sum_xx - sum_x * sum_x); lr['intercept'] = (sum_y - lr.slope * sum_x)/n; lr['r2'] = Math.pow((n*sum_xy - sum_x*sum_y)/Math.sqrt((n*sum_xx-sum_x*sum_x)*(n*sum_yy-sum_y*sum_y)),2); return lr; } var lr = linearRegression(y, x); var a = lr.slope; var b = lr.intercept; var r2 = lr.r2; var r2p = r2*100; document.getElementById('a').innerHTML = a.toFixed(4); document.getElementById('b').innerHTML = b.toFixed(4); document.getElementById('r2').innerHTML = r2.toFixed(4); document.getElementById('interceptOut').innerHTML = b.toFixed(4); document.getElementById('slopeOut').innerHTML = a.toFixed(4); document.getElementById('r2Out').innerHTML = r2p.toFixed(2); } //output error message if boths lists are not equal else { document.getElementById('error_msg').innerHTML = 'The two lists must be of equal length.'; } } //end calc function