Skip to main content

Crate fdars_core

Crate fdars_core 

Source
Expand description

§fdars-core

Core algorithms for Functional Data Analysis in Rust.

This crate provides pure Rust implementations of various FDA methods including:

  • Functional data operations (mean, derivatives, norms)
  • Depth measures (Fraiman-Muniz, modal, band, random projection, etc.)
  • Distance metrics (Lp, Hausdorff, DTW, Fourier, etc.)
  • Basis representations (B-splines, P-splines, Fourier)
  • Clustering (k-means, fuzzy c-means)
  • Smoothing (Nadaraya-Watson, local linear/polynomial regression)
  • Outlier detection
  • Regression (PCA, PLS, ridge)
  • Seasonal analysis (period estimation, peak detection, seasonal strength)
  • Detrending and decomposition for non-stationary data

§Data Layout

Functional data is represented using the FdMatrix type, a column-major matrix wrapping a flat Vec<f64> with safe (i, j) indexing and dimension tracking:

  • For n observations with m evaluation points: data[(i, j)] gives observation i at point j
  • 2D surfaces (n observations, m1 x m2 grid): stored as n x (m1*m2) matrices
  • Zero-copy column access via data.column(j), row gather via data.row(i)
  • nalgebra interop via to_dmatrix() / from_dmatrix() for SVD operations

Re-exports§

pub use matrix::FdMatrix;
pub use helpers::extract_curves;
pub use helpers::l2_distance;
pub use helpers::simpsons_weights;
pub use helpers::simpsons_weights_2d;
pub use helpers::DEFAULT_CONVERGENCE_TOL;
pub use helpers::NUMERICAL_EPS;
pub use seasonal::autoperiod;
pub use seasonal::autoperiod_fdata;
pub use seasonal::cfd_autoperiod;
pub use seasonal::cfd_autoperiod_fdata;
pub use seasonal::hilbert_transform;
pub use seasonal::sazed;
pub use seasonal::sazed_fdata;
pub use seasonal::AutoperiodCandidate;
pub use seasonal::AutoperiodResult;
pub use seasonal::CfdAutoperiodResult;
pub use seasonal::ChangeDetectionResult;
pub use seasonal::ChangePoint;
pub use seasonal::ChangeType;
pub use seasonal::DetectedPeriod;
pub use seasonal::InstantaneousPeriod;
pub use seasonal::Peak;
pub use seasonal::PeakDetectionResult;
pub use seasonal::PeriodEstimate;
pub use seasonal::SazedComponents;
pub use seasonal::SazedResult;
pub use seasonal::StrengthMethod;
pub use detrend::DecomposeResult;
pub use detrend::TrendResult;
pub use simulation::EFunType;
pub use simulation::EValType;
pub use irreg_fdata::IrregFdata;
pub use streaming_depth::FullReferenceState;
pub use streaming_depth::RollingReference;
pub use streaming_depth::SortedReferenceState;
pub use streaming_depth::StreamingBd;
pub use streaming_depth::StreamingDepth;
pub use streaming_depth::StreamingFraimanMuniz;
pub use streaming_depth::StreamingMbd;

Modules§

basis
Basis representation functions for functional data.
clustering
Clustering algorithms for functional data.
depth
Depth measures for functional data.
detrend
Detrending and decomposition functions for non-stationary functional data.
fdata
Functional data operations: mean, center, derivatives, norms, and geometric median.
helpers
Helper functions for numerical integration and common operations.
irreg_fdata
Irregular functional data operations.
matrix
Column-major matrix type for functional data analysis.
metric
Distance metrics and semimetrics for functional data.
outliers
Outlier detection for functional data.
parallel
Parallel iteration abstraction for WASM compatibility.
regression
Regression functions for functional data.
seasonal
Seasonal time series analysis for functional data.
simulation
Simulation functions for functional data.
smoothing
Smoothing functions for functional data.
streaming_depth
Streaming / online depth computation for functional data.
utility
Utility functions for functional data analysis.

Macros§

iter_maybe_parallel
Macro for conditionally parallel iteration over ranges.
maybe_par_chunks_mut
Macro for parallel/sequential chunks iteration on mutable slices.
maybe_par_chunks_mut_enumerate
Macro for enumerated parallel/sequential chunks iteration.
slice_maybe_parallel
Macro for conditionally parallel reference iteration over slices.
slice_maybe_parallel_mut
Macro for conditionally parallel mutable iteration over slices.