pub struct Irm { /* private fields */ }Expand description
IRM estimator: ml_g learns E[Y | D = d, X] (fitted separately on the
treated and control rows of each training fold), ml_m learns the
propensity score P(D = 1 | X).
Implementations§
Source§impl Irm
impl Irm
pub fn new( ml_g: impl Regressor + 'static, ml_m: impl Classifier + 'static, ) -> Self
pub fn from_boxed(ml_g: Box<dyn Regressor>, ml_m: Box<dyn Classifier>) -> Self
pub fn score(self, score: IrmScore) -> Self
Sourcepub fn clipping_threshold(self, t: f64) -> Self
pub fn clipping_threshold(self, t: f64) -> Self
Propensity scores are clipped to [t, 1 − t] (default t = 0.01).
Sourcepub fn normalize_ipw(self, normalize: bool) -> Self
pub fn normalize_ipw(self, normalize: bool) -> Self
Normalise the inverse-probability weights to mean one within each
treatment arm (Hájek-style), as DoubleML’s normalize_ipw=True.
Trait Implementations§
Source§impl LinearScoreModel for Irm
impl LinearScoreModel for Irm
Source§fn validate(&self, data: &DmlData) -> Result<()>
fn validate(&self, data: &DmlData) -> Result<()>
Reject data the model cannot handle (called once before fitting).
Source§fn estimate_score(
&self,
input: &ScoreInput<'_>,
folds: &[Fold],
) -> Result<ScoreEstimate>
fn estimate_score( &self, input: &ScoreInput<'_>, folds: &[Fold], ) -> Result<ScoreEstimate>
Cross-fit the nuisances on
folds and return the score elements.Auto Trait Implementations§
impl !RefUnwindSafe for Irm
impl !UnwindSafe for Irm
impl Freeze for Irm
impl Send for Irm
impl Sync for Irm
impl Unpin for Irm
impl UnsafeUnpin for Irm
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
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> 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