Skip to main content

sample_conditional_interventional

Function sample_conditional_interventional 

Source
pub fn sample_conditional_interventional(
    model: &CompiledCausalModel,
    interventions: &[Intervention],
    condition_nodes: &[DenseNodeId],
    condition_values: &[f64],
    n_rows: usize,
    rng: &mut CausalRng,
    ws: &mut MechanismWorkspace,
    ctx: &ExecutionContext,
) -> Result<ValueBatch, ModelError>
Expand description

Sample under interventions conditioned on observed node values.

Strategy:

  1. Rejection sampling when conditions match within 1e-9 (exact / discrete).
  2. Likelihood-weighting SIR when rejection under-accepts: propose from do(·), weight by ∏_c p(condition_c | parents_c) via [log_prob_column], resample.

Conditioning nodes must not be hard-intervened.

§Errors

Empty condition, intervened condition nodes, density failures, or empty weights.