pub struct OverlapRefuter {
pub eps: f64,
pub min_ess_fraction: f64,
pub glm_options: GlmOptions,
}Expand description
Overlap / positivity assessment.
No silent propensity rebuild: when problem.original.overlap_report is Some (the
original estimate came from a propensity-based estimator), that report is reused verbatim.
When it is None (the linear-adjustment path, which deliberately skips propensity via
OverlapPolicy::ExplicitOverride), this refuter fits its own diagnostic-only logistic
propensity model on the adjustment covariates — explicitly, and only to populate the
diagnostics this check needs. That fit never feeds back into the original point estimate.
Fields§
§eps: f64Minimum acceptable margin from the propensity boundary: pass requires propensities in
[eps, 1 - eps].
min_ess_fraction: f64Minimum acceptable fraction of effective sample size retained (ess / n).
glm_options: GlmOptionsGLM options used only for the diagnostic-only fit (linear-adjustment path).
Implementations§
Source§impl OverlapRefuter
impl OverlapRefuter
Sourcepub fn refute(
&self,
problem: &RefutationProblem<'_>,
) -> Result<RefutationReport, ValidationError>
pub fn refute( &self, problem: &RefutationProblem<'_>, ) -> Result<RefutationReport, ValidationError>
Run the overlap / positivity refuter.
Complete separation / non-converged diagnostic GLM fits are treated as overlap failures (extreme propensities), not as hard errors.
§Errors
Data failures while building a diagnostic-only propensity fit.
Sourcepub fn refute_with_propensity(
&self,
problem: &RefutationProblem<'_>,
propensity: &mut PropensityWorkspace,
) -> Result<RefutationReport, ValidationError>
pub fn refute_with_propensity( &self, problem: &RefutationProblem<'_>, propensity: &mut PropensityWorkspace, ) -> Result<RefutationReport, ValidationError>
Like Self::refute, reusing a warmed propensity workspace for diagnostic fits.
§Errors
Data failures while building a diagnostic-only propensity fit.
Trait Implementations§
Source§impl Clone for OverlapRefuter
impl Clone for OverlapRefuter
Source§fn clone(&self) -> OverlapRefuter
fn clone(&self) -> OverlapRefuter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OverlapRefuter
impl Debug for OverlapRefuter
Source§impl Default for OverlapRefuter
impl Default for OverlapRefuter
Source§impl<'a> Validator<RefutationProblem<'a>> for OverlapRefuter
impl<'a> Validator<RefutationProblem<'a>> for OverlapRefuter
Source§type Prepared = PreparedRefutation<'a>
type Prepared = PreparedRefutation<'a>
Self::prepare.Source§type Report = RefutationReport
type Report = RefutationReport
Self::validate.Source§fn prepare(
&self,
artifact: &RefutationProblem<'a>,
_ctx: &ExecutionContext,
) -> Result<Self::Prepared, ValidationError>
fn prepare( &self, artifact: &RefutationProblem<'a>, _ctx: &ExecutionContext, ) -> Result<Self::Prepared, ValidationError>
artifact into a reusable prepared form. Read moreSource§fn validate(
&self,
prepared: &mut Self::Prepared,
_workspace: &mut EstimationWorkspace,
_ctx: &ExecutionContext,
) -> Result<Self::Report, ValidationError>
fn validate( &self, prepared: &mut Self::Prepared, _workspace: &mut EstimationWorkspace, _ctx: &ExecutionContext, ) -> Result<Self::Report, ValidationError>
Auto Trait Implementations§
impl Freeze for OverlapRefuter
impl RefUnwindSafe for OverlapRefuter
impl Send for OverlapRefuter
impl Sync for OverlapRefuter
impl Unpin for OverlapRefuter
impl UnsafeUnpin for OverlapRefuter
impl UnwindSafe for OverlapRefuter
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> ForeignBufferOwner for T
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 more