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 error::FdarError;pub use matrix::FdCurveSet;pub use matrix::FdMatrix;pub use andrews::andrews_loadings;pub use andrews::andrews_transform;pub use andrews::AndrewsLoadings;pub use andrews::AndrewsResult;pub use covariance::covariance_matrix;pub use covariance::generate_gaussian_process;pub use covariance::CovKernel;pub use covariance::GaussianProcessResult;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;pub use helpers::gradient_nonuniform;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::gam_to_psi_smooth;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::StlConfig;pub use detrend::StlResult;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::elastic_tolerance_band_with_config;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::phase_tolerance_band;pub use tolerance::scb_mean_degras;pub use tolerance::BandType;pub use tolerance::ElasticToleranceBandResult;pub use tolerance::ElasticToleranceConfig;pub use tolerance::EquivalenceBootstrap;pub use tolerance::EquivalenceTestResult;pub use tolerance::ExponentialFamily;pub use tolerance::MultiplierDistribution;pub use tolerance::NonConformityScore;pub use tolerance::PhaseToleranceBand;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 function_on_scalar_2d::fosr_2d;pub use function_on_scalar_2d::predict_fosr_2d;pub use function_on_scalar_2d::FosrResult2d;pub use function_on_scalar_2d::Grid2d;pub use scalar_on_function::bootstrap_ci_fregre_lm;pub use scalar_on_function::bootstrap_ci_functional_logistic;pub use scalar_on_function::fregre_basis_cv;pub use scalar_on_function::fregre_cv;pub use scalar_on_function::fregre_huber;pub use scalar_on_function::fregre_l1;pub use scalar_on_function::fregre_lm;pub use scalar_on_function::fregre_np_cv;pub use scalar_on_function::fregre_np_mixed;pub use scalar_on_function::functional_logistic;pub use scalar_on_function::model_selection_ncomp;pub use scalar_on_function::predict_fregre_lm;pub use scalar_on_function::predict_fregre_np;pub use scalar_on_function::predict_fregre_robust;pub use scalar_on_function::predict_functional_logistic;pub use scalar_on_function::BootstrapCiResult;pub use scalar_on_function::FregreBasisCvResult;pub use scalar_on_function::FregreCvResult;pub use scalar_on_function::FregreLmResult;pub use scalar_on_function::FregreNpCvResult;pub use scalar_on_function::FregreNpResult;pub use scalar_on_function::FregreRobustResult;pub use scalar_on_function::FunctionalLogisticResult;pub use scalar_on_function::ModelSelectionResult;pub use scalar_on_function::SelectionCriterion;pub use explain_generic::generic_ale;pub use explain_generic::generic_anchor;pub use explain_generic::generic_conditional_permutation_importance;pub use explain_generic::generic_counterfactual;pub use explain_generic::generic_domain_selection;pub use explain_generic::generic_friedman_h;pub use explain_generic::generic_lime;pub use explain_generic::generic_pdp;pub use explain_generic::generic_permutation_importance;pub use explain_generic::generic_prototype_criticism;pub use explain_generic::generic_saliency;pub use explain_generic::generic_shap_values;pub use explain_generic::generic_sobol_indices;pub use explain_generic::generic_stability;pub use explain_generic::generic_vif;pub use explain_generic::FpcPredictor;pub use explain_generic::TaskType;pub use elastic_explain::elastic_pcr_attribution;pub use elastic_explain::ElasticAttributionResult;pub use explain::anchor_explanation;pub use explain::anchor_explanation_logistic;pub use explain::beta_decomposition;pub use explain::beta_decomposition_logistic;pub use explain::calibration_diagnostics;pub use explain::conditional_permutation_importance;pub use explain::conditional_permutation_importance_logistic;pub use explain::conformal_prediction_residuals;pub use explain::counterfactual_logistic;pub use explain::counterfactual_regression;pub use explain::dfbetas_dffits;pub use explain::domain_selection;pub use explain::domain_selection_logistic;pub use explain::expected_calibration_error;pub use explain::explanation_stability;pub use explain::explanation_stability_logistic;pub use explain::fpc_ale;pub use explain::fpc_ale_logistic;pub use explain::fpc_permutation_importance;pub use explain::fpc_permutation_importance_logistic;pub use explain::fpc_shap_values;pub use explain::fpc_shap_values_logistic;pub use explain::fpc_vif;pub use explain::fpc_vif_logistic;pub use explain::friedman_h_statistic;pub use explain::friedman_h_statistic_logistic;pub use explain::functional_pdp;pub use explain::functional_pdp_logistic;pub use explain::functional_saliency;pub use explain::functional_saliency_logistic;pub use explain::influence_diagnostics;pub use explain::lime_explanation;pub use explain::lime_explanation_logistic;pub use explain::loo_cv_press;pub use explain::pointwise_importance;pub use explain::pointwise_importance_logistic;pub use explain::prediction_intervals;pub use explain::prototype_criticism;pub use explain::regression_depth;pub use explain::regression_depth_logistic;pub use explain::significant_regions;pub use explain::significant_regions_from_se;pub use explain::sobol_indices;pub use explain::sobol_indices_logistic;pub use explain::AleResult;pub use explain::AnchorCondition;pub use explain::AnchorResult;pub use explain::AnchorRule;pub use explain::BetaDecomposition;pub use explain::CalibrationDiagnosticsResult;pub use explain::ConditionalPermutationImportanceResult;pub use explain::ConformalPredictionResult;pub use explain::CounterfactualResult;pub use explain::DepthType;pub use explain::DfbetasDffitsResult;pub use explain::DomainSelectionResult;pub use explain::EceResult;pub use explain::FpcPermutationImportance;pub use explain::FpcShapValues;pub use explain::FriedmanHResult;pub use explain::FunctionalPdpResult;pub use explain::FunctionalSaliencyResult;pub use explain::ImportantInterval;pub use explain::InfluenceDiagnostics;pub use explain::LimeResult;pub use explain::LooCvResult;pub use explain::PointwiseImportanceResult;pub use explain::PredictionIntervalResult;pub use explain::PrototypeCriticismResult;pub use explain::RegressionDepthResult;pub use explain::SignificanceDirection;pub use explain::SignificantRegion;pub use explain::SobolIndicesResult;pub use explain::StabilityAnalysisResult;pub use explain::VifResult;pub use classification::fclassif_cv;pub use classification::fclassif_cv_with_config;pub use classification::fclassif_dd;pub use classification::fclassif_kernel;pub use classification::fclassif_knn;pub use classification::fclassif_knn_fit;pub use classification::fclassif_lda;pub use classification::fclassif_lda_fit;pub use classification::fclassif_qda;pub use classification::fclassif_qda_fit;pub use classification::ClassifCvConfig;pub use classification::ClassifCvResult;pub use classification::ClassifFit;pub use classification::ClassifMethod;pub use classification::ClassifResult;pub use conformal::conformal_classif;pub use conformal::conformal_elastic_logistic;pub use conformal::conformal_elastic_pcr;pub use conformal::conformal_elastic_pcr_with_config;pub use conformal::conformal_elastic_regression;pub use conformal::conformal_elastic_regression_with_config;pub use conformal::conformal_fregre_lm;pub use conformal::conformal_fregre_np;pub use conformal::conformal_generic_classification;pub use conformal::conformal_generic_regression;pub use conformal::conformal_logistic;pub use conformal::cv_conformal_classification;pub use conformal::cv_conformal_regression;pub use conformal::jackknife_plus_regression;pub use conformal::ClassificationScore;pub use conformal::ConformalClassificationResult;pub use conformal::ConformalConfig;pub use conformal::ConformalMethod;pub use conformal::ConformalRegressionResult;pub use gmm::gmm_cluster;pub use gmm::gmm_cluster_with_config;pub use gmm::gmm_em;pub use gmm::predict_gmm;pub use gmm::CovType;pub use gmm::GmmClusterConfig;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;pub use smooth_basis::basis_nbasis_cv;pub use smooth_basis::basis_nbasis_cv_with_config;pub use smooth_basis::bspline_penalty_matrix;pub use smooth_basis::fourier_penalty_matrix;pub use smooth_basis::smooth_basis;pub use smooth_basis::smooth_basis_gcv;pub use smooth_basis::smooth_basis_gcv_with_config;pub use smooth_basis::BasisCriterion;pub use smooth_basis::BasisNbasisCvConfig;pub use smooth_basis::BasisNbasisCvResult;pub use smooth_basis::BasisType;pub use smooth_basis::FdPar;pub use smooth_basis::SmoothBasisGcvConfig;pub use smooth_basis::SmoothBasisResult;pub use elastic_fpca::horiz_fpca;pub use elastic_fpca::joint_fpca;pub use elastic_fpca::vert_fpca;pub use elastic_fpca::HorizFpcaResult;pub use elastic_fpca::JointFpcaResult;pub use elastic_fpca::VertFpcaResult;pub use elastic_regression::elastic_logistic;pub use elastic_regression::elastic_logistic_with_config;pub use elastic_regression::elastic_pcr;pub use elastic_regression::elastic_pcr_with_config;pub use elastic_regression::elastic_regression;pub use elastic_regression::elastic_regression_with_config;pub use elastic_regression::predict_elastic_logistic;pub use elastic_regression::predict_elastic_regression;pub use elastic_regression::predict_scalar_on_shape;pub use elastic_regression::scalar_on_shape;pub use elastic_regression::scalar_on_shape;pub use elastic_regression::ElasticConfig;pub use elastic_regression::ElasticLogisticResult;pub use elastic_regression::ElasticPcrConfig;pub use elastic_regression::ElasticPcrResult;pub use elastic_regression::ElasticRegressionResult;pub use elastic_regression::IndexMethod;pub use elastic_regression::PcaMethod;pub use elastic_regression::ScalarOnShapeConfig;pub use elastic_regression::ScalarOnShapeResult;pub use spm::ewma_scores;pub use spm::frcc_monitor;pub use spm::frcc_phase1;pub use spm::hotelling_t2;pub use spm::mf_spm_monitor;pub use spm::mf_spm_phase1;pub use spm::mfpca;pub use spm::mfpca;pub use spm::spe_contributions;pub use spm::spe_control_limit;pub use spm::spe_multivariate;pub use spm::spe_univariate;pub use spm::spm_ewma_monitor;pub use spm::spm_monitor;pub use spm::spm_phase1;pub use spm::t2_contributions;pub use spm::t2_control_limit;pub use spm::ControlLimit;pub use spm::EwmaConfig;pub use spm::EwmaMonitorResult;pub use spm::FrccChart;pub use spm::FrccConfig;pub use spm::FrccMonitorResult;pub use spm::MfSpmChart;pub use spm::MfpcaConfig;pub use spm::MfpcaResult;pub use spm::SpmChart;pub use spm::SpmConfig;pub use spm::SpmMonitorResult;pub use elastic_changepoint::elastic_amp_changepoint;pub use elastic_changepoint::elastic_fpca_changepoint;pub use elastic_changepoint::elastic_ph_changepoint;pub use elastic_changepoint::ChangepointResult;pub use elastic_changepoint::ChangepointType;pub use elastic_changepoint::FpcaChangepointMethod;pub use cv::create_folds;pub use cv::create_stratified_folds;pub use cv::cv_fdata;pub use cv::fold_indices;pub use cv::subset_rows;pub use cv::subset_vec;pub use cv::CvFdataResult;pub use cv::CvMetrics;pub use cv::CvType;pub use smoothing::cv_smoother;pub use smoothing::gcv_smoother;pub use smoothing::knn_gcv;pub use smoothing::knn_lcv;pub use smoothing::optim_bandwidth;pub use smoothing::CvCriterion;pub use smoothing::KnnCvResult;pub use smoothing::OptimBandwidthResult;pub use regression::fdata_to_pc_1d;pub use regression::fdata_to_pls_1d;pub use regression::FpcaResult;pub use regression::PlsResult;pub use clustering::calinski_harabasz;pub use clustering::fuzzy_cmeans_fd;pub use clustering::kmeans_fd;pub use clustering::silhouette_score;pub use clustering::FuzzyCmeansResult;pub use clustering::KmeansResult;pub use metric::dtw_cross_1d;pub use metric::dtw_distance;pub use metric::dtw_self_1d;pub use metric::fourier_cross_1d;pub use metric::fourier_self_1d;pub use metric::hausdorff_3d;pub use metric::hausdorff_cross_1d;pub use metric::hausdorff_cross_2d;pub use metric::hausdorff_self_1d;pub use metric::hausdorff_self_2d;pub use metric::hshift_cross_1d;pub use metric::hshift_self_1d;pub use metric::lp_cross_1d;pub use metric::lp_cross_2d;pub use metric::lp_self_1d;pub use metric::lp_self_2d;pub use metric::soft_dtw_barycenter;pub use metric::soft_dtw_cross_1d;pub use metric::soft_dtw_distance;pub use metric::soft_dtw_div_cross_1d;pub use metric::soft_dtw_div_self_1d;pub use metric::soft_dtw_divergence;pub use metric::soft_dtw_self_1d;pub use metric::SoftDtwBarycenterResult;pub use depth::band_1d;pub use depth::fraiman_muniz_1d;pub use depth::fraiman_muniz_2d;pub use depth::functional_spatial_1d;pub use depth::functional_spatial_2d;pub use depth::kernel_functional_spatial_1d;pub use depth::kernel_functional_spatial_2d;pub use depth::modal_1d;pub use depth::modal_2d;pub use depth::modified_band_1d;pub use depth::modified_epigraph_index_1d;pub use depth::random_projection_1d;pub use depth::random_projection_1d_seeded;pub use depth::random_projection_2d;pub use depth::random_tukey_1d;pub use depth::random_tukey_1d_seeded;pub use depth::random_tukey_2d;pub use outliers::detect_outliers_lrt;pub use outliers::outliers_threshold_lrt;pub use outliers::outliers_threshold_lrt_with_dist;pub use utility::compute_adot;pub use utility::inner_product;pub use utility::inner_product_matrix;pub use utility::integrate_simpson;pub use utility::knn_loocv;pub use utility::knn_predict;pub use utility::pcvm_statistic;pub use utility::rp_stat;pub use utility::RpStatResult;pub use fdata::center_1d;pub use fdata::deriv_1d;pub use fdata::deriv_2d;pub use fdata::geometric_median_1d;pub use fdata::geometric_median_2d;pub use fdata::mean_1d;pub use fdata::mean_2d;pub use fdata::norm_lp_1d;pub use fdata::Deriv2DResult;pub use basis::basis_to_fdata;pub use basis::basis_to_fdata_1d;pub use basis::bspline_basis;pub use basis::difference_matrix;pub use basis::fdata_to_basis;pub use basis::fdata_to_basis_1d;pub use basis::fourier_basis;pub use basis::fourier_basis_with_period;pub use basis::fourier_fit_1d;pub use basis::pspline_fit_1d;pub use basis::select_basis_auto_1d;pub use basis::select_fourier_nbasis_gcv;pub use basis::BasisAutoSelectionResult;pub use basis::BasisProjectionResult;pub use basis::FourierFitResult;pub use basis::ProjectionBasisType;pub use basis::PsplineFitResult;pub use basis::SingleCurveSelection;
Modules§
- alignment
- Elastic alignment and SRSF (Square-Root Slope Function) transforms.
- andrews
- Andrews curves transformation for multivariate and functional data.
- basis
- Basis representation functions for functional data.
- classification
- Functional classification with mixed scalar/functional predictors.
- clustering
- Clustering algorithms for functional data.
- conformal
- Conformal prediction intervals and prediction sets.
- covariance
- Covariance kernels and Gaussian process generation.
- cv
- Cross-validation utilities and unified CV framework.
- depth
- Depth measures for functional data.
- detrend
- Detrending and decomposition functions for non-stationary functional data.
- elastic
- Unified access to elastic (SRSF-based) analysis methods.
- elastic_
changepoint - Elastic changepoint detection for functional data streams.
- elastic_
explain - Elastic shape explainability: amplitude vs phase attribution.
- elastic_
fpca - Vertical, horizontal, and joint FPCA for elastic functional data.
- elastic_
regression - Elastic regression models (alignment-integrated regression).
- error
- explain
- Explainability toolkit for FPC-based scalar-on-function models.
- explain_
generic - Generic explainability for any FPC-based model.
- 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.
- function_
on_ scalar_ 2d - 2D Function-on-Scalar Regression (FOSR).
- 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.
- prelude
- Convenience re-exports for common fdars-core types.
- 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.
- smooth_
basis - Basis-penalized smoothing with continuous derivative penalties.
- smoothing
- Smoothing functions for functional data.
- spm
- Statistical Process Monitoring (SPM) 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.