regression top-level property

dynamic regression
getter/setter pair

Returns slope and intercept of two datasets.

Example:

print(regression([1,2,3], [2,4,6])); // [2, 0]

Implementation

dynamic regression = VarArgsFunction((args, kwargs) {
  if (args.length != 2 || args[0] is! List || args[1] is! List) {
    throw ArgumentError('regression requires two lists: x and y');
  }
  List<num> x = _toNumList(args[0]);
  List<num> y = _toNumList(args[1]);

  num meanX = _mean(x);
  num meanY = _mean(y);

  num m = _correlation(x, y) * (_stdDev(y) / _stdDev(x));
  num b = meanY - m * meanX;

  return [Complex(m), Complex(b)];
});