pub struct DmlPartialLinearReference {
pub available: bool,
pub backend: String,
pub theta: f64,
pub se: f64,
pub ci_lo: f64,
pub ci_hi: f64,
}Expand description
A Double Machine Learning (DML) reference estimate of the average linear
effect θ = E[∂E(Y|D,X)/∂D] of a treatment/dose D on outcome Y after
partialling out confounders X, computed by a mature Python DML library
(DoubleML’s partially-linear model, with EconML’s LinearDML as fallback).
This is the Neyman-orthogonal scalar-target baseline used by #461’s Sim C:
the cross-fitted DML estimator is, by construction, first-order insensitive
to first-stage nuisance estimation error, so its theta/se are the
reference bias/coverage that gam’s orthogonalized marginal-slope target
θ = E_x[β(x)] must match-or-beat under x-dependent Stage-1 miscalibration.
Fields§
§available: boolWhether a DML library was importable in the reference interpreter. When
false, theta/se/ci_lo/ci_hi are NaN and the caller should
emit a clear skip message rather than asserting against them — DoubleML/
EconML are heavier optional dependencies than scipy/mgcv, so their
absence is treated as a genuine environmental gate (mirroring the
CUDA-only skip in tests/common/gpu_gate.rs) rather than the hard
failure that a missing scipy/R would be.
backend: StringWhich backend produced the estimate: “doubleml”, “econml”, or “none”.
theta: f64Point estimate of the average linear treatment effect θ.
se: f64Standard error of θ̂ reported by the DML library.
ci_lo: f64Lower end of the library’s 95% confidence interval for θ.
ci_hi: f64Upper end of the library’s 95% confidence interval for θ.
Auto Trait Implementations§
impl Freeze for DmlPartialLinearReference
impl RefUnwindSafe for DmlPartialLinearReference
impl Send for DmlPartialLinearReference
impl Sync for DmlPartialLinearReference
impl Unpin for DmlPartialLinearReference
impl UnsafeUnpin for DmlPartialLinearReference
impl UnwindSafe for DmlPartialLinearReference
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.