armaResiduals function
==============================
Basit ARMA CSS residual & loss
Implementation
List<double> armaResiduals(
List<double> y, List<double> ar, List<double> ma, double mu) {
final p = ar.length, q = ma.length, n = y.length;
final resid = List<double>.filled(n, 0.0);
for (int t = 0; t < n; t++) {
double arPart = 0.0, maPart = 0.0;
for (int i = 1; i <= p; i++) {
final idx = t - i;
if (idx >= 0) arPart += ar[i - 1] * (y[idx] - mu);
}
for (int j = 1; j <= q; j++) {
final idx = t - j;
if (idx >= 0) maPart += ma[j - 1] * resid[idx];
}
resid[t] = (y[t] - mu) - arPart - maPart;
}
return resid;
}