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.
39pub mod granger;
40mod mv_anomaly;
41mod mv_forecast;
42
43pub use composite::{
44 signal_channel, AnalyticsResults, CompositeSignal, CompositeSignalEngine, CompositeSignalRule,
45 SignalReceiver, SignalSender, DEFAULT_SIGNAL_CHANNEL_CAPACITY,
46};
47pub use context::{ColumnarMatrix, MultiSeriesContext};
48pub use correlation::{
49 CorrelationMethod, CrossCorrelationMatrix, KendallTau, LagCorrelation, PearsonCorrelation,
50 RollingCorrelation, SpearmanCorrelation,
51};
52pub use derived::{
53 ArithOp, ArithmeticExpr, DerivedSeriesDefinition, DerivedSeriesEngine, DerivedSeriesExpr,
54 LazyDerivedSeries, LogReturnExpr, RollingStat, RollingStatExpr,
55};
56pub use error::MultivariateError;
57pub use mv_anomaly::{
58 IsolationForestDetector, MahalanobisDetector, MultivariateAnomalyDetector,
59 MultivariateAnomalyScore, PcaAnomalyDetector,
60};
61pub use mv_forecast::{
62 GrangerCausalityResult, MultiLinearRegression, MultivariateForecastModel,
63 MultivariateForecastResult, VarModel,
64};