linReg property

List<num> linReg

Calculate linear regression of a set of points: Returns a list of form y = mx + b, with linearReg[0] being m and linearReg[1] being b.

Implementation

List<num> get linReg {
  var slopevalue = <num>[];
  var avgX = x.mean;
  var avgY = y.mean;
  var Sx = x.stdDev;
  var Sy = y.stdDev;
  num r = 0;
  num m = 0;

  //calculate r; ignore
  for (var n = 0; n < x.length; n++) {
    r += ((x[n] - avgX) * (y[n] - avgY));
  }
  r /= ((Sx * Sy)*(x.length-1));
  //end r calculation

  m = r*(Sy/Sx);
  slopevalue.add(m);

  slopevalue.add(avgY - m*(avgX));
  return slopevalue;
}