Expand description
Time Series Analysis (TSA) module for StatOxide
This crate provides comprehensive time series analysis tools, including:
- Core Data Structures:
TimeSerieswith datetime indexing - Stationarity Tests: ADF, KPSS, PP tests
- ARIMA Models: AR, MA, ARMA, ARIMA, SARIMA
- GARCH Models: ARCH, GARCH for volatility modeling
- State Space Models: Kalman filter, structural time series
- Decomposition: Seasonal-Trend decomposition (STL), moving averages
- Forecasting: Point forecasts, prediction intervals
- Diagnostics: Residual analysis, model selection criteria
§Example Usage
use so_tsa::{TimeSeries, ARIMA, GARCH, GARCHDistribution};
use ndarray::Array1;
// Create a simple time series with enough data for ARIMA
let values = Array1::from_vec(vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0]);
let timestamps: Vec<i64> = (0..values.len() as i64).collect();
let ts = TimeSeries::new("series", timestamps, values, None).unwrap();
// Fit ARIMA(0,0,0) model (white noise with constant)
let arima = ARIMA::builder(0, 0, 0)
.with_constant(true)
.max_iter(200)
.tol(1e-4)
.fit(&ts).unwrap();
// Fit GARCH(1,1) model
let garch = GARCH::builder(1, 1)
.distribution(GARCHDistribution::Normal)
.max_iter(200)
.tol(1e-4)
.fit(&ts).unwrap();§References
- Box, G. E. P., Jenkins, G. M., Reinsel, G. C., & Ljung, G. M. (2015). Time Series Analysis.
- Hyndman, R. J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice.
- R’s
forecastpackage and statsmodels’tsamodule.
Re-exports§
pub use arima::ARIMA;pub use arima::ARIMAResults;pub use arima::SARIMABuilder;pub use arima::SARIMAOrder;pub use decomposition::DecompositionExt;pub use decomposition::DecompositionMethod;pub use decomposition::DecompositionResults;pub use decomposition::HodrickPrescottFilter;pub use decomposition::MovingAverageDecomposition;pub use decomposition::STLDecomposition;pub use decomposition::X12ARIMA;pub use forecast::ForecastMetrics;pub use forecast::IntervalMethod;pub use forecast::PredictionInterval;pub use forecast::PredictionIntervals;pub use forecast::TimeSeriesCV;pub use garch::ARCH;pub use garch::GARCH;pub use garch::GARCHDistribution;pub use garch::GARCHOrder;pub use garch::GARCHResults;pub use results::ModelComparison;pub use results::ResidualDiagnostics;pub use results::TSAResults;pub use statespace::KalmanFilter;pub use statespace::StateSpaceModel;pub use stationarity::ADFTest;pub use stationarity::KPSSTest;pub use stationarity::PPTest;pub use stationarity::StationarityTest;pub use timeseries::TimeSeries;pub use utils::acf;pub use utils::box_cox;pub use utils::box_cox_lambda;pub use utils::ccf;pub use utils::detrend_poly;pub use utils::diebold_mariano;pub use utils::ewma;pub use utils::forecast_errors;pub use utils::information_criteria;pub use utils::pacf;pub use utils::periodogram;pub use utils::rolling_statistic;pub use utils::seasonal_dummies;pub use utils::spectrum;
Modules§
- arima
- ARIMA (AutoRegressive Integrated Moving Average) models
- decomposition
- Time series decomposition methods
- forecast
- Forecasting evaluation and prediction intervals
- garch
- GARCH (Generalized Autoregressive Conditional Heteroskedasticity) models
- prelude
- results
- Unified result structures for time series analysis
- statespace
- State space models and Kalman filter
- stationarity
- Stationarity tests for time series
- timeseries
- Time series data structure with datetime indexing
- utils
- Utility functions for time series analysis