Doğrusal regresyon hesaplayıcı
Bu hesaplayıcı, bir yordayıcı değişkenin ve bir yanıt değişkeninin değerlerine dayalı olarak doğrusal bir regresyon denklemi üretir.
Aşağıdaki kutulara bir tahmin değişkeni ve bir yanıt değişkeni için değerlerin bir listesini girmeniz ve ardından “Hesapla” düğmesini tıklamanız yeterlidir:
Tahmini değerler:
Yanıt değerleri:
Doğrusal regresyon denklemi:
ŷ = 0,9694 + ( 7,7673 )*x
Uyum kalitesi:
R Kare: 0,8282
Tercüme:
Yordayıcı değişken 0’a eşit olduğunda yanıt değişkeninin ortalama değeri 0,9694 olur.
Yordayıcı değişkendeki her bir birimlik artış, yanıt değişkenindeki ortalama ( 7,7673 ) değişimle ilişkilidir.
Yanıt değişkenindeki değişimin % 82,82’si yordayıcı değişken tarafından açıklanabilmektedir.
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