Integrate from 3 StdDevs down instead of starting at 0
This commit is contained in:
parent
a8a0983f9e
commit
df813355c8
|
@ -376,11 +376,19 @@ impl Analyzer for NormalAnalyzer {
|
||||||
if mvn.is_ok() {
|
if mvn.is_ok() {
|
||||||
let mvn = mvn.unwrap();
|
let mvn = mvn.unwrap();
|
||||||
|
|
||||||
|
// Start 3 standard deviations below the mean, based on
|
||||||
|
// 68-95-99.7 rule, assuming the confidence will be high
|
||||||
|
// enough that 99.7 is close enough to "the whole
|
||||||
|
// distribution" to be reasonable
|
||||||
|
let bip_start = (bridge_ips_mean - (3.0 * bridge_ips_f64.std_dev()).ceil()) as i32;
|
||||||
|
let pr_start =
|
||||||
|
(positive_reports_mean - (3.0 * positive_reports_f64.std_dev()).ceil()) as i32;
|
||||||
|
|
||||||
// Estimate the CDF by integrating the PDF by hand with step
|
// Estimate the CDF by integrating the PDF by hand with step
|
||||||
// size 1
|
// size 1
|
||||||
let mut cdf = 0.0;
|
let mut cdf = 0.0;
|
||||||
for bip in 0..bridge_ips_today {
|
for bip in bip_start..bridge_ips_today as i32 {
|
||||||
for pr in 0..positive_reports_today {
|
for pr in pr_start..positive_reports_today as i32 {
|
||||||
cdf += mvn.pdf(&DVector::from_vec(vec![bip as f64, pr as f64]));
|
cdf += mvn.pdf(&DVector::from_vec(vec![bip as f64, pr as f64]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue