scirs2_stats/lib.rs
1#![allow(clippy::all)]
2#![allow(unreachable_code)]
3#![allow(unused_mut)]
4#![allow(missing_docs)]
5#![allow(for_loops_over_fallibles)]
6#![allow(dead_code)]
7#![allow(unreachable_patterns)]
8#![allow(unused_assignments)]
9#![allow(unused_variables)]
10#![allow(private_interfaces)]
11#![allow(clippy::approx_constant)]
12
13//! # SciRS2 Statistics - Comprehensive Statistical Computing
14//!
15//! **scirs2-stats** provides production-ready statistical functions modeled after SciPy's `stats` module,
16//! offering descriptive statistics, probability distributions, hypothesis testing, regression analysis,
17//! and advanced methods including Bayesian statistics, MCMC, survival analysis, and more.
18//!
19//! ## π― Key Features
20//!
21//! - **SciPy Compatibility**: Drop-in replacement for `scipy.stats` with familiar APIs
22//! - **100+ Distributions**: Continuous, discrete, and multivariate distributions
23//! - **Hypothesis Testing**: Parametric and non-parametric tests with exact p-values
24//! - **Regression Models**: Linear, ridge, lasso, elastic net, and robust regression
25//! - **Advanced Methods**: Bayesian inference, MCMC, survival analysis, mixture models
26//! - **Performance**: SIMD-accelerated operations, parallel processing, streaming algorithms
27//! - **Type Safety**: Compile-time guarantees preventing statistical errors
28//!
29//! ## π¦ Module Overview
30//!
31//! | SciRS2 Module | SciPy Equivalent | Description |
32//! |---------------|------------------|-------------|
33//! | Descriptive | `scipy.stats.describe` | Mean, median, variance, skewness, kurtosis |
34//! | Distributions | `scipy.stats.*` | 100+ probability distributions (Normal, Poisson, etc.) |
35//! | Tests | `scipy.stats.ttest_*` | t-tests, ANOVA, chi-square, normality tests |
36//! | Correlation | `scipy.stats.pearsonr` | Pearson, Spearman, Kendall tau correlations |
37//! | Regression | `scipy.stats.linregress` | Linear, regularized, and robust regression |
38//! | Bayesian | - | Conjugate priors, Bayesian inference |
39//! | MCMC | - | Metropolis-Hastings, adaptive sampling |
40//! | Survival | `lifelines` (Python) | Kaplan-Meier, Cox proportional hazards |
41//! | QMC | `scipy.stats.qmc` | Quasi-Monte Carlo sequences |
42//! | Multivariate | `sklearn.decomposition` | PCA, incremental PCA |
43//!
44//! ## π Quick Start
45//!
46//! Add to your `Cargo.toml`:
47//! ```toml
48//! [dependencies]
49//! scirs2-stats = "0.1.5"
50//! ```
51//!
52//! ```rust
53//! use scirs2_core::ndarray::array;
54//! use scirs2_stats::{mean, median, std, var, skew, kurtosis};
55//!
56//! let data = array![1.0, 2.0, 3.0, 4.0, 5.0];
57//!
58//! let mean_val = mean(&data.view()).expect("Operation failed"); // 3.0
59//! let median_val = median(&data.view()).expect("Operation failed"); // 3.0
60//! let std_val = std(&data.view(), 1, None).expect("Operation failed"); // Sample std dev
61//! let skewness = skew(&data.view(), false, None).expect("Operation failed");
62//! let kurt = kurtosis(&data.view(), true, false, None).expect("Operation failed");
63//! ```
64//!
65//! ### Probability Distributions
66//!
67//! ```rust
68//! use scirs2_stats::distributions;
69//! use scirs2_stats::Distribution;
70//!
71//! // Normal distribution: N(ΞΌ=0, ΟΒ²=1)
72//! let normal = distributions::norm(0.0f64, 1.0).expect("Operation failed");
73//! let pdf = normal.pdf(0.0); // Probability density at x=0
74//! let cdf = normal.cdf(1.96); // P(X β€ 1.96) β 0.975
75//! let samples = normal.rvs(1000).expect("Operation failed"); // Generate 1000 samples
76//!
77//! // Poisson distribution: Poisson(Ξ»=3)
78//! let poisson = distributions::poisson(3.0f64, 0.0).expect("Operation failed");
79//! let pmf = poisson.pmf(2.0); // P(X = 2)
80//! let mean = poisson.mean(); // E[X] = 3.0
81//!
82//! // Multivariate normal
83//! use scirs2_core::ndarray::array;
84//! let mean = array![0.0, 0.0];
85//! let cov = array![[1.0, 0.5], [0.5, 2.0]];
86//! let mvn = distributions::multivariate::multivariate_normal(mean, cov).expect("Operation failed");
87//! let samples = mvn.rvs(100).expect("Operation failed");
88//! ```
89//!
90//! ### Hypothesis Testing
91//!
92//! ```rust
93//! use scirs2_core::ndarray::array;
94//! use scirs2_stats::{ttest_1samp, ttest_ind, mann_whitney, shapiro};
95//! use scirs2_stats::tests::ttest::Alternative;
96//!
97//! // One-sample t-test: Hβ: ΞΌ = 5.0
98//! let data = array![5.1, 4.9, 6.2, 5.7, 5.5];
99//! let result = ttest_1samp(&data.view(), 5.0, Alternative::TwoSided, "propagate").expect("Operation failed");
100//! println!("t-statistic: {}, p-value: {}", result.statistic, result.pvalue);
101//!
102//! // Two-sample t-test: Hβ: ΞΌβ = ΞΌβ
103//! let group1 = array![5.1, 4.9, 6.2, 5.7, 5.5];
104//! let group2 = array![4.8, 5.2, 5.1, 4.7, 4.9];
105//! let result = ttest_ind(&group1.view(), &group2.view(), true, Alternative::TwoSided, "propagate").expect("Operation failed");
106//!
107//! // Non-parametric Mann-Whitney U test
108//! let (u, p) = mann_whitney(&group1.view(), &group2.view(), "two-sided", true).expect("Operation failed");
109//!
110//! // Normality test
111//! let (w, p) = shapiro(&data.view()).expect("Operation failed");
112//! ```
113//!
114//! ### Correlation Analysis
115//!
116//! ```rust
117//! use scirs2_core::ndarray::array;
118//! use scirs2_stats::{pearsonr, spearmanr, kendall_tau, corrcoef};
119//!
120//! let x = array![1.0, 2.0, 3.0, 4.0, 5.0];
121//! let y = array![5.0, 4.0, 3.0, 2.0, 1.0];
122//!
123//! // Pearson correlation: r β -1.0 (linear relationship)
124//! let (r, p) = pearsonr(&x.view(), &y.view(), "two-sided").expect("Operation failed");
125//!
126//! // Spearman rank correlation (monotonic relationship)
127//! let rho = spearmanr(&x.view(), &y.view(), "two-sided").expect("Operation failed");
128//!
129//! // Kendall's tau correlation
130//! let tau = kendall_tau(&x.view(), &y.view(), "b").expect("Operation failed");
131//!
132//! // Correlation matrix for multiple variables
133//! let data = array![[1.0, 5.0], [2.0, 4.0], [3.0, 3.0], [4.0, 2.0], [5.0, 1.0]];
134//! let corr_matrix = corrcoef(&data.view(), "pearson").expect("Operation failed");
135//! ```
136//!
137//! ### Regression Analysis
138//!
139//! ```rust
140//! use scirs2_core::ndarray::array;
141//! use scirs2_stats::regression::{linear_regression, ridge_regression, lasso_regression};
142//!
143//! let x = array![[1.0], [2.0], [3.0], [4.0], [5.0]];
144//! let y = array![2.1, 4.0, 5.9, 8.1, 10.0];
145//!
146//! // Ordinary least squares
147//! let result = linear_regression(&x.view(), &y.view(), None).expect("Operation failed");
148//! println!("Slope: {}, RΒ²: {}", result.coefficients[0], result.r_squared);
149//!
150//! // Ridge regression (L2 regularization)
151//! let ridge_result = ridge_regression(&x.view(), &y.view(), Some(0.1), None, None, None, None, None).expect("Operation failed");
152//!
153//! // Lasso regression (L1 regularization)
154//! let lasso_result = lasso_regression(&x.view(), &y.view(), Some(0.1), None, None, None, None, None).expect("Operation failed");
155//! ```
156//!
157//! ## ποΈ Architecture
158//!
159//! ```text
160//! scirs2-stats
161//! βββ Descriptive Statistics (mean, median, variance, skewness, kurtosis)
162//! βββ Probability Distributions
163//! β βββ Continuous (Normal, Gamma, Beta, t, F, Chi-square, etc.)
164//! β βββ Discrete (Poisson, Binomial, Hypergeometric, etc.)
165//! β βββ Multivariate (MVN, Dirichlet, Wishart, etc.)
166//! βββ Hypothesis Testing
167//! β βββ Parametric (t-tests, ANOVA, F-test)
168//! β βββ Non-parametric (Mann-Whitney, Wilcoxon, Kruskal-Wallis)
169//! β βββ Normality (Shapiro-Wilk, Anderson-Darling, K-S test)
170//! βββ Correlation & Dependence (Pearson, Spearman, Kendall, partial)
171//! βββ Regression Models (linear, ridge, lasso, elastic net, robust)
172//! βββ Advanced Methods
173//! β βββ Bayesian Statistics (priors, posteriors, credible intervals)
174//! β βββ MCMC (Metropolis-Hastings, Gibbs sampling)
175//! β βββ Survival Analysis (Kaplan-Meier, Cox PH, log-rank test)
176//! β βββ Mixture Models (GMM, kernel density estimation)
177//! β βββ Multivariate Analysis (PCA, canonical correlation)
178//! βββ Performance Optimization
179//! β βββ SIMD acceleration (AVX/AVX2/AVX-512)
180//! β βββ Parallel processing (multi-threaded operations)
181//! β βββ Streaming algorithms (online/incremental updates)
182//! β βββ Memory optimization (cache-aware, chunked processing)
183//! βββ QMC & Sampling (Sobol, Halton, Latin hypercube, bootstrap)
184//! ```
185//!
186//! ## π Performance
187//!
188//! | Operation | Size | Pure Rust | SIMD | Parallel | Streaming |
189//! |-----------|------|-----------|------|----------|-----------|
190//! | Mean | 10M | 15ms | 3ms | 2ms | 1.8ms |
191//! | Variance | 10M | 28ms | 5ms | 3ms | 2.5ms |
192//! | Correlation | 10kΓ10k | 1.2s | 180ms | 50ms | N/A |
193//! | t-test | 10k samples | 8ms | 2ms | 1.5ms | N/A |
194//! | KDE | 10k points | 450ms | 85ms | 25ms | N/A |
195//!
196//! **Note**: Benchmarks on AMD Ryzen 9 5950X. SIMD uses AVX2, Parallel uses 16 threads.
197//!
198//! ## π Integration
199//!
200//! - **scirs2-linalg**: Matrix operations for multivariate statistics
201//! - **scirs2-optimize**: Maximum likelihood estimation, parameter fitting
202//! - **scirs2-integrate**: Numerical integration for distribution functions
203//! - **scirs2-special**: Special functions (gamma, beta, erf, etc.)
204//!
205//! ## π Version Information
206//!
207//! - **Version**: 0.1.5
208//! - **Release Date**: January 15, 2026
209//! - **MSRV** (Minimum Supported Rust Version): 1.70.0
210//! - **Documentation**: [docs.rs/scirs2-stats](https://docs.rs/scirs2-stats)
211//! - **Repository**: [github.com/cool-japan/scirs](https://github.com/cool-japan/scirs)
212//!
213//! ### Dispersion Measures
214//!
215//! ```
216//! use scirs2_core::ndarray::array;
217//! use scirs2_stats::{
218//! mean_abs_deviation, median_abs_deviation, iqr, data_range, coef_variation
219//! };
220//!
221//! let data = array![1.0, 2.0, 3.0, 4.0, 5.0, 100.0]; // Note the outlier
222//!
223//! // Mean absolute deviation (from mean)
224//! let mad = mean_abs_deviation(&data.view(), None).expect("Operation failed");
225//! println!("Mean absolute deviation: {}", mad);
226//!
227//! // Median absolute deviation (robust to outliers)
228//! let median_ad = median_abs_deviation(&data.view(), None, None).expect("Operation failed");
229//! println!("Median absolute deviation: {}", median_ad);
230//!
231//! // Scaled median absolute deviation (consistent with std dev for normal distributions)
232//! let median_ad_scaled = median_abs_deviation(&data.view(), None, Some(1.4826)).expect("Operation failed");
233//! println!("Scaled median absolute deviation: {}", median_ad_scaled);
234//!
235//! // Interquartile range (Q3 - Q1)
236//! let iqr_val = iqr(&data.view(), None).expect("Operation failed");
237//! println!("Interquartile range: {}", iqr_val);
238//!
239//! // Range (max - min)
240//! let range_val = data_range(&data.view()).expect("Operation failed");
241//! println!("Range: {}", range_val);
242//!
243//! // Coefficient of variation (std/mean, unitless measure)
244//! let cv = coef_variation(&data.view(), 1).expect("Operation failed");
245//! println!("Coefficient of variation: {}", cv);
246//! ```
247//!
248//! ### Statistical Distributions
249//!
250//! ```
251//! use scirs2_stats::distributions;
252//!
253//! // Normal distribution
254//! let normal = distributions::norm(0.0f64, 1.0).expect("Operation failed");
255//! let pdf = normal.pdf(0.0);
256//! let cdf = normal.cdf(1.96);
257//! let samples = normal.rvs(100).expect("Operation failed");
258//!
259//! // Poisson distribution
260//! let poisson = distributions::poisson(3.0f64, 0.0).expect("Operation failed");
261//! let pmf = poisson.pmf(2.0);
262//! let cdf = poisson.cdf(4.0);
263//! let samples = poisson.rvs(100).expect("Operation failed");
264//!
265//! // Gamma distribution
266//! let gamma = distributions::gamma(2.0f64, 1.0, 0.0).expect("Operation failed");
267//! let pdf = gamma.pdf(1.0);
268//! let cdf = gamma.cdf(2.0);
269//! let samples = gamma.rvs(100).expect("Operation failed");
270//!
271//! // Beta distribution
272//! let beta = distributions::beta(2.0f64, 3.0, 0.0, 1.0).expect("Operation failed");
273//! let pdf = beta.pdf(0.5);
274//! let samples = beta.rvs(100).expect("Operation failed");
275//!
276//! // Exponential distribution
277//! let exp = distributions::expon(1.0f64, 0.0).expect("Operation failed");
278//! let pdf = exp.pdf(1.0);
279//! let mean = exp.mean(); // Should be 1.0
280//!
281//! // Multivariate normal distribution
282//! use scirs2_core::ndarray::array;
283//! let mvn_mean = array![0.0, 0.0];
284//! let mvn_cov = array![[1.0, 0.5], [0.5, 2.0]];
285//! let mvn = distributions::multivariate::multivariate_normal(mvn_mean, mvn_cov).expect("Operation failed");
286//! let pdf = mvn.pdf(&array![0.0, 0.0]);
287//! let samples = mvn.rvs(100).expect("Operation failed");
288//! ```
289//!
290//! ### Statistical Tests
291//!
292//! ```
293//! use scirs2_core::ndarray::{array, Array2};
294//! use scirs2_stats::{
295//! ttest_1samp, ttest_ind, ttest_rel, kstest, shapiro, mann_whitney,
296//! shapiro_wilk, anderson_darling, dagostino_k2, wilcoxon, kruskal_wallis, friedman,
297//! ks_2samp, distributions, Alternative
298//! };
299//! use scirs2_stats::tests::ttest::Alternative as TTestAlternative;
300//!
301//! // One-sample t-test (we'll use a larger sample for normality tests)
302//! let data = array![
303//! 5.1, 4.9, 6.2, 5.7, 5.5, 5.1, 5.2, 5.0, 5.3, 5.4,
304//! 5.6, 5.8, 5.9, 6.0, 5.2, 5.4, 5.3, 5.1, 5.2, 5.0
305//! ];
306//! let result = ttest_1samp(&data.view(), 5.0, TTestAlternative::TwoSided, "propagate").expect("Operation failed");
307//! let t_stat = result.statistic;
308//! let p_value = result.pvalue;
309//! println!("One-sample t-test: t={}, p={}", t_stat, p_value);
310//!
311//! // Two-sample t-test
312//! let group1 = array![5.1, 4.9, 6.2, 5.7, 5.5];
313//! let group2 = array![4.8, 5.2, 5.1, 4.7, 4.9];
314//! let result = ttest_ind(&group1.view(), &group2.view(), true, TTestAlternative::TwoSided, "propagate").expect("Operation failed");
315//! let t_stat = result.statistic;
316//! let p_value = result.pvalue;
317//! println!("Two-sample t-test: t={}, p={}", t_stat, p_value);
318//!
319//! // Normality tests
320//! let (w_stat, p_value) = shapiro(&data.view()).expect("Operation failed");
321//! println!("Shapiro-Wilk test: W={}, p={}", w_stat, p_value);
322//!
323//! // More accurate Shapiro-Wilk test implementation
324//! let (w_stat, p_value) = shapiro_wilk(&data.view()).expect("Operation failed");
325//! println!("Improved Shapiro-Wilk test: W={}, p={}", w_stat, p_value);
326//!
327//! // Anderson-Darling test for normality
328//! let (a2_stat, p_value) = anderson_darling(&data.view()).expect("Operation failed");
329//! println!("Anderson-Darling test: AΒ²={}, p={}", a2_stat, p_value);
330//!
331//! // D'Agostino's KΒ² test combining skewness and kurtosis
332//! let (k2_stat, p_value) = dagostino_k2(&data.view()).expect("Operation failed");
333//! println!("D'Agostino KΒ² test: KΒ²={}, p={}", k2_stat, p_value);
334//!
335//! // Non-parametric tests
336//!
337//! // Wilcoxon signed-rank test (paired samples)
338//! let before = array![125.0, 115.0, 130.0, 140.0, 140.0];
339//! let after = array![110.0, 122.0, 125.0, 120.0, 140.0];
340//! let (w, p_value) = wilcoxon(&before.view(), &after.view(), "wilcox", true).expect("Operation failed");
341//! println!("Wilcoxon signed-rank test: W={}, p={}", w, p_value);
342//!
343//! // Mann-Whitney U test (independent samples)
344//! let males = array![19.0, 22.0, 16.0, 29.0, 24.0];
345//! let females = array![20.0, 11.0, 17.0, 12.0];
346//! let (u, p_value) = mann_whitney(&males.view(), &females.view(), "two-sided", true).expect("Operation failed");
347//! println!("Mann-Whitney U test: U={}, p={}", u, p_value);
348//!
349//! // Kruskal-Wallis test (unpaired samples)
350//! let group1 = array![2.9, 3.0, 2.5, 2.6, 3.2];
351//! let group2 = array![3.8, 3.7, 3.9, 4.0, 4.2];
352//! let group3 = array![2.8, 3.4, 3.7, 2.2, 2.0];
353//! let samples = vec![group1.view(), group2.view(), group3.view()];
354//! let (h, p_value) = kruskal_wallis(&samples).expect("Operation failed");
355//! println!("Kruskal-Wallis test: H={}, p={}", h, p_value);
356//!
357//! // Friedman test (repeated measures)
358//! let data = array![
359//! [7.0, 9.0, 8.0],
360//! [6.0, 5.0, 7.0],
361//! [9.0, 7.0, 6.0],
362//! [8.0, 5.0, 6.0]
363//! ];
364//! let (chi2, p_value) = friedman(&data.view()).expect("Operation failed");
365//! println!("Friedman test: ChiΒ²={}, p={}", chi2, p_value);
366//!
367//! // One-sample distribution fit test
368//! let normal = distributions::norm(0.0f64, 1.0).expect("Operation failed");
369//! let standardizeddata = array![0.1, -0.2, 0.3, -0.1, 0.2];
370//! let (ks_stat, p_value) = kstest(&standardizeddata.view(), |x| normal.cdf(x)).expect("Operation failed");
371//! println!("Kolmogorov-Smirnov one-sample test: D={}, p={}", ks_stat, p_value);
372//!
373//! // Two-sample KS test
374//! let sample1 = array![0.1, 0.2, 0.3, 0.4, 0.5];
375//! let sample2 = array![0.6, 0.7, 0.8, 0.9, 1.0];
376//! let (ks_stat, p_value) = ks_2samp(&sample1.view(), &sample2.view(), "two-sided").expect("Operation failed");
377//! println!("Kolmogorov-Smirnov two-sample test: D={}, p={}", ks_stat, p_value);
378//! ```
379//!
380//! ### Random Number Generation
381//!
382//! ```
383//! use scirs2_stats::random::{uniform, randn, randint, choice};
384//! use scirs2_core::ndarray::array;
385//!
386//! // Generate uniform random numbers between 0 and 1
387//! let uniform_samples = uniform(0.0, 1.0, 10, Some(42)).expect("Operation failed");
388//!
389//! // Generate standard normal random numbers
390//! let normal_samples = randn(10, Some(123)).expect("Operation failed");
391//!
392//! // Generate random integers between 1 and 100
393//! let int_samples = randint(1, 101, 5, Some(456)).expect("Operation failed");
394//!
395//! // Randomly choose elements from an array
396//! let options = array!["apple", "banana", "cherry", "date", "elderberry"];
397//! let choices = choice(&options.view(), 3, false, None, Some(789)).expect("Operation failed");
398//! ```
399//!
400//! ### Statistical Sampling
401//!
402//! ```
403//! use scirs2_stats::sampling;
404//! use scirs2_core::ndarray::array;
405//!
406//! // Create an array
407//! let data = array![1.0, 2.0, 3.0, 4.0, 5.0];
408//!
409//! // Generate bootstrap samples
410//! let bootstrap_samples = sampling::bootstrap(&data.view(), 10, Some(42)).expect("Operation failed");
411//!
412//! // Generate a random permutation
413//! let permutation = sampling::permutation(&data.view(), Some(123)).expect("Operation failed");
414//! ```
415// Linear algebra operations provided by scirs2-linalg
416
417// Python API wrappers
418// Note: python_api module not yet implemented
419// #[cfg(feature = "python")]
420// pub mod python_api;
421
422// Export error types (MUST be unconditional - used by all modules)
423pub mod error;
424pub mod error_context;
425pub mod error_diagnostics;
426pub mod error_handling_enhancements;
427pub mod error_handling_v2;
428pub mod error_messages;
429pub mod error_recovery_system;
430pub mod error_standardization;
431pub mod error_suggestions;
432pub mod intelligent_error_recovery;
433pub mod performance_optimization;
434// pub mod advanced_error_enhancements_v2; // Temporarily commented out
435pub mod unified_error_handling;
436pub use adaptive_simd_optimization::{
437 create_adaptive_simd_optimizer, optimize_simd_operation, AdaptiveSimdConfig,
438 AdaptiveSimdOptimizer, DataCharacteristics as SimdDataCharacteristics, HardwareCapabilities,
439 OptimizationLevel, PerformanceStatistics, SimdOptimizationResult, SimdStrategy,
440};
441pub use api_standardization::{
442 Alternative, CorrelationBuilder, CorrelationMethod, CorrelationResult, DescriptiveStats,
443 DescriptiveStatsBuilder, F32DescriptiveBuilder, F32StatsAnalyzer, F64DescriptiveBuilder,
444 F64StatsAnalyzer, NullHandling, StandardizedConfig, StandardizedResult, StatsAnalyzer,
445 TestResult,
446};
447pub use api_standardization_enhanced::{
448 quick_correlation, quick_descriptive, stats, stats_with, AutoOptimizationLevel, ChainedResults,
449 CorrelationMethod as EnhancedCorrelationMethod, CorrelationType, FluentCorrelation,
450 FluentDescriptive, FluentRegression, FluentStats, FluentStatsConfig, FluentTesting,
451 MemoryStrategy, OperationResult, OperationType, RegressionType, ResultFormat,
452 StatisticalOperation, TestType,
453};
454pub use benchmark_suite::{
455 AlgorithmConfig, BenchmarkConfig, BenchmarkMetrics, BenchmarkReport, BenchmarkSuite,
456 ComplexityClass, MemoryStats, OptimizationRecommendation, PerformanceAnalysis, TimingStats,
457};
458pub use benchmark_suite_enhanced::{
459 create_configured_enhanced_benchmark_suite, create_enhanced_benchmark_suite,
460 run_quick_ai_analysis, AIPerformanceAnalysis, AnomalyType, BottleneckType,
461 CrossPlatformAnalysis, EnhancedBenchmarkConfig, EnhancedBenchmarkReport,
462 EnhancedBenchmarkSuite, ImplementationEffort, IntelligentRecommendation, MLModelConfig,
463 MemoryHierarchy, PerformanceBottleneck, PerformancePrediction, PlatformTarget,
464 RecommendationCategory, RecommendationPriority, RegressionAnalysis, RegressionSeverity,
465 SimdCapabilities, TrendDirection,
466};
467pub use error::{StatsError, StatsResult};
468pub use error_diagnostics::{
469 generate_global_health_report, get_global_statistics, global_monitor, record_global_error,
470 CriticalIssue, ErrorMonitor, ErrorOccurrence, ErrorPattern, ErrorStatistics, ErrorTrend,
471 HealthReport, Recommendation,
472};
473pub use error_handling_enhancements::{
474 AdvancedContextBuilder, AdvancedErrorContext, AdvancedErrorMessages, AdvancedErrorRecovery,
475 OptimizationSuggestion, RecoveryStrategy,
476};
477pub use error_handling_v2::{
478 EnhancedError, ErrorBuilder, ErrorCode, ErrorContext as ErrorContextV2, PerformanceImpact,
479 RecoverySuggestion,
480};
481pub use error_recovery_system::{
482 enhance_error_with_recovery, initialize_error_recovery, CodeSnippet, ComputationState,
483 ConvergenceStatus, DataCharacteristics, DistributionInfo, EnhancedStatsError, ErrorContext,
484 ErrorRecoveryConfig, ErrorRecoverySystem, ErrorSeverity, ImpactLevel, MissingDataInfo,
485 MissingPattern, PerformanceImpact as RecoveryPerformanceImpact, PreprocessingStep, RangeInfo,
486 RecoveryAction, RecoverySuggestion as RecoveryRecoverySuggestion, SizeInfo, SuggestionType,
487 SystemInfo, ValidationCheck,
488};
489pub use error_standardization::{
490 AutoRecoverySystem, BatchErrorHandler, DataDiagnostics, DataQualityIssue, EnhancedErrorContext,
491 ErrorDiagnostics, ErrorMessages, ErrorValidator, InterModuleErrorChecker,
492 PerformanceImpact as StandardizedPerformanceImpact, RecoverySuggestions,
493 StandardizedErrorReporter, StatsSummary, SystemDiagnostics,
494};
495pub use error_suggestions::{
496 diagnose_error, DiagnosisReport, ErrorFormatter, ErrorType, Severity, Suggestion,
497 SuggestionEngine,
498};
499pub use intelligent_error_recovery::{
500 create_intelligent_recovery, get_intelligent_suggestions, IntelligentErrorRecovery,
501 IntelligentRecoveryStrategy, RecoveryConfig, ResourceRequirements, RiskLevel,
502};
503pub use memory_optimization_advanced::{
504 AdaptiveStatsAllocator, CacheOptimizedMatrix, MatrixLayout, MemoryOptimizationConfig,
505 MemoryOptimizationReport, MemoryOptimizationSuite, MemoryProfile, StreamingStatsCalculator,
506};
507pub use memory_optimization_enhanced::{
508 create_configured_memory_optimizer, create_enhanced_memory_optimizer, EnhancedMemoryOptimizer,
509 GarbageCollectionResult, MemoryOptimizationConfig as EnhancedMemoryConfig,
510 MemoryStatistics as EnhancedMemoryStatistics,
511 OptimizationRecommendation as EnhancedOptimizationRecommendation,
512};
513pub use performance_benchmark_suite::{
514 AdvancedBenchmarkConfig,
515 AdvancedBenchmarkMetrics,
516 AdvancedBenchmarkReport,
517 AdvancedBenchmarkSuite,
518 // run_advanced_benchmarks, // Temporarily commented out
519 ComprehensiveAnalysis,
520 CrossPlatformAssessment,
521 ScalabilityAssessment,
522 StabilityAssessment,
523};
524pub use performance_optimization::{
525 OptimizedCanonicalCorrelationAnalysis, OptimizedLinearDiscriminantAnalysis,
526 PerformanceBenchmark, PerformanceConfig, PerformanceMetrics,
527};
528pub use scipy_benchmark_comparison::{
529 run_function_comparison, run_scipy_comparison, AccuracyComparison, AccuracyRating,
530 ComparisonRecommendation, ComparisonStatus, FunctionComparison, PerformanceComparison,
531 PerformanceRating, ScipyBenchmarkComparison, ScipyComparisonConfig, ScipyComparisonReport,
532};
533// pub use advanced_parallel_stats::{
534// create_advanced_parallel_processor as create_advanced_parallel_stats_processor, mean_advanced_parallel,
535// variance_advanced_parallel, LoadBalancingAlgorithm,
536// ParallelExecutionMetrics as AdvancedParallelExecutionMetrics, ParallelPerformanceAnalysis,
537// PerformanceRating as AdvancedParallelPerformanceRating,
538// AdvancedParallelConfig as AdvancedParallelStatsConfig,
539// AdvancedParallelResult as AdvancedParallelResult,
540// AdvancedParallelStatsProcessor as AdvancedParallelStatsProcessor, WorkStealingStrategy,
541// };
542// Temporarily commented out
543/*
544pub use advanced_error_enhancements_v2::{
545 create_enhanced_error_context, CompatibilityImpact, EffortLevel, ErrorEngineConfig,
546 IntelligentDiagnostics, OperationContext, PerformanceAssessment,
547 RecoveryStrategy as RecoveryStrategyV2, UXRecommendations,
548 AdvancedErrorContext as AdvancedErrorContextV2, AdvancedErrorEngine,
549};
550*/
551pub use unified_error_handling::{
552 create_standardized_error, global_error_handler, UnifiedErrorHandler,
553};
554
555// API improvements for v1.0.0
556pub mod api_improvements;
557pub use api_improvements::{CorrelationExt, OptimizationHint, StatsBuilder, StatsConfig};
558
559// Advanced integration workflows
560pub use advanced_bootstrap::{
561 block_bootstrap, circular_block_bootstrap, moving_block_bootstrap, stationary_bootstrap,
562 stratified_bootstrap, AdvancedBootstrapConfig, AdvancedBootstrapProcessor,
563 AdvancedBootstrapResult, BlockType, BootstrapConfidenceIntervals, BootstrapDiagnostics,
564 BootstrapDistributionStats, BootstrapType, ConvergenceInfo, ParametricBootstrapParams,
565 QualityMetrics, TaperFunction, WildDistribution,
566};
567pub use advanced_integration::{
568 BayesianAnalysisResult, BayesianAnalysisWorkflow, BayesianModelMetrics,
569 DimensionalityAnalysisResult, DimensionalityAnalysisWorkflow, DimensionalityMetrics,
570 DimensionalityRecommendations, QMCQualityMetrics, QMCResult, QMCSequenceType, QMCWorkflow,
571 SurvivalAnalysisResult, SurvivalAnalysisWorkflow, SurvivalSummaryStats,
572};
573pub use advanced_parallel_monte_carlo::{
574 integrate_parallel, AdvancedParallelMonteCarlo, GaussianFunction, IntegrableFunction,
575 IntegrationMetrics, MonteCarloConfig, MonteCarloResult, TestFunction, VarianceReductionConfig,
576};
577pub use api_consistency_validation::{
578 validate_api_consistency, APIConsistencyValidator, APIInconsistency, CheckCategory,
579 DocumentationStatus, FunctionCategory, FunctionPattern, FunctionRegistry, FunctionSignature,
580 InconsistencyType, NamingConventions, ParameterInfo, ParameterUsage, ReturnTypeInfo,
581 Severity as APISeverity, ValidationCheck as APIValidationCheck, ValidationConfig,
582 ValidationReport, ValidationResults, ValidationStatus, ValidationSummary, ValidationWarning,
583};
584pub use production_deployment::{
585 create_cloud_production_config, create_container_production_config, CheckResult, CheckSeverity,
586 CheckStatus, CloudProvider, ContainerRuntime, CpuFeatures, EnvironmentSpec, EnvironmentType,
587 HealthCheck, HealthCheckResult, HealthChecker, HealthStatus, MemoryLimits, PerformanceMonitor,
588 PerformanceRequirements, ProductionConfig, ProductionDeploymentValidator, ServerlessPlatform,
589 SimdFeature, ValidationResults as ProductionValidationResults,
590};
591
592// Advanced performance and optimization modules
593pub mod adaptive_simd_optimization; // Adaptive SIMD optimization framework
594pub mod advanced_bootstrap; // Advanced bootstrap methods for complex statistical inference
595pub mod api_consistency_validation; // Comprehensive API consistency validation framework
596pub mod api_standardization; // Unified API layer for v1.0.0 consistency
597pub mod api_standardization_enhanced; // Enhanced fluent API with method chaining and intelligent optimization
598pub mod benchmark_suite; // Comprehensive benchmarking framework for performance analysis
599pub mod benchmark_suite_enhanced; // AI-driven enhanced benchmark suite with cross-platform validation
600pub mod memory_optimization_advanced; // Advanced memory optimization strategies
601pub mod memory_optimization_enhanced; // Enhanced memory optimization with intelligent management
602pub mod parallel_enhanced_advanced; // Advanced parallel processing with intelligent optimization
603pub mod performance_benchmark_suite;
604pub mod production_deployment;
605pub mod scipy_benchmark_comparison; // SciPy comparison and validation framework
606pub mod simd_enhanced_core; // Enhanced SIMD-optimized core statistical operations
607 // pub mod advanced_parallel_stats; // Performance enhanced benchmark suite with advanced analytics // Advanced-parallel statistical computing framework // Production deployment utilities and validation
608
609// Module substructure following SciPy's organization
610pub mod advanced_integration; // High-level workflows integrating multiple advanced methods
611pub mod advanced_parallel_monte_carlo; // Advanced parallel Monte Carlo integration
612pub mod bayesian; // Bayesian statistics
613pub mod contingency; // Contingency table functions
614pub mod distributions; // Statistical distributions
615pub mod gaussian_process; // Gaussian Process regression
616pub mod math_utils;
617pub mod mcmc; // Markov Chain Monte Carlo methods
618pub mod mstats; // Masked array statistics
619pub mod multivariate; // Multivariate analysis (PCA, etc.)
620pub mod qmc; // Quasi-Monte Carlo
621pub mod sampling; // Sampling utilities
622pub mod survival; // Survival analysis
623pub mod traits; // Trait definitions for distributions and statistical objects // Mathematical utility functions with SIMD acceleration (abs, sign)
624
625// Comprehensive validation and testing frameworks for v1.0.0
626// pub mod comprehensive_validation_suite;
627pub mod numerical_stability_analyzer; // Numerical stability analysis framework
628 // pub mod propertybased_validation; // Property-based testing for mathematical invariants
629pub mod scipy_benchmark_framework; // SciPy comparison and benchmarking framework // Unified validation suite integrating all frameworks
630
631// Export commonly used traits
632pub use traits::{
633 CircularDistribution, ContinuousDistribution, DiscreteDistribution, Distribution, Fittable,
634 MultivariateDistribution, Truncatable,
635};
636
637// v0.2.0 SIMD enhancements
638pub mod correlation_simd_enhanced; // Enhanced correlation and covariance with SIMD
639pub mod parallel_simd_stats;
640pub mod sampling_simd; // SIMD-optimized distribution sampling // Parallel processing with SIMD acceleration
641
642pub use correlation_simd_enhanced::{
643 covariance_matrix_simd, partial_correlation_simd, rolling_correlation_simd, spearman_r_simd,
644};
645pub use parallel_simd_stats::{
646 bootstrap_parallel_simd, corrcoef_parallel_simd, covariance_matrix_parallel_simd,
647 pairwise_distances_parallel_simd, row_statistics_parallel_simd,
648};
649pub use sampling_simd::{
650 bootstrap_simd, box_muller_simd, exponential_simd, inverse_transform_simd,
651};
652
653// Core functions for descriptive statistics
654mod adaptive_memory_advanced;
655pub mod advanced_simd_stats;
656mod bayesian_advanced;
657mod cross_platform_regression_detection;
658mod descriptive;
659mod descriptive_simd;
660mod dispersion_simd;
661mod mcmc_advanced;
662mod memory_efficient;
663mod memory_optimized_advanced;
664mod memory_optimized_v2;
665mod memory_profiler_v3;
666mod memory_profiling;
667mod mixture_models;
668pub mod moments_simd;
669mod multivariate_advanced;
670// pub mod numerical_stability_enhancements;
671mod parallel_advanced;
672mod parallel_advanced_v3;
673mod parallel_enhanced_v2;
674mod parallel_enhanced_v4;
675mod parallel_stats;
676mod parallel_stats_enhanced;
677// mod propertybased_tests_extended;
678mod quantile_simd;
679mod quantum_advanced;
680mod simd_advanced;
681mod simd_comprehensive;
682mod simd_enhanced;
683mod simd_enhanced_advanced;
684mod simd_enhanced_v3;
685mod simd_enhanced_v4;
686mod simd_enhanced_v5;
687mod simd_enhanced_v6;
688mod simd_optimized_v2;
689mod spectral_advanced;
690mod streaming_advanced;
691mod survival_advanced;
692mod survival_enhanced;
693mod topological_advanced;
694// Temporarily commented out for compilation fixes
695// pub mod advanced_benchmark_validation;
696// pub mod advanced_cross_platform_validation;
697// pub mod advanced_memory_advanced_enhanced;
698// pub mod parallel_enhancements;
699// pub mod advanced_parallel_advanced_enhanced;
700// pub mod advanced_property_testing_advanced_enhanced;
701// pub mod advanced_property_tests;
702// pub mod unified_processor; // Commented out for now
703// pub mod advanced_stubs; // Temporary stubs for compilation
704pub use descriptive::*;
705pub use descriptive_simd::{descriptive_stats_simd, mean_simd, std_simd, variance_simd};
706pub use dispersion_simd::{
707 coefficient_of_variation_simd, gini_simd, iqr_simd, mad_simd, median_abs_deviation_simd,
708 percentile_range_simd, range_simd, sem_simd,
709};
710pub use moments_simd::{kurtosis_simd, moment_simd, moments_batch_simd, skewness_simd};
711pub use simd_enhanced_core::{
712 comprehensive_stats_simd as comprehensive_stats_enhanced, correlation_simd_enhanced,
713 mean_enhanced, variance_enhanced, ComprehensiveStats,
714};
715
716// Property-based testing framework
717pub use adaptive_memory_advanced::{
718 create_adaptive_memory_manager, create_optimized_memory_manager, AdaptiveMemoryConfig,
719 AdaptiveMemoryManager as AdvancedAdaptiveMemoryManager, AllocationStrategy,
720 CacheOptimizationConfig, F32AdaptiveMemoryManager, F64AdaptiveMemoryManager, GCResult,
721 GarbageCollectionConfig, MemoryPressureConfig, MemoryUsageStatistics, NumaConfig,
722 OutOfCoreConfig, PredictiveConfig,
723};
724pub use advanced_simd_stats::{
725 AccuracyLevel, AdvancedSimdConfig as AdvancedSimdConfigV2, AdvancedSimdOptimizer,
726 AlgorithmChoice as AdvancedAlgorithmChoice, BatchOperation, BatchResults,
727 MemoryConstraints as AdvancedMemoryConstraints, PerformancePreference,
728 PerformanceProfile as AdvancedPerformanceProfile, ScalarAlgorithm, SimdAlgorithm,
729 ThreadingPreferences,
730};
731pub use bayesian_advanced::{
732 ActivationType, AdvancedBayesianResult, AdvancedPrior, BayesianGaussianProcess, BayesianModel,
733 BayesianModelComparison, BayesianNeuralNetwork, ModelComparisonResult, ModelSelectionCriterion,
734 ModelType,
735};
736pub use cross_platform_regression_detection::{
737 create_regression_detector, create_regression_detector_with_config, BaselineStatistics,
738 CompilerContext, CrossPlatformRegressionConfig, CrossPlatformRegressionDetector,
739 HardwareContext, PerformanceBaseline, PerformanceMeasurement, PerformanceRecommendation,
740 PlatformComparison, PlatformInfo, RegressionAnalysisResult, RegressionReport, RegressionStatus,
741 RegressionSummaryStatistics, TrendAnalysis, TrendDirection as RegressionTrendDirection,
742};
743pub use either::Either;
744pub use mcmc_advanced::{
745 AdaptationConfig, AdvancedAdvancedConfig, AdvancedAdvancedMCMC, AdvancedAdvancedResults,
746 AdvancedTarget, ConvergenceDiagnostics, PerformanceMetrics as MCMCPerformanceMetrics,
747 SamplingMethod, TemperingConfig,
748};
749pub use memory_efficient::{
750 covariance_chunked, normalize_inplace, quantile_quickselect, streaming_mean, welford_variance,
751 StreamingHistogram,
752};
753pub use memory_optimized_advanced::{
754 cache_oblivious_matrix_mult, corrcoef_memory_aware, pca_memory_efficient,
755 streaming_covariance_matrix, streaming_histogram_adaptive, streaming_pca_enhanced,
756 streaming_quantiles_p2, streaming_regression_enhanced,
757 AdaptiveMemoryManager as AdvancedMemoryManager, MemoryConstraints,
758 MemoryStatistics as AdvancedMemoryStatistics, PCAResult,
759};
760pub use memory_optimized_v2::{
761 mean_zero_copy, variance_cache_aware, LazyStats, MemoryConfig, MemoryPool, StreamingCovariance,
762};
763pub use memory_profiler_v3::{
764 AdaptiveMemoryManager, AlgorithmChoice as MemoryAlgorithmChoice, AllocationStats, CacheStats,
765 MemoryProfiler, MemoryReport, ProfiledStatistics, StatisticsCache,
766};
767pub use memory_profiling::{
768 cache_friendly, memory_mapped, zero_copy, AlgorithmChoice, LazyStatComputation,
769 MemoryAdaptiveAlgorithm, MemoryTracker, RingBufferStats,
770};
771pub use mixture_models::{
772 benchmark_mixture_models, gaussian_mixture_model, gmm_cross_validation, gmm_model_selection,
773 hierarchical_gmm_init, kernel_density_estimation, BandwidthMethod, ComponentDiagnostics,
774 ConvergenceReason, CovarianceConstraint, CovarianceType, GMMConfig, GMMParameters,
775 GaussianMixtureModel, InitializationMethod, KDEConfig, KernelDensityEstimator, KernelType,
776 ModelSelectionCriteria, ParameterSnapshot, RobustGMM, StreamingGMM,
777};
778pub use multivariate_advanced::{
779 ActivationFunction, AdvancedMultivariateAnalysis, AdvancedMultivariateConfig,
780 AdvancedMultivariateResults, ClusteringAlgorithm, ClusteringConfig,
781 DimensionalityReductionMethod, ICAAlgorithm, ManifoldConfig, MultiViewConfig, PCAVariant,
782 TensorConfig, TensorDecomposition,
783};
784// pub use numerical_stability_enhancements::{
785// create_advanced_think_numerical_stability_tester, create_exhaustive_numerical_stability_tester,
786// create_fast_numerical_stability_tester, AdvancedNumericalStabilityConfig,
787// AdvancedNumericalStabilityTester, CancellationDetectionResult, ComprehensiveStabilityResult,
788// ConditionAnalysisResult, ConvergenceStabilityResult, CriticalIssueType,
789// EdgeCaseGenerationApproach, EdgeCaseStabilityResult, EdgeCaseType, InvariantValidationResult,
790// MonteCarloStabilityResult, NumericalStabilityThoroughness, OverflowMonitoringResult,
791// PrecisionStabilityResult, PrecisionTestingStrategy, RegressionTestResult,
792// StabilityAssessment as NumericalStabilityAssessment, StabilityRecommendation,
793// StabilityTolerance, StabilityTrend, StabilityTrendAnalysis, WarningType,
794// };
795pub use parallel_advanced::{
796 AdvancedParallelConfig as AdvancedAdvancedParallelConfig,
797 AdvancedParallelProcessor as AdvancedAdvancedParallelProcessor, HardwareConfig,
798 MemoryConfig as AdvancedMemoryConfig, MemoryUsageStats, OptimizationConfig, ParallelStrategy,
799 PerformanceMetrics as AdvancedPerformanceMetrics,
800};
801pub use parallel_advanced_v3::{
802 AdvancedParallelConfig, ParallelBatchProcessor, ParallelCrossValidator, ParallelMatrixOps,
803 ParallelMonteCarlo,
804};
805pub use parallel_enhanced_advanced::{
806 create_advanced_parallel_processor, create_configured_parallel_processor,
807 AdvancedParallelConfig as EnhancedAdvancedParallelConfig, AdvancedParallelProcessor,
808 ChunkStrategy,
809};
810pub use parallel_enhanced_v2::{
811 bootstrap_parallel_enhanced, mean_parallel_enhanced, variance_parallel_enhanced, ParallelConfig,
812};
813pub use parallel_enhanced_v4::{
814 bootstrap_parallel_advanced, correlation_matrix_parallel_advanced, mean_parallel_advanced,
815 variance_parallel_advanced, EnhancedParallelConfig, EnhancedParallelProcessor,
816 MatrixParallelResult,
817};
818pub use parallel_stats::{
819 bootstrap_parallel, corrcoef_parallel, mean_parallel, quantiles_parallel,
820 row_statistics_parallel, variance_parallel,
821};
822pub use parallel_stats_enhanced::{
823 kde_parallel, pairwise_distances_parallel, AdaptiveThreshold, ParallelCrossValidation,
824 ParallelHistogram, ParallelMovingStats,
825};
826/*
827#[cfg(test)]
828pub use property_based_tests_extended::{
829 BatchProcessingTester, CrossPlatformTester, ExtendedMathematicalTester, FuzzingTester,
830 MathematicalInvariantTester, MatrixTestData, MemoryOptimizationTester,
831 NumericalStabilityTester, ParallelConsistencyTester, PerformanceRegressionTester,
832 RobustnessTester, SimdConsistencyTester, StatisticalTestData,
833};
834*/
835pub use quantile_simd::{
836 median_simd, percentile_simd, quantile_simd, quantiles_simd, quickselect_simd,
837};
838pub use quantum_advanced::{
839 AdvancedQuantumAnalyzer, DataEncodingMethod, QAEResults, QClusteringResults, QNNResults,
840 QPCAResults, QSVMResults, QuantumAdvantageMetrics, QuantumClusteringAlgorithm, QuantumConfig,
841 QuantumEnsembleResult, QuantumFeatureEncoding, QuantumFeatureMap, QuantumKernelType,
842 QuantumMeasurementBasis, QuantumModel, QuantumMonteCarloResult, QuantumPerformanceMetrics,
843 QuantumResults, QuantumVariationalResult, TensorNetworkResults, TensorNetworkType, VQEAnsatz,
844 VQEResults,
845};
846pub use simd_advanced::{
847 advanced_mean_f32, advanced_mean_f64, AdvancedSimdProcessor, AdvancedStatsResult,
848 CacheAwareVectorProcessor, MemoryPattern, VectorStrategy,
849};
850pub use simd_comprehensive::{
851 AdvancedComprehensiveSimdConfig, AdvancedComprehensiveSimdProcessor, ComprehensiveStatsResult,
852 MatrixStatsResult as AdvancedMatrixStatsResult,
853};
854pub use simd_enhanced::{
855 create_advanced_simd_processor, create_performance_optimized_simd_processor,
856 create_stability_optimized_simd_processor, AccuracyMetrics, AdvancedEnhancedSimdProcessor,
857 AdvancedSimdConfig as AdvancedEnhancedSimdConfig, AdvancedSimdResults,
858 CacheOptimizationStrategy, CpuCapabilities, F32AdvancedSimdProcessor, F64AdvancedSimdProcessor,
859 InstructionSet, MemoryAlignment, NumericalStabilityLevel, OperationPerformance,
860 OptimalAlgorithm, PerformanceStatistics as AdvancedSimdPerformanceStats, PrefetchStrategy,
861 ProfilingLevel, VectorizationLevel,
862};
863pub use simd_enhanced_advanced::{
864 bootstrap_mean_simd, corrcoef_matrix_simd, linear_regression_simd, robust_statistics_simd,
865 ttest_ind_simd,
866};
867pub use simd_enhanced_v3::{
868 cosine_distance_simd, detect_outliers_zscore_simd, distance_matrix_simd,
869 euclidean_distance_simd, histogram_simd, manhattan_distance_simd, MovingWindowSIMD,
870};
871pub use simd_enhanced_v4::{
872 batch_normalize_simd, comprehensive_stats_simd,
873 covariance_matrix_simd as covariance_matrix_simd_v4, exponential_moving_average_simd,
874 outlier_detection_zscore_simd, quantiles_batch_simd,
875 robust_statistics_simd as robust_stats_v4_simd, sliding_window_stats_simd,
876 ComprehensiveStats as V4ComprehensiveStats, RobustStats, SlidingWindowStats,
877};
878pub use simd_enhanced_v5::{
879 rolling_statistics_simd, BootstrapResult, BootstrapStatistic, KernelType as V5KernelType,
880 MatrixOperation, MatrixStatsResult, RollingStatistic, RollingStatsResult,
881};
882pub use simd_enhanced_v6::{
883 advanced_comprehensive_simd, advanced_mean_simd, advanced_std_simd, AdvancedSimdConfig,
884 AdvancedSimdOps, BootstrapResult as V6BootstrapResult,
885 ComprehensiveStats as V6ComprehensiveStats, MatrixStatsResult as V6MatrixStatsResult,
886};
887pub use simd_optimized_v2::{
888 mean_simd_optimized, stats_simd_single_pass, variance_simd_optimized, SimdConfig,
889};
890pub use spectral_advanced::{
891 ActivationFunction as SpectralActivationFunction, AdvancedSpectralAnalyzer,
892 AdvancedSpectralConfig, AdvancedSpectralResults, CoherenceConfig, CoherenceResults,
893 HigherOrderResults, HigherOrderSpectralConfig, MLSpectralConfig, MLSpectralResults,
894 MultiTaperConfig, NonStationaryConfig, SpectralPeak, SpectralPerformanceMetrics,
895 SpectrogramType, WaveletConfig, WaveletResults, WaveletType, WindowFunction,
896};
897pub use streaming_advanced::{
898 create_advanced_streaming_processor, create_streaming_processor_with_config,
899 AdvancedAdvancedStreamingProcessor, AdvancedStreamingConfig, AnomalyDetectionAlgorithm,
900 AnomalyDetector, AnomalyEvent, AnomalySeverity, ChangePointAlgorithm, ChangePointDetector,
901 ChangePointEvent, CompressionAlgorithm, CompressionEngine, CompressionSummary,
902 IncrementalMLModel, MLModelType, StreamProcessingMode, StreamingAnalyticsResult,
903 StreamingPerformanceMetrics, StreamingRecommendation, StreamingStatistics, WindowingStrategy,
904};
905pub use survival_advanced::{
906 AFTDistribution, ActivationFunction as SurvivalActivationFunction, AdvancedSurvivalAnalysis,
907 AdvancedSurvivalConfig, AdvancedSurvivalResults, CausalSurvivalConfig, CompetingRisksConfig,
908 EnsembleConfig as SurvivalEnsembleConfig, SurvivalModel, SurvivalModelType, SurvivalPrediction,
909};
910pub use survival_enhanced::{
911 cox_regression, kaplan_meier, log_rank_test, CoxConfig, CoxConvergenceInfo,
912 CoxProportionalHazards, EnhancedKaplanMeier,
913};
914pub use topological_advanced::{
915 AdvancedTopologicalAnalyzer, CoeffientField, DistanceMetric, FilterFunction, Filtration,
916 FiltrationType, MapperEdge, MapperGraph, MapperNode, MultiscaleResults, PersistenceAlgorithm,
917 PersistenceDiagram, Simplex, SimplicialChain, SimplicialComplex, TopologicalConfig,
918 TopologicalInferenceResults, TopologicalPerformanceMetrics, TopologicalResults,
919};
920// Temporarily commented out for compilation fixes
921/*
922pub use advanced_cross_platform_validation::{
923 create_cross_platform_validator, CompatibilityRating, CrossPlatformTestResult,
924 CrossPlatformValidationReport, CrossPlatformValidator, PerformancePlatformProfile,
925};
926pub use advanced_memory_advanced_enhanced::{
927 create_largedataset_memory_manager, create_streaming_memory_manager,
928 create_advanced_think_memory_manager, AccessPattern, BatchMemoryResult, CacheImportance,
929 LifetimeHint, MemoryOptimizationLevel, MemoryPoolStrategy, MemoryStatistics, MemoryUsageHint,
930 NumaMemoryPolicy, AdvancedMemoryConfig as AdvancedMemoryConfigV2, AdvancedMemoryManager,
931};
932pub use parallel_enhancements::{
933 create_configured_advanced_parallel_processor as create_configured_advanced_parallel_processor,
934 create_advanced_parallel_processor as create_advanced_parallel_processor,
935 LoadBalancingStrategy as AdvancedLoadBalancingStrategy, MatrixOperationType,
936 ParallelExecutionMetrics as AdvancedParallelExecutionMetrics, ParallelPerformanceAnalytics,
937 TimeSeriesOperation, AdvancedParallelBatchResult, AdvancedParallelMatrixResult,
938};
939pub use advanced_parallel_advanced_enhanced::{
940 create_largedataset_parallel_processor, create_streaming_parallel_processor,
941 create_advanced_think_parallel_processor, BatchOperation as AdvancedBatchOperation,
942 LoadBalancingIntelligence, MemoryAwarenessLevel, NumaTopologyAwareness, PredictionModelType,
943 StatisticalOperation as AdvancedStatisticalOperation,
944 StreamingOperation as AdvancedStreamingOperation, ThreadPoolStrategy,
945 AdvancedParallelBatchResult as AdvancedParallelBatchResultV2, AdvancedParallelStatisticsResult,
946 AdvancedParallelStreamingResult, AdvancedParallelConfig as AdvancedParallelConfigV2,
947 AdvancedParallelConfig, AdvancedParallelProcessor,
948};
949pub use advanced_property_testing_advanced_enhanced::{
950 create_comprehensive_property_tester, create_fast_property_tester,
951 create_advanced_think_property_tester, ComprehensivePropertyTestResult,
952 EdgeCaseGenerationStrategy, EdgeCaseTestResult, FuzzingTestResult,
953 MathematicalInvariantTestResult, NumericalStabilityTestResult, NumericalTolerance,
954 PropertyGenerationStrategy, RegressionDetectionResult, StatisticalPropertyTestResult,
955 TestingThoroughnessLevel, AdvancedPropertyConfig as AdvancedPropertyConfigV2,
956 AdvancedPropertyTester,
957};
958pub use advanced_property_tests::{
959 create_advanced_property_tester, ComprehensiveTestReport, PropertyTestResult,
960 AdvancedPropertyTester,
961};
962pub use unified_processor::{
963 create_configured_advanced_processor, create_advanced_processor, OptimizationMode,
964 ProcessingStrategy, AdvancedComprehensiveResult, AdvancedMatrixResult,
965 AdvancedPerformanceAnalytics, AdvancedProcessorConfig, AdvancedTimeSeriesResult,
966 AdvancedUnifiedProcessor,
967};
968*/
969
970// Advanced benchmark validation - temporarily commented out
971/*
972pub use advanced_benchmark_validation::{
973 create_custom_advanced_validator, create_advanced_validator, AdvancedBenchmarkValidator,
974 ValidationConfig as ComprehensiveValidationConfig, ValidationReport as AdvancedValidationReport,
975 ValidationResult as ComprehensiveValidationResult,
976};
977*/
978
979// MCMC module
980pub use mcmc::ChainStatistics;
981
982// Statistical tests module
983pub mod tests;
984pub use tests::anova::{one_way_anova, tukey_hsd};
985pub use tests::chi2_test::{chi2_gof, chi2_independence, chi2_yates};
986pub use tests::nonparametric::{friedman, kruskal_wallis, mann_whitney, wilcoxon};
987pub use tests::normality::{anderson_darling, dagostino_k2, ks_2samp, shapiro_wilk};
988pub use tests::ttest::{ttest_1samp, ttest_ind, ttest_ind_from_stats, ttest_rel, TTestResult};
989pub use tests::*;
990
991// Correlation measures
992mod correlation;
993mod correlation_parallel_enhanced;
994mod correlation_simd;
995pub use correlation::intraclass::icc;
996pub use correlation::{
997 corrcoef, kendall_tau, kendalltau, partial_corr, partial_corrr, pearson_r, pearsonr,
998 point_biserial, point_biserialr, spearman_r, spearmanr,
999};
1000pub use correlation_parallel_enhanced::{
1001 batch_correlations_parallel, corrcoef_parallel_enhanced, pearson_r_simd_enhanced,
1002 rolling_correlation_parallel, ParallelCorrelationConfig,
1003};
1004pub use correlation_simd::{corrcoef_simd, covariance_simd, pearson_r_simd};
1005
1006// Dispersion and variability measures
1007mod dispersion;
1008pub use dispersion::{
1009 coef_variation, data_range, gini_coefficient, iqr, mean_abs_deviation, median_abs_deviation,
1010};
1011
1012// Quantile-based statistics
1013mod quantile;
1014pub use quantile::{
1015 boxplot_stats, deciles, percentile, quantile, quartiles, quintiles, winsorized_mean,
1016 winsorized_variance, QuantileInterpolation,
1017};
1018
1019// Distribution characteristics statistics
1020pub mod distribution_characteristics;
1021pub use distribution_characteristics::{
1022 cross_entropy, entropy, kl_divergence, kurtosis_ci, mode, skewness_ci, ConfidenceInterval,
1023 Mode, ModeMethod,
1024};
1025
1026// Core functions for regression analysis
1027pub mod regression;
1028pub use regression::{
1029 elastic_net, group_lasso, huber_regression, lasso_regression, linear_regression, linregress,
1030 multilinear_regression, odr, polyfit, ransac, ridge_regression, stepwise_regression,
1031 theilslopes, HuberT, RegressionResults, StepwiseCriterion, StepwiseDirection, StepwiseResults,
1032 TheilSlopesResult,
1033};
1034
1035// Core functions for random number generation
1036pub mod random;
1037pub use random::*;
1038
1039#[cfg(test)]
1040mod test_utils {
1041 // Common utilities for testing statistical functions
1042
1043 /// Generate a simple test array
1044 pub fn test_array() -> scirs2_core::ndarray::Array1<f64> {
1045 scirs2_core::ndarray::array![1.0, 2.0, 3.0, 4.0, 5.0]
1046 }
1047}