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

§Imports

Items are organized into domain-specific submodules. Prefer importing from the submodule for clarity:

use fdars_core::matrix::FdMatrix;
use fdars_core::alignment::{karcher_mean, elastic_align_pair, AlignmentOutput};
use fdars_core::spm::{spm_phase1, spm_monitor, SpmConfig};
use fdars_core::regression::fdata_to_pc_1d;
use fdars_core::scalar_on_function::{fregre_lm, fregre_pls};
use fdars_core::cv::{cv_fdata_with_metrics, regression_metrics};
use fdars_core::distance::pairwise_distance_matrix;

All public items are also re-exported at the crate root for convenience:

use fdars_core::{FdMatrix, karcher_mean, spm_phase1, fdata_to_pc_1d};

The prelude module provides the most commonly used types:

use fdars_core::prelude::*;

§Feature Flags

FeatureDefaultDescription
parallelyesEnables rayon-based parallelism via iter_maybe_parallel! macro
linalgnoEnables faer and anofox-regression dependencies (requires Rust 1.84+). Gates ridge_regression_fit. Not WASM-compatible.
serdenoAdds Serialize/Deserialize to core types (FdMatrix, FpcaResult, SpmChart, etc.) and enables serde_json::Value in ExplainLayer.extra.
jsnoEnables getrandom/js for WASM builds.

