Expand description
Statistical Process Monitoring (SPM) for functional data.
This module implements a complete framework for monitoring functional data processes using FPCA-based control charts. It supports both univariate and multivariate functional settings.
§Overview
The SPM workflow follows two phases:
-
Phase I (training): Builds a monitoring chart from historical in-control data. The data is split into a tuning set (for FPCA) and a calibration set (for establishing control limits).
-
Phase II (monitoring): Projects new observations through the trained model and checks whether monitoring statistics exceed control limits.
§Monitoring Statistics
-
Hotelling T-squared: Measures variation in the principal component subspace. Sensitive to shifts in the major modes of variation.
-
SPE (Squared Prediction Error): Measures residual variation outside the PC subspace. Sensitive to new types of variation not captured by FPCA.
§Modules
phase: Core Phase I/II framework for univariate and multivariate SPMewma: EWMA smoothing for enhanced sensitivity to small persistent shiftsfrcc: Functional Regression Control Chart (adjusts for known covariates)mfpca: Multivariate FPCA for multi-response monitoringstats: T-squared and SPE computationcontrol: Control limit estimationcontrib: Contribution diagnostics for fault identificationpartial: Partial-domain monitoring (incomplete observations)
§Example
use fdars_core::matrix::FdMatrix;
use fdars_core::spm::phase::{spm_phase1, spm_monitor, SpmConfig};
// Phase I: build chart from in-control data
let config = SpmConfig { ncomp: 3, alpha: 0.05, ..SpmConfig::default() };
let chart = spm_phase1(&data, &argvals, &config).unwrap();
// Phase II: monitor new data
let result = spm_monitor(&chart, &new_data, &argvals).unwrap();
// Check result.t2_alarm and result.spe_alarm for out-of-control signalsRe-exports§
pub use amewma::spm_amewma_monitor;pub use amewma::AmewmaConfig;pub use amewma::AmewmaMonitorResult;pub use arl::arl0_ewma_t2;pub use arl::arl0_spe;pub use arl::arl0_t2;pub use arl::arl1_t2;pub use arl::ArlConfig;pub use arl::ArlResult;pub use bootstrap::spe_limit_robust;pub use bootstrap::t2_limit_robust;pub use bootstrap::ControlLimitMethod;pub use contrib::spe_contributions;pub use contrib::t2_contributions;pub use contrib::t2_contributions_mfpca;pub use contrib::t2_pc_contributions;pub use contrib::t2_pc_significance;pub use control::spe_control_limit;pub use control::spe_moment_match_diagnostic;pub use control::t2_control_limit;pub use control::ControlLimit;pub use cusum::spm_cusum_monitor;pub use cusum::spm_cusum_monitor_with_restart;pub use cusum::CusumConfig;pub use cusum::CusumMonitorResult;pub use elastic_spm::elastic_spm_monitor;pub use elastic_spm::elastic_spm_phase1;pub use elastic_spm::ElasticSpmChart;pub use elastic_spm::ElasticSpmConfig;pub use elastic_spm::ElasticSpmMonitorResult;pub use ewma::ewma_scores;pub use ewma::spm_ewma_monitor;pub use ewma::EwmaConfig;pub use ewma::EwmaMonitorResult;pub use frcc::frcc_monitor;pub use frcc::frcc_phase1;pub use frcc::FrccChart;pub use frcc::FrccConfig;pub use frcc::FrccMonitorResult;pub use iterative::spm_phase1_iterative;pub use iterative::IterativePhase1Config;pub use iterative::IterativePhase1Result;pub use mewma::spm_mewma_monitor;pub use mewma::MewmaConfig;pub use mewma::MewmaMonitorResult;pub use mfpca::mfpca;pub use mfpca::MfpcaConfig;pub use mfpca::MfpcaResult;pub use ncomp::select_ncomp;pub use ncomp::NcompMethod;pub use partial::spm_monitor_partial;pub use partial::spm_monitor_partial_batch;pub use partial::DomainCompletion;pub use partial::PartialDomainConfig;pub use partial::PartialMonitorResult;pub use phase::mf_spm_monitor;pub use phase::mf_spm_phase1;pub use phase::spm_monitor;pub use phase::spm_phase1;pub use phase::MfSpmChart;pub use phase::SpmChart;pub use phase::SpmConfig;pub use phase::SpmMonitorResult;pub use profile::profile_monitor;pub use profile::profile_phase1;pub use profile::ProfileChart;pub use profile::ProfileMonitorConfig;pub use profile::ProfileMonitorResult;pub use rules::evaluate_rules;pub use rules::nelson_rules;pub use rules::western_electric_rules;pub use rules::ChartRule;pub use rules::RuleViolation;pub use stats::hotelling_t2;pub use stats::hotelling_t2_regularized;pub use stats::spe_multivariate;pub use stats::spe_univariate;
Modules§
- amewma
- Adaptive EWMA (AMFEWMA) monitoring for functional data.
- arl
- Average Run Length (ARL) computation for SPM control charts.
- bootstrap
- Bootstrap and robust control limit estimation.
- contrib
- Contribution diagnostics for SPM.
- control
- Control limits for SPM monitoring statistics.
- cusum
- CUSUM (Cumulative Sum) monitoring for functional data.
- elastic_
spm - Phase-aware (elastic) SPM monitoring.
- ewma
- EWMA (Exponentially Weighted Moving Average) smoothing for SPM.
- frcc
- Functional Regression Control Chart (FRCC).
- iterative
- Iterative Phase I chart construction for SPM.
- mewma
- Multivariate EWMA (MEWMA) monitoring for functional data.
- mfpca
- Multivariate Functional Principal Component Analysis (MFPCA).
- ncomp
- Automatic selection of the number of principal components (ncomp).
- partial
- Partial-domain monitoring for functional data.
- phase
- Phase I/II framework for statistical process monitoring.
- profile
- Profile monitoring for functional data.
- rules
- Runs and zone rules for control chart analysis.
- stats
- Hotelling T-squared and SPE (Squared Prediction Error) statistics.