pub struct DidCs { /* private fields */ }Expand description
Difference-in-differences with repeated cross-sections: the data need
a 0/1 time indicator (DmlData::with_time_indicator). ml_g learns
E[Y | D = d, T = t, X] separately in each of the four group × period
cells, ml_m the propensity P(D = 1 | X) (observational score only).
Implementations§
Source§impl DidCs
impl DidCs
Sourcepub fn new(
ml_g: impl Regressor + 'static,
ml_m: impl Classifier + 'static,
) -> Self
pub fn new( ml_g: impl Regressor + 'static, ml_m: impl Classifier + 'static, ) -> Self
Observational design (doubly robust score).
Sourcepub fn experimental(ml_g: impl Regressor + 'static) -> Self
pub fn experimental(ml_g: impl Regressor + 'static) -> Self
Randomised design: only the outcome model is needed.
pub fn from_boxed( ml_g: Box<dyn Regressor>, ml_m: Option<Box<dyn Classifier>>, ) -> Self
Sourcepub fn in_sample_normalization(self, normalize: bool) -> Self
pub fn in_sample_normalization(self, normalize: bool) -> Self
Normalise the weights by their sample means (default true, as
DoubleML); false uses the plug-in probabilities.
Sourcepub fn clipping_threshold(self, t: f64) -> Self
pub fn clipping_threshold(self, t: f64) -> Self
Propensities are clipped to [t, 1 − t] (default 0.01).
Trait Implementations§
Source§impl LinearScoreModel for DidCs
impl LinearScoreModel for DidCs
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 DidCs
impl !UnwindSafe for DidCs
impl Freeze for DidCs
impl Send for DidCs
impl Sync for DidCs
impl Unpin for DidCs
impl UnsafeUnpin for DidCs
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