s2gpp 1.0.2

Algorithm for Highly Efficient Detection of Correlation Anomalies in Multivariate Time Series
Documentation
use crate::data_manager::data_reader::read_data_;
use crate::data_manager::phase_spacer::PhaseSpacer;
use crate::parameters::{Parameters, Role};
use ndarray::{arr2, s};
use ndarray_linalg::close_l1;

#[test]
fn test_correct_spacing() {
    let data = read_data_("data/test.csv");
    let parameters = Parameters {
        role: Role::Main {
            data_path: Some("data/test.csv".to_string()),
        },
        local_host: "127.0.0.1:8000".parse().unwrap(),
        pattern_length: 50,
        latent: 16,
        rate: 100,
        n_threads: 20,
        n_cluster_nodes: 1,
        ..Default::default()
    };

    let ps = PhaseSpacer::new(data.to_shared(), parameters);
    let phase_space = ps.build();
    let expected = arr2(&[
        [6.54935769, 9.29735908, 7.89886824],
        [7.14322411, 8.69207521, 8.13002231],
        [6.85200249, 8.12101571, 7.80578016],
    ]);

    close_l1(
        &phase_space.slice(s![0_usize, 0..3, 0..3]),
        &expected,
        0.0005,
    )
}