anofox_regression/
lib.rs

1//! A robust statistics library for regression analysis.
2//!
3//! This library provides sklearn-style regression estimators with full statistical
4//! inference support including standard errors, t-statistics, p-values, and
5//! confidence intervals.
6//!
7//! # Example
8//!
9//! ```rust,ignore
10//! use statistics::prelude::*;
11//!
12//! // Create and fit an OLS model
13//! let fitted = OlsRegressor::builder()
14//!     .with_intercept(true)
15//!     .confidence_level(0.95)
16//!     .build()
17//!     .fit(&x, &y)?;
18//!
19//! // Make predictions
20//! let predictions = fitted.predict(&x_new);
21//!
22//! // Access statistics
23//! let stats = fitted.result();
24//! println!("R² = {}", stats.r_squared);
25//! ```
26
27pub mod core;
28pub mod diagnostics;
29pub mod distributions;
30pub mod inference;
31pub mod solvers;
32pub mod utils;
33
34/// Prelude module for convenient imports.
35pub mod prelude {
36    pub use crate::core::{
37        BinomialFamily, BinomialLink, GlmFamily, IntervalType, LambdaScaling, NaAction, NaError,
38        NaHandler, NaInfo, NegativeBinomialFamily, PoissonFamily, PoissonLink, PredictionResult,
39        PredictionType, RegressionOptions, RegressionOptionsBuilder, RegressionResult,
40        TweedieFamily,
41    };
42    pub use crate::diagnostics::{
43        compute_leverage, cooks_distance, deviance_residuals, high_leverage_points,
44        influential_cooks, pearson_residuals, standardized_residuals, studentized_residuals,
45        variance_inflation_factor, working_residuals,
46    };
47    pub use crate::solvers::{
48        AlmDistribution, AlmRegressor, BinomialRegressor, BlsRegressor, ElasticNetRegressor,
49        FittedAlm, FittedBinomial, FittedIsotonic, FittedNegativeBinomial, FittedPls,
50        FittedPoisson, FittedQuantile, FittedRegressor, FittedTweedie, IsotonicRegressor,
51        LinkFunction, NegativeBinomialRegressor, OlsRegressor, OutOfBounds, PlsRegressor,
52        PoissonRegressor, QuantileRegressor, Regressor, RidgeRegressor, RlsRegressor,
53        TweedieRegressor, WlsRegressor,
54    };
55}
56
57pub use crate::core::{
58    BinomialFamily, BinomialLink, GlmFamily, IntervalType, LambdaScaling, NaAction, NaError,
59    NaHandler, NaInfo, NegativeBinomialFamily, PoissonFamily, PoissonLink, PredictionResult,
60    PredictionType, RegressionOptions, RegressionOptionsBuilder, RegressionResult, TweedieFamily,
61};
62pub use crate::solvers::{
63    BinomialRegressor, FittedBinomial, FittedIsotonic, FittedNegativeBinomial, FittedPoisson,
64    FittedQuantile, FittedRegressor, IsotonicRegressor, NegativeBinomialRegressor, OutOfBounds,
65    PoissonRegressor, QuantileRegressor, Regressor,
66};