Module glm

Module glm 

Source
Expand description

Generalized Linear Models (GLM)

GLMs extend linear regression to exponential family distributions with link functions.

§Components

  • Linear predictor: η = Xβ
  • Link function: g(μ) = η, maps mean to linear predictor
  • Family: Distribution from exponential family

§Families

  • Poisson: Count data, canonical link = log, V(μ) = μ
  • Negative Binomial: Overdispersed count data, canonical link = log, V(μ) = μ + α*μ²
  • Gamma: Positive continuous data, canonical link = inverse, V(μ) = μ²
  • Binomial: Binary/proportion data, canonical link = logit, V(μ) = μ(1-μ)

§Overdispersion in Count Data

For count data where variance >> mean (overdispersion), use Negative Binomial instead of Poisson. The dispersion parameter α controls extra variance. See notes-poisson.md for detailed explanation with peer-reviewed references.

§Example

use aprender::glm::{GLM, Family};
use aprender::primitives::{Matrix, Vector};

// Overdispersed count data - use Negative Binomial
let mut model = GLM::new(Family::NegativeBinomial).with_dispersion(0.5);
model.fit(&x, &y).unwrap();
let predictions = model.predict(&x_test).unwrap();

Structs§

GLM
Generalized Linear Model.

Enums§

Family
Exponential family distribution for GLM.
Link
Link function for GLM.