linearRegression = (x, y) => {
var xsum = 0;
var ysum = 0;
for (var i = 0; i < x.length; i++) {
xsum += x[i];
ysum += y[i];
}
var xmean = xsum / x.length;
var ymean = ysum / y.length;
var num = 0;
var den = 0;
for (var i = 0; i < x.length; i++) {
var xval = x[i];
var yval = y[i];
num += (xval - xmean) * (yval - ymean);
den += (xval - xmean) * (xval - xmean);
}
var m = num/den;
var b = ymean - m * xmean;
return {
slope: m,
intercept: b,
yCalc: function(x) { return this.slope * x + this.intercept }
}
}