ndiffs function

int ndiffs(
  1. List<double> x, {
  2. int maxD = 2,
})

Implementation

int ndiffs(List<double> x, {int maxD=2}) {
  var cur=List<double>.from(x);
  for (int d=0; d<=maxD; d++){
    final r=adf(cur);
    // ~5% kritik ~ -2.86 (intercept-only)
    if (!r.tau.isNaN && r.tau < -2.86) return d;
    if (d<maxD) {
  // take one more difference
      final nx=<double>[]; for (int i=1;i<cur.length;i++) nx.add(cur[i]-cur[i-1]); cur=nx;
    }
  }
  return maxD;
}