Skip to content

Instantly share code, notes, and snippets.

@ericqu
Created June 30, 2022 19:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ericqu/01bb5d2a61470bf872e9fddaec43e859 to your computer and use it in GitHub Desktop.
Save ericqu/01bb5d2a61470bf872e9fddaec43e859 to your computer and use it in GitHub Desktop.
using LinearRegressionKit, StatsModels, DataFrames, CSV
y = [1.0, 1.11111, 1.24992, 1.42753, 1.65984, 1.96875, 2.38336, 2.94117, 3.68928, 4.68559, 6.0, 7.71561, 9.92992, 12.75603, 16.32384, 20.78125, 26.29536, 33.05367, 41.26528, 51.16209, 63.0]
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
df = DataFrame(y = y, x = x)
f = @formula(y ~ x + x^2 + x^3 + x^4 + x^5 )
lrk= regress(f, df, req_stats=["default"])
lrk
delta(a,b) = abs(a-b) ≈ 0. ? 0. : abs(a-b)
println("Wangler 2 - LRK")
println(string("delta B0 ", delta(1., lrk.coefs[1])))
println(string("delta B1 ", delta(0.1, lrk.coefs[2])))
println(string("delta B2 ", delta(0.100000000000000E-01, lrk.coefs[3])))
println(string("delta B3 ", delta(0.100000000000000E-02, lrk.coefs[4])))
println(string("delta B4 ", delta(0.100000000000000E-03, lrk.coefs[5])))
println(string("delta B5 ", delta(0.100000000000000E-04, lrk.coefs[6])))
println(string("delta std err B0 ", delta(0., lrk.stderrors[1])))
println(string("delta std err B1 ", delta(0., lrk.stderrors[2])))
println(string("delta std err B2 ", delta(0., lrk.stderrors[3])))
println(string("delta std err B3 ", delta(0., lrk.stderrors[4])))
println(string("delta std err B4 ", delta(0., lrk.stderrors[5])))
println(string("delta std err B5 ", delta(0., lrk.stderrors[6])))
println(string("delta resid std dev ", delta(0., lrk.RMSE)))
println(string("delta R2 ", delta(1., lrk.R2)))
using GLM
println("Wangler 2 - GLM")
lr = GLM.lm(f, df)
println(string("delta B0 ", delta(1., coef(lr)[1])))
println(string("delta B1 ", delta(0.1, coef(lr)[2])))
println(string("delta B2 ", delta(0.100000000000000E-01, coef(lr)[3])))
println(string("delta B3 ", delta(0.100000000000000E-02, coef(lr)[4])))
println(string("delta B4 ", delta(0.100000000000000E-03, coef(lr)[5])))
println(string("delta B5 ", delta(0.100000000000000E-04, coef(lr)[6])))
println(string("delta std err B0 ", delta(0., stderror(lr)[1])))
println(string("delta std err B1 ", delta(0., stderror(lr)[2])))
println(string("delta std err B2 ", delta(0., stderror(lr)[3])))
println(string("delta std err B3 ", delta(0., stderror(lr)[4])))
println(string("delta std err B4 ", delta(0., stderror(lr)[5])))
println(string("delta std err B5 ", delta(0., stderror(lr)[6])))
println(string("delta resid std dev ", delta(0., deviance(lr)/dof_residual(lr))))
println(string("delta R2 ", delta(1., r2(lr))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment