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.