arima 0.3.0

ARIMA time series modeling for Rust.
Documentation
[![Crate](https://img.shields.io/crates/v/arima.svg)](https://crates.io/crates/arima)
[![Docs](https://docs.rs/arima/badge.svg)](https://docs.rs/arima)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/krfricke/arima/blob/master/LICENSE)
[![Build Status](https://travis-ci.org/krfricke/arima.svg?branch=master)](https://travis-ci.org/krfricke/arima)
# ARIMA

Rust crate for ARIMA model coefficient estimation and simulation.

## Example

```rust
extern crate rand;
use rand::prelude::*;
use rand_distr::{Distribution, Normal};
use arima::{estimate, sim};

fn main() {
    // initialize RNG with seed
    let mut rng: StdRng = SeedableRng::from_seed([100; 32]);

    // our noise should be normally distributed
    let normal = Normal::new(10.0, 2.0).unwrap();

    // simulate time series
    let ts = sim::arima_sim(
        1000,                   // number of samples
        Some(&[0.7, 0.2]),      // AR parameters
        Some(&[0.4]),                   // MA parameters
        0,                      // difference parameter
        &|mut rng| { normal.sample(&mut rng) }, // noise fn
        &mut rng                // RNG
    ).unwrap();

    // estimate AR parameters
    let coef = estimate::fit(&ts, 2, 0, 1).unwrap();

    println!("Estimated parameters: {:?}", coef);
    // Estimated parameters: [14.904840907703845, 0.7524268545022731, 0.14075584488434256, 0.35966423499627603]
}
```

## Features

- Full ARIMA model parameter estimation
- Auto-correlation/covariance calculation
- Partial auto-correlation calculation
- AR parameter estimation
- Variance estimation
- ARIMA time series simulation

## Roadmap

- Order estimation

# License

This crate is licensed under the [Apache-2.0](LICENSE) license.