حاسبة الانحدار الخطي
تنتج هذه الآلة الحاسبة معادلة انحدار خطي بناءً على قيم متغير متنبئ ومتغير استجابة.
ما عليك سوى إدخال قائمة القيم لمتغير التوقع ومتغير الاستجابة في المربعات أدناه، ثم النقر فوق الزر “احسب”:
القيم التنبؤية:
قيم الاستجابة:
معادلة الانحدار الخطي:
ŷ = 0.9694 + ( 7.7673 )*س
جودة الملاءمة:
ساحة آر: 0.8282
تفسير:
عندما يكون متغير التوقع يساوي 0، فإن متوسط قيمة متغير الاستجابة هو 0.9694 .
ويرتبط كل زيادة بمقدار وحدة واحدة في متغير التوقع بمتوسط تغير قدره ( 7.7673 ) في متغير الاستجابة.
82.82 % من التباين في متغير الاستجابة يمكن تفسيره بالمتغير المتنبئ.
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