pub struct StructuralPCA {
pub t2_ucl: f64,
pub q_ucl: f64,
pub top_k_sensors: usize,
}Expand description
Structural PCA module — provides the “why” to the PCA “what”.
Given a PcaObservation from the existing FDC system, this module:
- Classifies the excursion into four structural categories (Nominal / ModelledShift / UnmodelledExcursion / JointExcursion).
- When loadings and residuals are available, identifies the dominant physical sensors responsible for the deviation.
- Emits a
StructuralInterpretationthat can be serialised into the run manifest and the traceability audit trail.
§Thresholds
The control limits for T² and Q are obtained from the FDC model’s healthy phase statistics. They must be provided at construction time; the DSFB engine never re-computes these limits from raw data.
Fields§
§t2_ucl: f64Upper control limit for T² (typically the 99th percentile of the
chi-squared distribution with n_components degrees of freedom).
q_ucl: f64Upper control limit for Q / SPE.
top_k_sensors: usizeNumber of dominant sensors to report in the structural interpretation.
Implementations§
Source§impl StructuralPCA
impl StructuralPCA
Sourcepub fn interpret(&self, obs: &PcaObservation) -> StructuralInterpretation
pub fn interpret(&self, obs: &PcaObservation) -> StructuralInterpretation
Interpret a single PcaObservation and return the structural verdict.
Trait Implementations§
Source§impl Clone for StructuralPCA
impl Clone for StructuralPCA
Source§fn clone(&self) -> StructuralPCA
fn clone(&self) -> StructuralPCA
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StructuralPCA
impl Debug for StructuralPCA
Source§impl Default for StructuralPCA
impl Default for StructuralPCA
Source§impl<'de> Deserialize<'de> for StructuralPCA
impl<'de> Deserialize<'de> for StructuralPCA
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for StructuralPCA
impl RefUnwindSafe for StructuralPCA
impl Send for StructuralPCA
impl Sync for StructuralPCA
impl Unpin for StructuralPCA
impl UnsafeUnpin for StructuralPCA
impl UnwindSafe for StructuralPCA
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more