ts-arima-forecast
Version:
TypeScript library for ARIMA, SARIMA (soon), and SARIMAX (soon) forecasting
37 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AutoARIMA = void 0;
const arima_1 = require("../models/arima");
class AutoARIMA {
static findBestARIMA(data, maxP = 5, maxD = 2, maxQ = 5, criterion = 'aic') {
const results = [];
let bestScore = Infinity;
let bestParams = null;
for (let p = 0; p <= maxP; p++) {
for (let d = 0; d <= maxD; d++) {
for (let q = 0; q <= maxQ; q++) {
try {
const model = new arima_1.ARIMA({ p, d, q });
const fitResult = model.fit(data);
const score = criterion === 'aic' ? fitResult.aic : fitResult.bic;
results.push({ params: { p, d, q }, score });
if (score < bestScore) {
bestScore = score;
bestParams = { p, d, q };
}
}
catch (error) {
continue;
}
}
}
}
return {
bestParams,
bestScore,
allResults: results.sort((a, b) => a.score - b.score)
};
}
}
exports.AutoARIMA = AutoARIMA;
//# sourceMappingURL=model-selection.js.map