pflm.fpca.FpcaModelParams#
- class FpcaModelParams(measurement_error_variance: float, eigen_results: dict[str, ndarray], select_num_pcs_criterion: ndarray | None = None, fpca_lambda: ndarray | None = None, fpca_phi: dict[str, ndarray] | None = None, fitted_covariance: dict[str, ndarray] | None = None, rho: float | None = None, eigenvalue_fit: ndarray | None = None, method_select_num_pcs: int | Literal['FVE', 'AIC', 'BIC'] | None = None, max_num_pcs: int | None = None, method_pcs: Literal['IN', 'CE'] | None = None, method_rho: Literal['truncated', 'ridge', 'vanilla'] | None = None, if_shrinkage: bool | None = None, fve_threshold: float | None = None)[source][source]#
Bases:
objectFPCA parameters, artifacts, and tuning metadata.
- Attributes:
- measurement_error_variancefloat
Estimated noise variance (sigma^2).
- eigen_resultsdict
Eigen decomposition results with keys like {“lambda”: np.ndarray, “vector”: np.ndarray}.
- select_num_pcs_criterionnp.ndarray, optional
Criterion values used in selecting the number of PCs (e.g., FVE curve or information criteria).
- fpca_lambdanp.ndarray, optional
Selected/processed eigenvalues for FPCA.
- fpca_phidict, optional
Basis functions on different grids, e.g., {“obs”: …, “reg”: …}.
- num_pcsint, optional
Number of retained PCs.
- fitted_covariancedict, optional
Fitted covariance matrices by grid kind, e.g., {“obs”: …, “reg”: …}.
- rhofloat, optional
Truncation/ridge/vanilla parameter used in CE scoring if applicable.
- eigenvalue_fitnp.ndarray, optional
Alternative eigenvalue estimates from projection-based fitting.
- method_select_num_pcsint or {“FVE”,”AIC”,”BIC”}, optional
Selection method or a fixed number of PCs.
- max_num_pcsint, optional
Upper bound used when searching the number of PCs.
- method_pcs{“IN”,”CE”}, optional
Score estimation method (In-sample or Conditional Expectation).
- method_rho{“truncated”,”ridge”,”vanilla”}, optional
Strategy for rho selection in CE.
- if_shrinkagebool, optional
Whether shrinkage was applied to IN scores.
- fve_thresholdfloat, optional
Target FVE used when selecting the number of PCs.
Notes
This dataclass is a passive container; validation and consistency checks should be handled by the FPCA fitting pipeline.
Examples
>>> import numpy as np >>> from pflm.fpca.fpca_result_class import FpcaModelParams >>> params = FpcaModelParams( ... measurement_error_variance=0.01, ... eigen_results={'lambda': np.array([1.0, 0.5]), 'vector': np.eye(2)}, ... ) >>> params.measurement_error_variance 0.01