#[non_exhaustive]pub struct ProfileChart {
pub reference_fosr: FosrResult,
pub beta_fpca: FpcaResult,
pub eigenvalues: Vec<f64>,
pub t2_limit: ControlLimit,
pub lag1_autocorrelation: f64,
pub effective_n_windows: f64,
pub config: ProfileMonitorConfig,
}Expand description
Phase I profile monitoring chart.
When effective_n_windows is much smaller than the actual number of
windows, the chi-squared UCL may need adjustment. A practical approach:
multiply the UCL by effective_n_windows / n_windows to approximate a
Bonferroni-like correction.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.reference_fosr: FosrResultFOSR result from the full reference data.
beta_fpca: FpcaResultFPCA of the rolling beta coefficient functions.
eigenvalues: Vec<f64>Eigenvalues: sv² / (n_windows - 1).
t2_limit: ControlLimitT-squared control limit for beta monitoring.
lag1_autocorrelation: f64Lag-1 autocorrelation of the Phase I T-squared statistics from rolling windows. High values (> 0.5) indicate serial correlation from window overlap.
Computed from the Phase I T-squared statistic sequence. Values |rho_1| > 0.3
indicate substantial serial correlation; effective_n_windows will be
notably reduced. The estimator uses the unbiased sample variance (n-1
denominator) for both variance and covariance terms.
effective_n_windows: f64Effective number of independent windows (Bartlett correction for overlap). When step_size < window_size, consecutive windows overlap and are correlated, reducing the effective degrees of freedom.
Computed as n_eff = n_windows / (1 + 2|rho_1|), which is the Bartlett (1946, section 3) formula for AR(1) processes. For overlap fraction f = 1 - step_size/window_size, the lag-1 autocorrelation is approximately f, so n_eff ~ n_windows / (1 + 2f). This is conservative (underestimates n_eff) for non-AR(1) dependence structures.
Use this to assess whether the chi-squared UCL is reliable. When
effective_n_windows < 20, consider widening the control limit or
using bootstrap limits instead.
config: ProfileMonitorConfigConfiguration used.
Trait Implementations§
Source§impl Clone for ProfileChart
impl Clone for ProfileChart
Source§fn clone(&self) -> ProfileChart
fn clone(&self) -> ProfileChart
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProfileChart
impl Debug for ProfileChart
Source§impl PartialEq for ProfileChart
impl PartialEq for ProfileChart
impl StructuralPartialEq for ProfileChart
Auto Trait Implementations§
impl Freeze for ProfileChart
impl RefUnwindSafe for ProfileChart
impl Send for ProfileChart
impl Sync for ProfileChart
impl Unpin for ProfileChart
impl UnsafeUnpin for ProfileChart
impl UnwindSafe for ProfileChart
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.