Methods
How the numbers are verified
Every model on this site is fitted in TypeScript, in your browser or at build time. Those ports are only useful if they agree with the R code I submitted, so each one is tested against reference output regenerated from the original assignment code.
The pipeline
- 1
Re-run the original R
scripts/reference.R repeats the model calls from the Assignment 2 and 3 R Markdown files verbatim and writes every reproduced number at full precision to a JSON fixture; scripts/diagnostics-reference.R does the same for the 2026 model checks.
- 2
Port the algorithms
IRLS mirrors glm.fit line by line (starting values, Householder QR, convergence rule); multinomial, proportional-odds and GEE fits solve the same likelihood or estimating equations with Newton steps.
- 3
Test for parity
A vitest suite compares the ports with the fixture and with numbers printed in the original notebooks. CI runs it on every push; the table below is the same comparison, computed when this page was built.
Parity table
49 of 49 checks within tolerance. Reference: R version 4.6.1 (2026-06-24); nnet 7.3.20, MASS 7.3.65, geepack 1.3.13; for the 2026 model checks also VGAM 1.1.14, brant 0.3.0 and lme4 2.0.6. Differences are relative (absolute for values below 1).
Beetle
β₀ (straight line)
- R
- -60.10327943
- TS
- -60.10327943
- Δ
- 9.0e-15 ≤ tolerance 1.0e-9
β₁ (straight line)
- R
- 33.93416481
- TS
- 33.93416481
- Δ
- 7.7e-15 ≤ tolerance 1.0e-9
SE(β₁)
- R
- 2.902867031
- TS
- 2.902867031
- Δ
- 4.3e-15 ≤ tolerance 1.0e-9
Residual deviance
- R
- 13.63338416
- TS
- 13.63338416
- Δ
- 3.0e-15 ≤ tolerance 1.0e-10
Pearson X²
- R
- 12.11328428
- TS
- 12.11328428
- Δ
- 1.1e-14 ≤ tolerance 1.0e-9
AIC
- R
- 43.83142238
- TS
- 43.83142238
- Δ
- 9.2e-15 ≤ tolerance 1.0e-10
LD50
- R
- 1.771173087
- TS
- 1.771173087
- Δ
- 3.0e-15 ≤ tolerance 1.0e-10
P(killed | dose 1.8)
- R
- 0.7267543314
- TS
- 0.7267543314
- Δ
- 4.9e-15 ≤ tolerance 1.0e-10
β₂ (quadratic)near-collinear design
- R
- 153.5606193
- TS
- 153.5606193
- Δ
- 2.5e-13 ≤ tolerance 1.0e-7
Deviance (quadratic)
- R
- 5.106974528
- TS
- 5.106974528
- Δ
- 2.5e-14 ≤ tolerance 1.0e-9
Attitudes
model.5 Education slope
- R
- -0.2635160023
- TS
- -0.2635160023
- Δ
- 3.9e-16 ≤ tolerance 1.0e-8
model.5 Female × Education
- R
- -0.08172065599
- TS
- -0.08172065599
- Δ
- 8.3e-17 ≤ tolerance 1.0e-8
model.5 deviance
- R
- 20.24417710
- TS
- 20.24417710
- Δ
- 2.0e-14 ≤ tolerance 1.0e-9
model.4 deviance
- R
- 15.15999289
- TS
- 15.15999289
- Δ
- 2.3e-15 ≤ tolerance 1.0e-8
model.6 deviance
- R
- 20.23682242
- TS
- 20.23682242
- Δ
- 5.4e-15 ≤ tolerance 1.0e-8
model.7 deviancealiased columns re-coded
- R
- 9.947281513
- TS
- 9.947281513
- Δ
- 5.7e-15 ≤ tolerance 1.0e-8
Death penalty
[D][V][P] G²
- R
- 137.9293556
- TS
- 137.9293556
- Δ
- 6.2e-16 ≤ tolerance 1.0e-8
[DV][P] G²
- R
- 8.131610900
- TS
- 8.131610900
- Δ
- 2.0e-15 ≤ tolerance 1.0e-8
[DV][DP] G²
- R
- 7.910160591
- TS
- 7.910160591
- Δ
- 3.4e-16 ≤ tolerance 1.0e-8
[VD][VP] G²
- R
- 1.881895464
- TS
- 1.881895464
- Δ
- 1.2e-15 ≤ tolerance 1.0e-8
Logistic ~ Victim_Race deviance
- R
- 1.881895464
- TS
- 1.881895464
- Δ
- 2.8e-15 ≤ tolerance 1.0e-8
Pneumoconiosis
Severe vs normal slopevs multinom(reltol = 1e-15)
- R
- 0.1092853327
- TS
- 0.1092853322
- Δ
- 4.1e-10 ≤ tolerance 1.0e-6
Multinomial deviance
- R
- 417.4495633
- TS
- 417.4495633
- Δ
- 7.0e-13 ≤ tolerance 1.0e-8
SE(severe slope)nnet Hessian
- R
- 0.01646978363
- TS
- 0.01646976569
- Δ
- 1.8e-8 ≤ tolerance 1.0e-5
Proportional-odds slopevs polr(reltol = 1e-15)
- R
- 0.09590408742
- TS
- 0.09590408815
- Δ
- 7.3e-10 ≤ tolerance 1.0e-6
Cut-point θ₂
- R
- 4.869048624
- TS
- 4.869048624
- Δ
- 3.3e-11 ≤ tolerance 1.0e-6
Proportional-odds deviance
- R
- 416.9188336
- TS
- 416.9188336
- Δ
- 6.7e-14 ≤ tolerance 1.0e-8
SE(slope)polr uses a finite-difference Hessian
- R
- 0.01193789093
- TS
- 0.01193657086
- Δ
- 1.3e-6 ≤ tolerance 2.0e-4
Wheeze GEE
β age (exchangeable)vs geeglm(epsilon = 1e-14)
- R
- -0.1133849967
- TS
- -0.1133849967
- Δ
- 3.7e-16 ≤ tolerance 1.0e-9
β smoke (exchangeable)
- R
- 0.2650757406
- TS
- 0.2650757406
- Δ
- 2.8e-15 ≤ tolerance 1.0e-9
Robust SE smoke
- R
- 0.1777465511
- TS
- 0.1777465511
- Δ
- 1.3e-15 ≤ tolerance 1.0e-8
Working correlation α
- R
- 0.3543049158
- TS
- 0.3543049158
- Δ
- 2.8e-16 ≤ tolerance 1.0e-9
Scale φ
- R
- 0.9984646059
- TS
- 0.9984646059
- Δ
- 1.1e-16 ≤ tolerance 1.0e-9
Robust SE smoke (default fit)geeglm default epsilon = 1e-4
- R
- 0.1777465499
- TS
- 0.1777465511
- Δ
- 1.3e-9 ≤ tolerance 1.0e-7
Naive GLM SE smoke
- R
- 0.1234730601
- TS
- 0.1234730601
- Δ
- 2.8e-17 ≤ tolerance 1.0e-9
Model checks (2026)
Beetle leverage, dose 1.72hatvalues()
- R
- 0.3491434715
- TS
- 0.3491434715
- Δ
- 2.6e-14 ≤ tolerance 1.0e-9
Beetle Cook's D, dose 1.76cooks.distance()
- R
- 1.033666488
- TS
- 1.033666488
- Δ
- 6.3e-13 ≤ tolerance 1.0e-8
Quasi-binomial dispersion
- R
- 2.018893941
- TS
- 2.018893941
- Δ
- 3.1e-14 ≤ tolerance 1.0e-9
Quasi F test p, quadratic term
- R
- 0.03285800828
- TS
- 0.03285800828
- Δ
- 3.3e-15 ≤ tolerance 1.0e-9
Profile CI for slope, loweruniroot on offset refits
- R
- 28.54450924
- TS
- 28.54450924
- Δ
- 1.2e-16 ≤ tolerance 1.0e-8
Profile CI for LD50, upper
- R
- 1.778679926
- TS
- 1.778679926
- Δ
- 1.5e-14 ≤ tolerance 1.0e-9
LD50, quadratic logit: profile CI upperuniroot on constrained refits
- R
- 1.788363698
- TS
- 1.788363698
- Δ
- 2.4e-15 ≤ tolerance 1.0e-9
LD50, cloglog lineMASS::dose.p()
- R
- 1.778204508
- TS
- 1.778204508
- Δ
- 7.1e-11 ≤ tolerance 1.0e-8
Brant X², parallel slopesbrant package
- R
- 0.05135868732
- TS
- 0.05135781870
- Δ
- 8.7e-7 ≤ tolerance 1.0e-5
Separate-slopes β₂VGAM::vglm
- R
- 0.09607722320
- TS
- 0.09607722390
- Δ
- 7.1e-10 ≤ tolerance 1.0e-7
AR(1) working correlation αgeeglm(corstr = 'ar1')
- R
- 0.4910089758
- TS
- 0.4910089758
- Δ
- 2.2e-15 ≤ tolerance 1.0e-9
AR(1) robust SE smoke
- R
- 0.1811950126
- TS
- 0.1811950126
- Δ
- 1.1e-15 ≤ tolerance 1.0e-8
QIC, exchangeablegeepack::QIC()
- R
- 1829.482937
- TS
- 1829.482937
- Δ
- 9.6e-15 ≤ tolerance 1.0e-9
GLMM β smokeglmer(nAGQ = 25) stops early
- R
- 0.3985632954
- TS
- 0.3985626077
- Δ
- 6.9e-7 ≤ tolerance 2.0e-3