Skip to main content

compute_leverage

Function compute_leverage 

Source
pub fn compute_leverage(x: &Matrix, xtx_inv: &Matrix) -> Vec<f64>
Expand description

Computes leverage values from the design matrix and its inverse.

Leverage measures how far an observation’s predictor values are from the center of the predictor space. High leverage points can have disproportionate influence on the regression results.

§Arguments

  • x - Design matrix (including intercept column)
  • xtx_inv - Inverse of X’X matrix

§Example

// Design matrix with intercept: [[1, 1], [1, 2], [1, 3]]
let x = Matrix::new(3, 2, vec![1.0, 1.0, 1.0, 2.0, 1.0, 3.0]);
let xtx = x.transpose().matmul(&x);
let xtx_inv = xtx.invert().unwrap();

let leverage = compute_leverage(&x, &xtx_inv);
assert_eq!(leverage.len(), 3);
// Leverage values should sum to the number of parameters (2)
assert!((leverage.iter().sum::<f64>() - 2.0).abs() < 0.01);