Calculateur de régression linéaire
Cette calculatrice produit une équation de régression linéaire basée sur les valeurs d’une variable prédictive et d’une variable de réponse.
Entrez simplement une liste de valeurs pour une variable prédictive et une variable de réponse dans les cases ci-dessous, puis cliquez sur le bouton « Calculer » :
Valeurs prédictives :
Valeurs de réponse :
Équation de régression linéaire :
ŷ = 0,9694 + ( 7,7673 )*x
Qualité de l’ajustement:
R Carré : 0,8282
Interprétation:
Lorsque la variable prédictive est égale à 0, la valeur moyenne de la variable de réponse est 0,9694 .
Chaque augmentation d’une unité dans la variable prédictive est associée à une variation moyenne de ( 7,7673 ) dans la variable de réponse.
82,82 % de la variation de la variable réponse peut être expliquée par la variable prédictive.
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