pub enum MechanismSlot {
Vacant,
Pending {
family_id: Arc<str>,
},
LinearGaussian {
intercept: f64,
coeffs: Arc<[f64]>,
sigma: f64,
},
Discrete {
support: Arc<[f64]>,
probs: Arc<[f64]>,
logit_coeffs: Option<Arc<[f64]>>,
},
Constant {
value: f64,
},
HierarchicalLinear {
intercept: f64,
coeffs: Arc<[f64]>,
sigma: f64,
shrinkage: f64,
},
Bvar {
intercept: f64,
coeffs: Arc<[f64]>,
sigma: f64,
},
LinearGaussianStateSpace {
a: f64,
process_std: f64,
obs_std: f64,
initial_mean: f64,
},
GaussianProcess {
length_scale: f64,
variance: f64,
noise_std: f64,
x_train: Arc<[f64]>,
n_train: usize,
n_parents: usize,
alpha: Arc<[f64]>,
},
Dynamic {
id: Arc<str>,
mechanism: Arc<dyn DynamicMechanism>,
},
}Expand description
Mechanism slot filled by fitting / registry.
Variants§
Vacant
Unassigned.
Pending
Assigned family id pending fit.
LinearGaussian
Fitted linear Gaussian: intercept + parent coeffs + residual σ.
Fields
coeffs: Arc<[f64]>Coefficients aligned with ParentGatherPlan::parents.
Discrete
Discrete categorical over finite support.
Unconditional when logit_coeffs is None (use probs).
Parent-conditional when logit_coeffs is Some: softmax over
support.len() rows of length 1 + n_parents (intercept + parent coeffs).
Coefficients are baseline-category multinomial-logit MLEs (reference category
index 0 is pinned to zero).
Fields
Constant
Constant mechanism.
HierarchicalLinear
Hierarchical linear Gaussian (partial-pooling / ridge toward prior mean 0).
Fields
Bvar
Bayesian VAR-style linear Gaussian on parent lags (single-equation).
Fields
LinearGaussianStateSpace
Linear Gaussian state-space observation mechanism (1-D LGSSM).
Latent: x_t = a x_{t-1} + σ_proc ε; observation: y_t = x_t + σ_obs η.
Parents unused at evaluate time (state evolves from shared noise).
Fields
GaussianProcess
Gaussian-process mechanism (RBF dual form); requires gaussian-process feature to fit.
Fields
Dynamic
Explicit slow-path dynamic / user mechanism (not serializable).
Trait Implementations§
Source§impl Clone for MechanismSlot
impl Clone for MechanismSlot
Source§fn clone(&self) -> MechanismSlot
fn clone(&self) -> MechanismSlot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MechanismSlot
impl Debug for MechanismSlot
Source§impl Default for MechanismSlot
impl Default for MechanismSlot
Source§fn default() -> MechanismSlot
fn default() -> MechanismSlot
Auto Trait Implementations§
impl !RefUnwindSafe for MechanismSlot
impl !UnwindSafe for MechanismSlot
impl Freeze for MechanismSlot
impl Send for MechanismSlot
impl Sync for MechanismSlot
impl Unpin for MechanismSlot
impl UnsafeUnpin for MechanismSlot
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> ForeignBufferOwner for T
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 more