GLM Algorithm Arena · Phase I
An encyclopedia of algorithms for generalized linear models.¶
Every estimator for linear and generalized linear models — classical, penalized, high-dimensional, and online — reduced to one precise mapping and documented under one unified notation. From OLS to debiased Lasso to streaming stochastic approximation.
The one question every card answers
Given a design matrix \(X\), a response vector \(y\), and a link function \(g\), how does this algorithm produce a coefficient estimate \(\hat\beta\) ?
Each method can be viewed as the same essential mapping \((X, y, g) \mapsto \hat\beta\) and written against the shared template \(\;\hat\beta=\arg\min_\beta \mathcal L(\beta)+\lambda P(\beta)\), so estimators defined across decades of literature can be read, compared, and — in later phases — benchmarked on equal footing.
Explore¶
-
Notation & framework
The shared mathematical language: exponential family, link functions, loss, score and Fisher information, penalties, and the optimization primitives every card builds on.
-
Taxonomy
How hundreds of solvers stay navigable, from classical closed forms to online stochastic approximation.
-
Card schema
The exact, faithful template each algorithm follows — machine-readable metadata plus nine fixed sections, with a strict faithfulness rule.
-
Algorithm catalogue
The growing collection: OLS, Ridge, Lasso, Elastic Net, SCAD, MCP, LARS, FISTA, debiased Lasso, SGD, and many more.
Project construction¶
-
I · Documentation current
Faithful algorithm cards — exact mathematics only. Each defines the estimator, the algorithm, its hyperparameters, and the precise \((X,y,g)\mapsto\hat\beta\) contract.
-
II · Implementation planned
Python solvers behind one interface,
fit(X, y, link, **config) -> beta_hat, mirroring each method's official construction. -
III · The Arena planned
Run every solver across many datasets; study performance, agreement, and the correlations between their outputs.
Contributing a card
Copy the stub in the card schema, drop it in
docs/algorithms/<id>.md, fill the fixed sections faithfully from the source paper, and
add the bibkey to reference.bib. Run python scripts/validate_cards.py, and it appears
in the catalogue.