pub struct McmcDoSampler {
pub outcome: VariableId,
pub proposal_sd: f64,
pub burn_in: usize,
pub thin: usize,
}Expand description
Random-walk Metropolis–Hastings on the outcome margin.
The chain targets a Silverman (1986) Gaussian KDE fitted to a pilot batch of interventional
ancestral draws — a smoothed proxy of the interventional law of outcome, not the
joint mechanism density. Proposals are Gaussian random walks (proposal_sd); this is
not independent MH, and is exact for the interventional law only in the large-pilot
/ vanishing-bandwidth limit of that KDE proxy.
Fields§
§outcome: VariableIdOutcome variable to record.
proposal_sd: f64Proposal standard deviation.
burn_in: usizeBurn-in iterations.
thin: usizeThinning.
Implementations§
Source§impl McmcDoSampler
impl McmcDoSampler
Sourcepub fn new(outcome: VariableId) -> Self
pub fn new(outcome: VariableId) -> Self
Construct targeting outcome.
Sourcepub fn sample(
&self,
model: &CompiledCausalModel,
interventions: &[Intervention],
n_samples: usize,
rng: &mut CausalRng,
ws: &mut MechanismWorkspace,
ctx: &ExecutionContext,
) -> Result<DoSampleResult, ModelError>
pub fn sample( &self, model: &CompiledCausalModel, interventions: &[Intervention], n_samples: usize, rng: &mut CausalRng, ws: &mut MechanismWorkspace, ctx: &ExecutionContext, ) -> Result<DoSampleResult, ModelError>
Run random-walk MH against a KDE of interventional pilot draws (see type docs).
§Errors
Sampling / density failures.
Trait Implementations§
Source§impl Clone for McmcDoSampler
impl Clone for McmcDoSampler
Source§fn clone(&self) -> McmcDoSampler
fn clone(&self) -> McmcDoSampler
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 McmcDoSampler
impl Debug for McmcDoSampler
Auto Trait Implementations§
impl Freeze for McmcDoSampler
impl RefUnwindSafe for McmcDoSampler
impl Send for McmcDoSampler
impl Sync for McmcDoSampler
impl Unpin for McmcDoSampler
impl UnsafeUnpin for McmcDoSampler
impl UnwindSafe for McmcDoSampler
Blanket Implementations§
impl<T> Allocation for T
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
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> ⓘ
Converts
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> ⓘ
Converts
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