Skip to main content

antecedent_model/
lib.rs

1//! Probabilistic and structural causal models.
2//!
3//! Compiles DAGs to topological execution plans; sampling uses intervention
4//! overlays rather than cloning models.
5//!
6//! SPDX-License-Identifier: MIT OR Apache-2.0
7
8#![forbid(unsafe_code)]
9#![deny(missing_docs)]
10
11pub mod batch;
12pub mod compile;
13pub mod do_sampler;
14pub mod error;
15pub mod evaluate;
16pub mod lgssm;
17pub mod mechanism;
18pub mod overlay;
19pub mod registry;
20pub mod sample;
21
22pub use batch::{
23    MechanismWorkspace, NoiseBatch, NoiseBatchMut, ParentBatch, ValueBatch, ValueBatchMut,
24};
25pub use compile::{
26    CompiledCausalModel, CompiledMechanismStore, DynamicMechanism, InvertibleStructuralCausalModel,
27    MechanismSlot, ModelOutputLayout, ParentGatherPlan, ProbabilisticCausalModel,
28    StructuralCausalModel,
29};
30pub use do_sampler::{
31    DoSampleResult, KdeDoSampler, McmcDoSampler, WeightingDoSampler, interventional_mean,
32};
33pub use error::ModelError;
34pub use evaluate::{MechanismPredictiveCheck, ModelEvaluationReport, ModelEvaluator};
35pub use lgssm::{
36    infer_lgssm_innovations, kalman_filter, pack_innovations, rts_smooth, sample_lgssm_noise,
37    unpack_innovations,
38};
39pub use mechanism::{
40    NoiseInferenceMode, evaluate_batch_topo, evaluate_column, infer_noise_column,
41    infer_noise_column_rng, log_prob_column, sample_column, sample_noise_batch,
42    sample_noise_column,
43};
44pub use overlay::{InterventionOverlay, ModelView};
45pub use registry::{
46    MechanismAssignment, MechanismCandidate, MechanismFamily, MechanismRegistry, ModelCollection,
47    SelectionPolicy,
48};
49pub use sample::{
50    sample_conditional_interventional, sample_interventional, sample_observational,
51    sample_posterior_predictive, sample_stochastic, sample_structural_with_overlay,
52    sample_with_overlay, soft_to_slot,
53};
54
55/// Crate version.
56pub const VERSION: &str = env!("CARGO_PKG_VERSION");