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 viadata.row(i) - nalgebra interop via
to_dmatrix()/from_dmatrix()for SVD operations
Re-exports§
pub use matrix::FdCurveSet;pub use matrix::FdMatrix;pub use alignment::align_to_target;pub use alignment::alignment_quality;pub use alignment::amplitude_distance;pub use alignment::amplitude_self_distance_matrix;pub use alignment::compose_warps;pub use alignment::elastic_align_pair;pub use alignment::elastic_align_pair_constrained;pub use alignment::elastic_align_pair_nd;pub use alignment::elastic_align_pair_with_landmarks;pub use alignment::elastic_cross_distance_matrix;pub use alignment::elastic_decomposition;pub use alignment::elastic_distance;pub use alignment::elastic_distance_nd;pub use alignment::elastic_self_distance_matrix;pub use alignment::karcher_mean;pub use alignment::pairwise_consistency;pub use alignment::phase_distance_pair;pub use alignment::phase_self_distance_matrix;pub use alignment::reparameterize_curve;pub use alignment::srsf_inverse;pub use alignment::srsf_inverse_nd;pub use alignment::srsf_transform;pub use alignment::srsf_transform_nd;pub use alignment::tsrvf_from_alignment;pub use alignment::tsrvf_from_alignment_with_method;pub use alignment::tsrvf_inverse;pub use alignment::tsrvf_transform;pub use alignment::tsrvf_transform_with_method;pub use alignment::warp_complexity;pub use alignment::warp_smoothness;pub use alignment::AlignmentQuality;pub use alignment::AlignmentResult;pub use alignment::AlignmentResultNd;pub use alignment::AlignmentSetResult;pub use alignment::ConstrainedAlignmentResult;pub use alignment::DecompositionResult;pub use alignment::KarcherMeanResult;pub use alignment::TransportMethod;pub use alignment::TsrvfResult;pub use helpers::cumulative_trapz;pub use helpers::extract_curves;pub use helpers::gradient_uniform;pub use helpers::l2_distance;pub use helpers::linear_interp;pub use helpers::simpsons_weights;pub use helpers::simpsons_weights_2d;pub use helpers::trapz;pub use helpers::DEFAULT_CONVERGENCE_TOL;pub use helpers::NUMERICAL_EPS;pub use warping::exp_map_sphere;pub use warping::gam_to_psi;pub use warping::inner_product_l2;pub use warping::inv_exp_map_sphere;pub use warping::invert_gamma;pub use warping::l2_norm_l2;pub use warping::normalize_warp;pub use warping::phase_distance;pub use warping::psi_to_gam;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 landmark::detect_and_register;pub use landmark::detect_landmarks;pub use landmark::landmark_register;pub use landmark::Landmark;pub use landmark::LandmarkKind;pub use landmark::LandmarkResult;pub use detrend::DecomposeResult;pub use detrend::TrendResult;pub use simulation::EFunType;pub use simulation::EValType;pub use irreg_fdata::IrregFdata;pub use irreg_fdata::KernelType;pub use tolerance::conformal_prediction_band;pub use tolerance::elastic_tolerance_band;pub use tolerance::equivalence_test;pub use tolerance::equivalence_test_one_sample;pub use tolerance::exponential_family_tolerance_band;pub use tolerance::fpca_tolerance_band;pub use tolerance::scb_mean_degras;pub use tolerance::BandType;pub use tolerance::EquivalenceBootstrap;pub use tolerance::EquivalenceTestResult;pub use tolerance::ExponentialFamily;pub use tolerance::MultiplierDistribution;pub use tolerance::NonConformityScore;pub use tolerance::ToleranceBand;pub use famm::fmm;pub use famm::fmm_predict;pub use famm::fmm_test_fixed;pub use famm::FmmResult;pub use famm::FmmTestResult;pub use function_on_scalar::fanova;pub use function_on_scalar::fosr;pub use function_on_scalar::fosr_fpc;pub use function_on_scalar::predict_fosr;pub use function_on_scalar::FanovaResult;pub use function_on_scalar::FosrFpcResult;pub use function_on_scalar::FosrResult;pub use scalar_on_function::fregre_cv;pub use scalar_on_function::fregre_lm;pub use scalar_on_function::fregre_np_mixed;pub use scalar_on_function::functional_logistic;pub use scalar_on_function::predict_fregre_lm;pub use scalar_on_function::predict_fregre_np;pub use scalar_on_function::FregreCvResult;pub use scalar_on_function::FregreLmResult;pub use scalar_on_function::FregreNpResult;pub use scalar_on_function::FunctionalLogisticResult;pub use classification::fclassif_cv;pub use classification::fclassif_dd;pub use classification::fclassif_kernel;pub use classification::fclassif_knn;pub use classification::fclassif_lda;pub use classification::fclassif_qda;pub use classification::ClassifCvResult;pub use classification::ClassifResult;pub use gmm::gmm_cluster;pub use gmm::gmm_em;pub use gmm::predict_gmm;pub use gmm::CovType;pub use gmm::GmmClusterResult;pub use gmm::GmmResult;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§
- alignment
- Elastic alignment and SRSF (Square-Root Slope Function) transforms.
- basis
- Basis representation functions for functional data.
- classification
- Functional classification with mixed scalar/functional predictors.
- clustering
- Clustering algorithms for functional data.
- depth
- Depth measures for functional data.
- detrend
- Detrending and decomposition functions for non-stationary functional data.
- famm
- Functional Additive Mixed Models (FAMM).
- fdata
- Functional data operations: mean, center, derivatives, norms, and geometric median.
- function_
on_ scalar - Function-on-scalar regression and functional ANOVA.
- gmm
- Model-based functional clustering via Gaussian mixture models.
- helpers
- Helper functions for numerical integration and common operations.
- irreg_
fdata - Irregular functional data operations.
- landmark
- Landmark-based registration for functional data.
- 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.
- scalar_
on_ function - Scalar-on-function regression with mixed scalar/functional covariates.
- 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.
- tolerance
- Tolerance bands for functional data.
- utility
- Utility functions for functional data analysis.
- warping
- Warping function utilities and Hilbert sphere geometry.
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.