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};