pub enum EffectVerdict {
ExceedsNoise {
effect: f64,
noise: f64,
pairs: usize,
},
WithinNoise {
effect: f64,
noise: f64,
pairs: usize,
},
}Expand description
What the A/A arm says about the size of the measured effect.
Deliberately not a p-value or a confidence interval: with one replicate there is nothing to compute either from, and rendering a statistic that the design cannot support would be worse than rendering none. The two arms of this enum are the honest resolution of a one-pair comparison — the effect is clearly bigger than the drift, or it is not clearly bigger than the drift.
Variants§
ExceedsNoise
|gglib − raw| is at least EFFECT_NOISE_RATIO times the A/A gap.
Fields
WithinNoise
The effect is not clearly larger than the drift between two runs of the same arm. It is not thereby absent — it is unresolved at this seed count, and the fix is more seeds rather than a different conclusion.
Implementations§
Source§impl EffectVerdict
impl EffectVerdict
Sourcepub fn ratio(&self) -> Option<f64>
pub fn ratio(&self) -> Option<f64>
|effect| ÷ noise, or None when the two arms landed on exactly the
same composite and the ratio would divide by zero.
A zero denominator is not a licence to report an infinite ratio: two identical scores on a suite this small means the drift went unresolved, not that there is none.
Sourcepub const fn pairs(&self) -> usize
pub const fn pairs(&self) -> usize
How many pairwise drift gaps stand behind Self::noise.
Sourcepub const fn exceeds_noise(&self) -> bool
pub const fn exceeds_noise(&self) -> bool
Whether the effect cleared the drift by EFFECT_NOISE_RATIO.
Trait Implementations§
Source§impl Clone for EffectVerdict
impl Clone for EffectVerdict
Source§fn clone(&self) -> EffectVerdict
fn clone(&self) -> EffectVerdict
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 EffectVerdict
impl Debug for EffectVerdict
Source§impl<'de> Deserialize<'de> for EffectVerdict
impl<'de> Deserialize<'de> for EffectVerdict
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for EffectVerdict
impl PartialEq for EffectVerdict
Source§fn eq(&self, other: &EffectVerdict) -> bool
fn eq(&self, other: &EffectVerdict) -> bool
self and other values to be equal, and is used by ==.