ml_arima

Native Dart ARIMA (Autoregressive Integrated Moving Average) and SARIMA time series modeling library.

Features

  • ARIMA and SARIMA modeling
  • Automatic parameter selection
  • Forward forecasting
  • Diagnostic and statistical testing
  • Visualization utilities

ml_arima

Native Dart library for ARIMA, SARIMA and basic time-series utilities.

This package provides lightweight implementations of ARIMA/SARIMA model fitting, forecasting helpers, automatic model selection (small-grid), simple preprocessing utilities, and several diagnostic/statistics helpers (AIC/BIC, Ljung–Box, Jarque–Bera).

Features

  • ARIMA and SARIMA model fitting (CSS + small Nelder–Mead / exact innovations MLE)
  • Forecasting helpers with simple confidence bands
  • Small-grid automatic model selection (AIC/BIC)
  • Preprocessing: differencing, seasonal differencing, simple detrending, missing-value imputation and basic outlier detection (IQR)
  • Diagnostic routines: ACF/PACF, Ljung–Box, Jarque–Bera, residual metrics (MAPE/RMSE/MAE)
  • Small demo scripts and examples in bin/ and the repository root

Installation

Add the package to your project:

dart pub add ml_arima

Quick usage

Import the library and use the high-level helpers or the core classes:

import 'package:ml_arima/ml_arima.dart';

void main() {
 final series = List<double>.generate(120, (i) => 100 + 0.5*i + 5 * (i%12==0 ? 1.0 : 0.0));

 // High-level convenience (demo helper in repo):
 final forecasts = arimaForecast(series, 5);
 print('ARIMA demo forecasts: $forecasts');

 // Fit ARIMA using the core class
 final fit = Arima.fit(series, ArimaOrder(1, 1, 1));
 final fc = Arima.forecast(series, fit, 5);
 print('Point forecasts: ${fc.point}');
}

Higher-level helpers present in the repo (see acf_pcf_demo.dart) include:

  • Arima.fit / Arima.forecast
  • Sarima.fit / Sarima.forecast
  • autoSarima (small-grid auto-selection)
  • convenience demo helpers: arimaForecast, sarimaForecast, arimaxForecast, var1Forecast

Development & tests

Run the unit tests with:

dart test

Linting and static checks: use dart analyze.

Packaging notes

The repository contains a small Flutter widget under lib/acf_pcf_widget.dart. If you intend the package to be a pure Dart package (no Flutter SDK dependency), move the widget file into example/ or remove it from lib/ before publishing.

Contributing

Contributions and bug reports are welcome. Please open issues or pull requests on the project repository.

License

This project is licensed under the MIT License — see the LICENSE file for details.

Project repository: github.com/kullanici/ml_arima