Hi all, I’m trying to reproduce some R code. Can someone help me figure out why the difference in these polynomial regressions is so different between Julia and R? Yes, a 9th order polynomial fit is not practical; I’m trying to reproduce a figure from an R-based textbook.
Julia:
using RDatasets, DataFrames
using GLM
mcycle = dataset("MASS", "mcycle")
lm = fit(LinearModel, @formula(Accel ~ Times + Times^2 + Times^3 + Times^4 + Times^5 + Times^6 + Times^7 + Times^8 + Times^9), mcycle)
Gives
Accel ~ 1 + Times + :(Times ^ 2) + :(Times ^ 3) + :(Times ^ 4) + :(Times ^ 5) + :(Times ^ 6) + :(Times ^ 7) + :(Times ^ 8) + :(Times ^ 9)
Coefficients:
────────────────────────────────────────────────────────────────────────────────────────
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
────────────────────────────────────────────────────────────────────────────────────────
(Intercept) 0.0 NaN NaN NaN NaN NaN
Times 0.0 NaN NaN NaN NaN NaN
Times ^ 2 0.0 NaN NaN NaN NaN NaN
Times ^ 3 0.0 NaN NaN NaN NaN NaN
Times ^ 4 0.0 NaN NaN NaN NaN NaN
Times ^ 5 0.0 NaN NaN NaN NaN NaN
Times ^ 6 0.0 NaN NaN NaN NaN NaN
Times ^ 7 3.64577e-10 1.39406e-9 0.26 0.7941 -2.3934e-9 3.12255e-9
Times ^ 8 -1.3951e-11 5.54462e-11 -0.25 0.8017 -1.23645e-10 9.57425e-11
Times ^ 9 1.33146e-13 5.48143e-13 0.24 0.8085 -9.51289e-13 1.21758e-12
────────────────────────────────────────────────────────────────────────────────────────
Whereas in R we have:
> library(MASS)
> data(mcycle)
> lm(accel ~ poly(times, 9), data = mcycle)
Call:
lm(formula = accel ~ poly(times, 9), data = mcycle)
Coefficients:
(Intercept) poly(times, 9)1 poly(times, 9)2 poly(times, 9)3
-25.546 164.557 131.227 -239.790
poly(times, 9)4 poly(times, 9)5 poly(times, 9)6 poly(times, 9)7
-6.738 245.799 -83.906 -153.596
poly(times, 9)8 poly(times, 9)9
163.064 31.879