calculate_z_score

Function calculate_z_score 

Source
pub fn calculate_z_score(value: f64, mean: f64, std_dev: f64) -> f64
Expand description

Calculate z-score for anomaly detection.

The z-score indicates how many standard deviations away from the mean a value is. Values with |z-score| > 3 are typically considered anomalies.

ยงExamples

use chie_shared::calculate_z_score;

// Value at the mean has z-score of 0
let z = calculate_z_score(100.0, 100.0, 10.0);
assert_eq!(z, 0.0);

// Value 1 std dev above mean has z-score of 1
let z = calculate_z_score(110.0, 100.0, 10.0);
assert_eq!(z, 1.0);

// Value 2 std devs below mean has z-score of -2
let z = calculate_z_score(80.0, 100.0, 10.0);
assert_eq!(z, -2.0);

// Anomaly: value is 3.5 std devs above mean
let z = calculate_z_score(135.0, 100.0, 10.0);
assert_eq!(z, 3.5);
assert!(z.abs() > 3.0); // Likely an anomaly

// Handle zero std dev
let z = calculate_z_score(100.0, 100.0, 0.0);
assert_eq!(z, 0.0);