Calcolatore sxy per la regressione lineare
Questa calcolatrice trova automaticamente il valore di Sxy per un modello di regressione lineare basato sui valori xey in un set di dati.
Per calcolare Sxy, inserisci semplicemente un elenco di valori separati da virgole per xey nelle caselle sottostanti, quindi fai clic sul pulsante “Calcola”:
valori x:
valori y:
Xxy = 59.00000
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; var sxx = jStat.variance(x) *x.length;
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['sxx'] = sxx; 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*lr.sxx; var b = lr.intercept; document.getElementById('a').innerHTML = a.toFixed(5); } //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