§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 error::FdarError;
pub use matrix::FdCurveSet;
pub use matrix::FdMatrix;
pub use multi_fdata::FdComponent;
pub use multi_fdata::MultiFunData;
pub use pda::principal_differential_analysis;
pub use pda::Lfd;
pub use pda::PdaResult;
pub use density_fda::inverse_lqd;
pub use density_fda::lqd_fpca;
pub use density_fda::lqd_transform;
pub use density_fda::normalize_density;
pub use density_fda::wasserstein_barycenter;
pub use density_fda::LqdFpcaResult;
pub use frechet::frechet_anova;
pub use frechet::frechet_anova_space;
pub use frechet::frechet_global_reg;
pub use frechet::frechet_global_reg_space;
pub use frechet::frechet_local_reg;
pub use frechet::frechet_local_reg_space;
pub use frechet::frechet_mean;
pub use frechet::frechet_variance;
pub use frechet::wasserstein2_distance;
pub use frechet::CorrelationMatrixSpace;
pub use frechet::FrechetAnovaResult;
pub use frechet::FrechetGlobalRegResult;
pub use frechet::FrechetLocalRegResult;
pub use frechet::MetricSpace;
pub use frechet::NetworkSpace;
pub use frechet::PointProcessSpace;
pub use frechet::SpdMatrixSpace;
pub use frechet::SpdMetric;
pub use frechet::SphericalSpace;
pub use frechet::WassersteinDensitySpace;
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::bayesian_align_pair;
pub use alignment::compose_warps;
pub use alignment::curve_geodesic;
pub use alignment::curve_geodesic_nd;
pub use alignment::cut_dendrogram;
pub use alignment::diagnose_alignment;
pub use alignment::diagnose_pairwise;
pub use alignment::elastic_align_pair;
pub use alignment::elastic_align_pair_closed;
pub use alignment::elastic_align_pair_constrained;
pub use alignment::elastic_align_pair_multires;
pub use alignment::elastic_align_pair_nd;
pub use alignment::elastic_align_pair_penalized;
pub use alignment::elastic_align_pair_with_landmarks;
pub use alignment::elastic_cross_distance_matrix;
pub use alignment::elastic_cross_distance_matrix_banded;
pub use alignment::elastic_cross_distance_matrix_with_band;
pub use alignment::elastic_decomposition;
pub use alignment::elastic_depth;
pub use alignment::elastic_distance;
pub use alignment::elastic_distance_closed;
pub use alignment::elastic_distance_nd;
pub use alignment::elastic_outlier_detection;
pub use alignment::elastic_partial_match;
pub use alignment::elastic_self_distance_matrix;
pub use alignment::elastic_self_distance_matrix_banded;
pub use alignment::elastic_self_distance_matrix_with_band;
pub use alignment::gauss_model;
pub use alignment::hierarchical_from_distances;
pub use alignment::horiz_fpns;
pub use alignment::invert_warp;
pub use alignment::joint_gauss_model;
pub use alignment::karcher_covariance_nd;
pub use alignment::karcher_mean;
pub use alignment::karcher_mean_banded;
pub use alignment::karcher_mean_closed;
pub use alignment::karcher_mean_nd;
pub use alignment::karcher_mean_with_band;
pub use alignment::karcher_median;
pub use alignment::kmedoids_from_distances;
pub use alignment::lambda_cv;
pub use alignment::least_squares_score;
pub use alignment::least_squares_shift_registration;
pub use alignment::orbit_representative;
pub use alignment::pairwise_consistency;
pub use alignment::pairwise_correlation_score;
pub use alignment::pca_nd;
pub use alignment::peak_persistence;
pub use alignment::phase_boxplot;
pub use alignment::phase_distance_pair;
pub use alignment::phase_self_distance_matrix;
pub use alignment::reparameterize_curve;
pub use alignment::robust_karcher_mean;
pub use alignment::shape_confidence_interval;
pub use alignment::shape_distance;
pub use alignment::shape_mean;
pub use alignment::shape_self_distance_matrix;
pub use alignment::sobolev_least_squares_score;
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::transfer_alignment;
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_inverse_error;
pub use alignment::warp_smoothness;
pub use alignment::warp_statistics;
pub use alignment::AlignmentDiagnostic;
pub use alignment::AlignmentDiagnosticSummary;
pub use alignment::AlignmentQuality;
pub use alignment::AlignmentResult;
pub use alignment::AlignmentResultNd;
pub use alignment::AlignmentSetResult;
pub use alignment::BayesianAlignConfig;
pub use alignment::BayesianAlignmentResult;
pub use alignment::ClosedAlignmentResult;
pub use alignment::ClosedKarcherMeanResult;
pub use alignment::ConstrainedAlignmentResult;
pub use alignment::DecompositionResult;
pub use alignment::Dendrogram;
pub use alignment::DiagnosticConfig;
pub use alignment::ElasticDepthResult;
pub use alignment::ElasticOutlierConfig;
pub use alignment::ElasticOutlierResult;
pub use alignment::FpnsResult;
pub use alignment::GenerativeModelResult;
pub use alignment::GeodesicPath;
pub use alignment::GeodesicPathNd;
pub use alignment::KMedoidsConfig;
pub use alignment::KMedoidsResult;
pub use alignment::KarcherMeanResult;
pub use alignment::KarcherMeanResultNd;
pub use alignment::LambdaCvConfig;
pub use alignment::LambdaCvResult;
pub use alignment::Linkage;
pub use alignment::MultiresConfig;
pub use alignment::OrbitRepresentative;
pub use alignment::PartialMatchConfig;
pub use alignment::PartialMatchResult;
pub use alignment::PcaNdResult;
pub use alignment::PersistenceDiagramResult;
pub use alignment::PhaseBoxplot;
pub use alignment::RobustKarcherConfig;
pub use alignment::RobustKarcherResult;
pub use alignment::ShapeCiConfig;
pub use alignment::ShapeCiResult;
pub use alignment::ShapeDistanceResult;
pub use alignment::ShapeMeanResult;
pub use alignment::ShapeQuotient;
pub use alignment::ShiftRegistrationResult;
pub use alignment::TransferAlignConfig;
pub use alignment::TransferAlignResult;
pub use alignment::TransportMethod;
pub use alignment::TsrvfResult;
pub use alignment::WarpPenaltyType;
pub use alignment::WarpStatistics;
pub use helpers::aic;
pub use helpers::bandwidth_candidates_from_dists;
pub use helpers::bic;
pub use helpers::cumulative_trapz;
pub use helpers::extract_curves;
pub use helpers::fdata_interpolate;
pub use helpers::fdata_interpolate_with_policy;
pub use helpers::gaussian_kernel;
pub use helpers::gradient;
pub use helpers::gradient_nonuniform;
pub use helpers::gradient_uniform;
pub use helpers::impute_missing_values;
pub use helpers::l2_distance;
pub use helpers::linear_interp;
pub use helpers::quantile_sorted;
pub use helpers::r_squared;
pub use helpers::r_squared_adj;
pub use helpers::simpsons_weights;
pub use helpers::simpsons_weights_2d;
pub use helpers::spline_interpolate;
pub use helpers::spline_interpolate_with_policy;
pub use helpers::trapz;
pub use helpers::ExtrapolationPolicy;
pub use helpers::ImputationMethod;
pub use helpers::InterpolationMethod;
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::sim_farma;
pub use simulation::sim_fvarma;
pub use simulation::EFunType;
pub use simulation::EValType;
pub use simulation::FarmaResult;
pub use simulation::FvarmaResult;
pub use irreg_fdata::IrregFdata;
pub use irreg_fdata::KernelType;
pub use irreg_fdata::face_covariance;
pub use irreg_fdata::face_trajectory;
pub use irreg_fdata::mface_covariance;
pub use irreg_fdata::MfaceCovResult;
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 inference::f_perm_test;
pub use inference::flm_f_test;
pub use inference::flm_gof_test;
pub use inference::itp_flm;
pub use inference::itp_one_pop;
pub use inference::itp_two_pop;
pub use inference::mean_scb;
pub use inference::oneway_anova_vstat;
pub use inference::scb_two_sample_test;
pub use inference::t_perm_test;
pub use inference::two_sample_mean_test;
pub use inference::ItpResult;
pub use inference::TestResult;
pub use inference::DEFAULT_N_PERM;
pub use fts::dpca;
pub use fts::dpca_reconstruct;
pub use fts::fplsr;
pub use fts::ftsm;
pub use fts::ftsm_forecast;
pub use fts::ftsm_forecast_multistep;
pub use fts::ftsm_update;
pub use fts::functional_acf;
pub use fts::functional_difference;
pub use fts::functional_pacf;
pub use fts::long_run_covariance;
pub use fts::spectral_density;
pub use fts::stationarity_test;
pub use fts::ArModelResult;
pub use fts::DpcaReconstruction;
pub use fts::DpcaResult;
pub use fts::FacfResult;
pub use fts::FplsrResult;
pub use fts::FtsmForecastResult;
pub use fts::FtsmResult;
pub use fts::LongRunCovResult;
pub use fts::SpectralDensityResult;
pub use fts::StationarityResult;
pub use famm::dense_flmm;
pub use famm::fast_fmm;
pub use famm::fmm;
pub use famm::fmm_predict;
pub use famm::fmm_test_fixed;
pub use famm::multi_famm;
pub use famm::DenseFlmmConfig;
pub use famm::DenseFlmmResult;
pub use famm::FastFmmConfig;
pub use famm::FastFmmResult;
pub use famm::FmmResult;
pub use famm::FmmTestResult;
pub use famm::MultiFammConfig;
pub use famm::MultiFammResult;
pub use concurrent_regression::concurrent_regression;
pub use concurrent_regression::ConcurrentRegrResult;
pub use pace_fpca::pace_fpca;
pub use pace_fpca::PaceFpcaConfig;
pub use pace_fpca::PaceFpcaResult;
pub use fof_regression::fof_cv;
pub use fof_regression::fof_re_regression;
pub use fof_regression::fof_regression;
pub use fof_regression::predict_fof;
pub use fof_regression::predict_fof_re;
pub use fof_regression::FofCvResult;
pub use fof_regression::FofReConfig;
pub use fof_regression::FofReResult;
pub use fof_regression::FofResult;
pub use function_on_scalar::fanova;Deprecated
pub use function_on_scalar::fanova_seeded;
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::fam;
pub use scalar_on_function::fregre_basis_cv;
pub use scalar_on_function::fregre_cv;
pub use scalar_on_function::fregre_gkam;
pub use scalar_on_function::fregre_gsam;
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_lm_multi;
pub use scalar_on_function::fregre_lm_multi_cv;
pub use scalar_on_function::fregre_np_cv;
pub use scalar_on_function::fregre_np_from_distances;
pub use scalar_on_function::fregre_np_mixed;
pub use scalar_on_function::fregre_pls;
pub use scalar_on_function::functional_glm;
pub use scalar_on_function::functional_logistic;
pub use scalar_on_function::history_index;
pub use scalar_on_function::model_selection_ncomp;
pub use scalar_on_function::permutation_test_fam;
pub use scalar_on_function::predict_fregre_lm;
pub use scalar_on_function::predict_fregre_lm_multi;
pub use scalar_on_function::predict_fregre_np;
pub use scalar_on_function::predict_fregre_np_from_distances;
pub use scalar_on_function::predict_fregre_pls;
pub use scalar_on_function::predict_fregre_robust;
pub use scalar_on_function::predict_functional_glm;
pub use scalar_on_function::predict_functional_logistic;
pub use scalar_on_function::variable_selection;
pub use scalar_on_function::BootstrapCiResult;
pub use scalar_on_function::FamConfig;
pub use scalar_on_function::FamResult;
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::FunctionalGlmResult;
pub use scalar_on_function::FunctionalLogisticResult;
pub use scalar_on_function::GkamConfig;
pub use scalar_on_function::GkamResult;
pub use scalar_on_function::GlmFamily;
pub use scalar_on_function::GsamConfig;
pub use scalar_on_function::GsamResult;
pub use scalar_on_function::HistoryIndexConfig;
pub use scalar_on_function::HistoryIndexResult;
pub use scalar_on_function::ModelSelectionResult;
pub use scalar_on_function::MultiCvResult;
pub use scalar_on_function::MultiFregreLmResult;
pub use scalar_on_function::PermTestConfig;
pub use scalar_on_function::PermTestResult;
pub use scalar_on_function::PermTestStatistic;
pub use scalar_on_function::PlsRegressionResult;
pub use scalar_on_function::SelectionCriterion;
pub use scalar_on_function::VarSelectConfig;
pub use scalar_on_function::VarSelectPenalty;
pub use scalar_on_function::VarSelectResult;
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::kernel_classify_from_distances;
pub use classification::knn_classify_from_distances;
pub use classification::ClassifCvConfig;
pub use classification::ClassifCvResult;
pub use classification::ClassifFit;
pub use classification::ClassifMethod;
pub use classification::ClassifResult;
pub use shapelet::discover_shapelets;
pub use shapelet::shapelet_classifier_fit;
pub use shapelet::shapelet_distance;
pub use shapelet::shapelet_transform;
pub use shapelet::shapelet_transform_fit;
pub use shapelet::z_normalize_into;
pub use shapelet::z_normalize_window;
pub use shapelet::QualityMeasure;
pub use shapelet::Shapelet;
pub use shapelet::ShapeletClassifier;
pub use shapelet::ShapeletClassifierConfig;
pub use shapelet::ShapeletClassifierFit;
pub use shapelet::ShapeletDiscoveryConfig;
pub use shapelet::ShapeletSet;
pub use shapelet::ShapeletTransformFit;
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::funhddC_cluster;
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::FunHddcConfig;
pub use gmm::FunHddcResult;
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 fem_smoothing::assemble_fem_matrices;
pub use fem_smoothing::fem_basis_eval;
pub use fem_smoothing::fem_predict;
pub use fem_smoothing::fem_smooth;
pub use fem_smoothing::fem_smooth_gcv;
pub use fem_smoothing::FemSmoothResult;
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_aic;
pub use smooth_basis::smooth_basis_gcv;
pub use smooth_basis::smooth_basis_gcv_with_config;
pub use smooth_basis::smooth_monotone;
pub use smooth_basis::smooth_positive;
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 smooth_basis::SmoothMonotoneResult;
pub use smooth_basis::SmoothPositiveResult;
pub use elastic_fpca::horiz_fpca;
pub use elastic_fpca::horiz_fpca_from_alignment;
pub use elastic_fpca::joint_fpca;
pub use elastic_fpca::joint_fpca_from_alignment;
pub use elastic_fpca::vert_fpca;
pub use elastic_fpca::vert_fpca_from_alignment;
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_multinomial;
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_multinomial;
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::ElasticMultinomialResult;
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::arl0_ewma_t2;
pub use spm::arl0_spe;
pub use spm::arl0_t2;
pub use spm::arl1_t2;
pub use spm::elastic_spm_monitor;
pub use spm::elastic_spm_phase1;
pub use spm::evaluate_rules;
pub use spm::ewma_scores;
pub use spm::frcc_monitor;
pub use spm::frcc_phase1;
pub use spm::hotelling_t2;
pub use spm::hotelling_t2_regularized;
pub use spm::mf_spm_monitor;
pub use spm::mf_spm_phase1;
pub use spm::mfpca;
pub use spm::mfpca;
pub use spm::nelson_rules;
pub use spm::profile_monitor;
pub use spm::profile_phase1;
pub use spm::select_ncomp;
pub use spm::spe_contributions;
pub use spm::spe_control_limit;
pub use spm::spe_limit_robust;
pub use spm::spe_moment_match_diagnostic;
pub use spm::spe_multivariate;
pub use spm::spe_univariate;
pub use spm::spm_amewma_monitor;
pub use spm::spm_cusum_monitor;
pub use spm::spm_cusum_monitor_with_restart;
pub use spm::spm_ewma_monitor;
pub use spm::spm_mewma_monitor;
pub use spm::spm_monitor;
pub use spm::spm_monitor_from_fields;
pub use spm::spm_monitor_partial;
pub use spm::spm_monitor_partial_batch;
pub use spm::spm_phase1;
pub use spm::spm_phase1_iterative;
pub use spm::t2_contributions;
pub use spm::t2_contributions_mfpca;
pub use spm::t2_control_limit;
pub use spm::t2_limit_robust;
pub use spm::t2_pc_contributions;
pub use spm::t2_pc_significance;
pub use spm::western_electric_rules;
pub use spm::AmewmaConfig;
pub use spm::AmewmaMonitorResult;
pub use spm::ArlConfig;
pub use spm::ArlResult;
pub use spm::ChartRule;
pub use spm::ControlLimit;
pub use spm::ControlLimitMethod;
pub use spm::CusumConfig;
pub use spm::CusumMonitorResult;
pub use spm::DomainCompletion;
pub use spm::ElasticSpmChart;
pub use spm::ElasticSpmConfig;
pub use spm::ElasticSpmMonitorResult;
pub use spm::EwmaConfig;
pub use spm::EwmaMonitorResult;
pub use spm::FrccChart;
pub use spm::FrccConfig;
pub use spm::FrccMonitorResult;
pub use spm::IterativePhase1Config;
pub use spm::IterativePhase1Result;
pub use spm::MewmaConfig;
pub use spm::MewmaMonitorResult;
pub use spm::MfSpmChart;
pub use spm::MfpcaConfig;
pub use spm::MfpcaResult;
pub use spm::NcompMethod;
pub use spm::PartialDomainConfig;
pub use spm::PartialMonitorResult;
pub use spm::ProfileChart;
pub use spm::ProfileMonitorConfig;
pub use spm::ProfileMonitorResult;
pub use spm::RuleViolation;
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::classification_metrics;
pub use cv::create_folds;
pub use cv::create_stratified_folds;
pub use cv::cv_fdata;
pub use cv::cv_fdata_with_metrics;
pub use cv::fold_indices;
pub use cv::metric_accuracy;
pub use cv::metric_f1;
pub use cv::metric_mae;
pub use cv::metric_precision;
pub use cv::metric_r_squared;
pub use cv::metric_recall;
pub use cv::metric_rmse;
pub use cv::regression_metrics;
pub use cv::subset_rows;
pub use cv::subset_vec;
pub use cv::CvFdataResult;
pub use cv::CvMetrics;
pub use cv::CvSelectionResult;
pub use cv::CvType;
pub use cv::MetricFn;
pub use distance::cross_distance_matrix;
pub use distance::euclidean_distance_matrix;
pub use distance::l2_distance_matrix;
pub use distance::pairwise_distance_matrix;
pub use validation::validate_dist_mat;
pub use validation::validate_fdata;
pub use validation::validate_labels;
pub use validation::validate_ncomp;
pub use validation::validate_response;
pub use smoothing::aic_smoother;
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 fpca_variants::cross_covariance;
pub use fpca_variants::dynamical_correlation;
pub use fpca_variants::fpca_der;
pub use fpca_variants::fsvd;
pub use fpca_variants::ssvd;
pub use fpca_variants::FsvdResult;
pub use coclustering::co_cluster;
pub use coclustering::co_cluster_select;
pub use coclustering::BlockParams;
pub use coclustering::CoClusterConfig;
pub use coclustering::CoClusterResult;
pub use coclustering::CoClusterSelectResult;
pub use clustering::calinski_harabasz;
pub use clustering::calinski_harabasz_from_distances;
pub use clustering::fuzzy_cmeans_fd;
pub use clustering::kmeans_fd;
pub use clustering::silhouette_score;
pub use clustering::silhouette_score_from_distances;
pub use clustering::FuzzyCmeansResult;
pub use clustering::KmeansResult;
pub use kernel_kmeans::kernel_kmeans_fd;
pub use kernel_kmeans::KernelKmeansConfig;
pub use kernel_kmeans::KernelKmeansResult;
pub use kshape::kshape_fd;
pub use kshape::sbd_kmedoids;
pub use kshape::KShapeConfig;
pub use kshape::KShapeResult;
pub use optimal_design::design_criterion;
pub use optimal_design::optimal_design;
pub use optimal_design::DesignCriterion;
pub use optimal_design::OptDesConfig;
pub use optimal_design::OptDesResult;
pub use optimal_design::OptimalityKind;
pub use clustering_advanced::align_cluster_fd;
pub use clustering_advanced::dbscan_fd;
pub use clustering_advanced::funfem_cluster;
pub use clustering_advanced::kcfc_cluster;
pub use clustering_advanced::AlignClusterConfig;
pub use clustering_advanced::AlignClusterResult;
pub use clustering_advanced::DbscanConfig;
pub use clustering_advanced::DbscanResult;
pub use clustering_advanced::FunFemConfig;
pub use clustering_advanced::FunFemResult;
pub use clustering_advanced::KcfcConfig;
pub use clustering_advanced::KcfcResult;
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::gak;
pub use metric::gak;
pub use metric::gak_gram_matrix;
pub use metric::gak_gram_predict;
pub use metric::gak_gram_train;
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::sbd;
pub use metric::sbd;
pub use metric::sbd_distance_matrix;
pub use metric::sigma_gak;
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::GakConfig;
pub use metric::GakGramTrain;
pub use metric::SbdResult;
pub use metric::SoftDtwBarycenterResult;
pub use dim::Dim;
pub use depth::band_1d;
pub use depth::epigraph_index_1d;
pub use depth::extremal_depth_1d;
pub use depth::extreme_rank_length_depth_1d;
pub use depth::fraiman_muniz;
pub use depth::fraiman_muniz;
pub use depth::fraiman_muniz_1d;
pub use depth::fraiman_muniz_2d;Deprecated
pub use depth::functional_boxplot;
pub use depth::functional_depth;
pub use depth::functional_spatial_1d;
pub use depth::functional_spatial_2d;
pub use depth::half_region_depth_1d;
pub use depth::hypograph_index_1d;
pub use depth::kernel_functional_spatial_1d;
pub use depth::kernel_functional_spatial_2d;
pub use depth::linfinity_depth_1d;
pub use depth::modal;
pub use depth::modal;
pub use depth::modal_1d;
pub use depth::modal_2d;Deprecated
pub use depth::modified_band_1d;
pub use depth::modified_epigraph_index_1d;
pub use depth::modified_half_region_depth_1d;
pub use depth::modified_hypograph_index_1d;
pub use depth::random_projection;
pub use depth::random_projection;
pub use depth::random_projection_1d;
pub use depth::random_projection_1d_seeded;
pub use depth::random_projection_2d;Deprecated
pub use depth::random_tukey;
pub use depth::random_tukey;
pub use depth::random_tukey_1d;
pub use depth::random_tukey_1d_seeded;
pub use depth::random_tukey_2d;Deprecated
pub use depth::total_variation_depth_1d;
pub use depth::DepthMethod;
pub use depth::FunctionalBoxplotResult;
pub use depth::TvdMssResult;
pub use outliers::depthgram;
pub use outliers::detect_outliers_lrt;
pub use outliers::magnitude_shape_outlyingness;
pub use outliers::muod;
pub use outliers::outliergram;
pub use outliers::outliers_threshold_lrt;
pub use outliers::outliers_threshold_lrt_with_dist;
pub use outliers::sequential_transform_outliers;
pub use outliers::tvdmss;
pub use outliers::DepthgramConfig;
pub use outliers::DepthgramResult;
pub use outliers::MagnitudeShapeResult;
pub use outliers::MuodConfig;
pub use outliers::MuodResult;
pub use outliers::OutligramResult;
pub use outliers::SeqTransform;
pub use outliers::SeqTransformConfig;
pub use outliers::SeqTransformOutliers;
pub use outliers::TvdMssConfig;
pub use outliers::TvdMssOutliers;
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::depth_based_median;
pub use fdata::deriv_1d;
pub use fdata::deriv_2d;
pub use fdata::functional_covariance;
pub use fdata::functional_std;
pub use fdata::functional_variance;
pub use fdata::geometric_median_1d;
pub use fdata::geometric_median_2d;
pub use fdata::mean;
pub use fdata::mean_1d;
pub use fdata::mean_2d;Deprecated
pub use fdata::norm_lp_1d;
pub use fdata::normalize;
pub use fdata::normalize_with_argvals;
pub use fdata::trim_mean;
pub use fdata::Deriv2DResult;
pub use fdata::NormalizationMethod;
pub use basis::basis_to_fdata;
pub use basis::basis_to_fdata_1d;
pub use basis::bspline_basis;
pub use basis::bspline_basis_from_knots;
pub use basis::constant_basis;
pub use basis::construct_bspline_knots;
pub use basis::difference_matrix;
pub use basis::exponential_basis;
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::monomial_basis;
pub use basis::polygonal_basis;
pub use basis::power_basis;
pub use basis::pspline_evaluate;
pub use basis::pspline_fit_1d;
pub use basis::pspline_fit_gcv;
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::BasisSystem;
pub use basis::FourierFitResult;
pub use basis::ProjectionBasisType;
pub use basis::PsplineFitResult;
pub use basis::SingleCurveSelection;
pub use scoring::functional_explained_variance;
pub use scoring::functional_mae;
pub use scoring::functional_mape;
pub use scoring::functional_mse;
pub use scoring::functional_msle;
pub use boosting_regression::bayesian_fosr;
pub use boosting_regression::boost_fofr;
pub use boosting_regression::boost_fofr;
pub use boosting_regression::boost_fosr;
pub use boosting_regression::boost_fosr;
pub use boosting_regression::gamlss_fosr;
pub use boosting_regression::stability_selection;
pub use boosting_regression::BayesianConfig;
pub use boosting_regression::BayesianFosrResult;
pub use boosting_regression::BoostFofrResult;
pub use boosting_regression::BoostFosrResult;
pub use boosting_regression::BoostingConfig;
pub use boosting_regression::GamlssResult;
pub use boosting_regression::StabilityConfig;
pub use boosting_regression::StabilityResult;

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.
boosting_regression
Component-wise gradient boosting and Bayesian regression for functional responses.
classification
Functional classification with mixed scalar/functional predictors.
clustering
Clustering algorithms for functional data.
clustering_advanced
Advanced functional clustering algorithms.
coclustering
Functional co-clustering via the funLBM latent block model.
concurrent_regression
Concurrent (varying-coefficient) functional regression.
conformal
Conformal prediction intervals and prediction sets.
covariance
Covariance kernels and Gaussian process generation.
cv
Cross-validation utilities and unified CV framework.
density_fda
Density-valued functional data analysis (LQD transform, Wasserstein barycenter, density FPCA).
depth
Depth measures for functional data.
detrend
Detrending and decomposition functions for non-stationary functional data.
dim
Dimensionality selector shared by the unified depth/fdata dispatchers.
distance
Generic pairwise distance computation.
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.
fem_smoothing
Linear P1 finite-element surface smoothing over irregular 2D triangulated meshes.
fof_regression
Function-on-function regression.
fpca_variants
Specialized functional-PCA variants.
frechet
Fréchet / object-data regression and statistics (FRE-01).
fts
Functional time series serial-dependence diagnostics.
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.
inference
Functional two-sample inference tests.
irreg_fdata
Irregular functional data operations.
kernel_kmeans
Kernel-k-means clustering of curve sets through the Global Alignment Kernel.
kshape
k-Shape clustering of curve sets through the Shape-Based Distance (SBD).
landmark
Landmark-based registration for functional data.
matrix
Column-major matrix type for functional data analysis.
metric
Distance metrics and semimetrics for functional data.
multi_fdata
Multi-domain functional data container.
optimal_design
Optimal experimental design criteria for sparse functional data (FOptDes).
outliers
Outlier detection for functional data.
pace_fpca
PACE sparse FPCA for irregularly sampled functional data.
parallel
Parallel iteration abstraction for WASM compatibility.
pda
Linear differential operators and principal differential analysis.
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.
scoring
Functional scoring metrics — MAE, MSE, MAPE, MSLE, explained variance.
seasonal
Seasonal time series analysis for functional data.
shapelet
Shapelet transform & classification.
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.
validation
Common input validation helpers.
warping
Warping function utilities and Hilbert sphere geometry.
wire
Unified FDA data container for pipeline interchange.

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.