Skip to main content

chronix_analytics/multivariate/
mod.rs

1//! # chronix-multivariate
2//!
3//! Multi-series analysis for the Chronix time-series database.
4//!
5//! ## Capabilities
6//!
7//! | Feature | Key Types |
8//! |---------|-----------|
9//! | Series alignment | [`MultiSeriesContext`], [`ColumnarMatrix`] |
10//! | Correlation | [`PearsonCorrelation`], [`SpearmanCorrelation`], [`KendallTau`] |
11//! | Rolling / lag correlation | [`RollingCorrelation`], [`LagCorrelation`] |
12//! | Correlation matrix | [`CrossCorrelationMatrix`] |
13//! | Anomaly detection | [`MahalanobisDetector`], [`IsolationForestDetector`], [`PcaAnomalyDetector`] |
14//! | Forecasting | [`MultiLinearRegression`], [`VarModel`] |
15//! | Derived series | [`ArithmeticExpr`], [`DerivedSeriesEngine`] |
16//! | Composite signals | [`CompositeSignalEngine`], [`CompositeSignalRule`] |
17//!
18//! ## Overview
19//!
20//! [`MultiSeriesContext`] aligns multiple time-series to a common time grid
21//! (via interpolation or forward-fill), producing a [`ColumnarMatrix`] that
22//! feeds into correlation, anomaly detection, and forecasting APIs.
23//!
24//! All multivariate anomaly detectors implement [`MultivariateAnomalyDetector`]
25//! and produce [`MultivariateAnomalyScore`] for uniform consumption.
26//!
27//! [`CompositeSignalEngine`] evaluates boolean rules over multiple series
28//! and emits signals via an async channel when conditions are met.
29
30#![warn(missing_docs)]
31#![deny(unsafe_code)]
32
33mod composite;
34mod context;
35mod correlation;
36mod derived;
37mod error;
38/// Standalone Granger causality utilities.
39mod mv_anomaly;
40mod mv_forecast;
41
42pub use composite::{
43    AnalyticsResults, CompositeSignal, CompositeSignalEngine, CompositeSignalRule,
44    DEFAULT_SIGNAL_CHANNEL_CAPACITY, SignalReceiver, SignalSender, signal_channel,
45};
46pub use context::{ColumnarMatrix, MultiSeriesContext};
47pub use correlation::{
48    CorrelationMethod, CrossCorrelationMatrix, KendallTau, LagCorrelation, PearsonCorrelation,
49    RollingCorrelation, SpearmanCorrelation,
50};
51pub use derived::{
52    ArithOp, ArithmeticExpr, DerivedSeriesDefinition, DerivedSeriesEngine, DerivedSeriesExpr,
53    LazyDerivedSeries, LogReturnExpr, RollingStat, RollingStatExpr,
54};
55pub use error::MultivariateError;
56pub use mv_anomaly::{
57    IsolationForestDetector, MahalanobisDetector, MultivariateAnomalyDetector,
58    MultivariateAnomalyScore, PcaAnomalyDetector,
59};
60pub use mv_forecast::{
61    GrangerCausalityResult, MultiLinearRegression, MultivariateForecastModel,
62    MultivariateForecastResult, VarModel,
63};