ltracy
2009-Jun-15 14:19 UTC
[R] how to interpret coefficients for a natural spline smooth function in a GLM
Hello- I am trying to model infections counts over 120 months using a GLM in R. The model is simple really including a factor variable for year (10 yrs in total) and another variable consisting of a natural spline function for time in months. My code for the GLM is as follows: model1<-glm(ALL_COUNT~factor(FY)+ns(1:120, 10), offset=log(TOTAL_PTS), family=poisson, data=TS1) The summary output pertaining to the smooth function consists of 10 coefficients for each df in the model. Here are the coefficients: ns(1:120, 10)1 -0.72438 0.32773 -2.210 0.027084 * ns(1:120, 10)2 -1.19097 0.37492 -3.177 0.001490 ** ns(1:120, 10)3 -1.40250 0.42366 -3.310 0.000931 *** ns(1:120, 10)4 -0.82722 0.47459 -1.743 0.081334 . ns(1:120, 10)5 -0.46139 0.49657 -0.929 0.352812 ns(1:120, 10)6 -0.44892 0.51909 -0.865 0.387137 ns(1:120, 10)7 -0.53060 0.54783 -0.969 0.332778 ns(1:120, 10)8 -0.25699 0.55582 -0.462 0.643814 ns(1:120, 10)9 -0.74091 0.63899 -1.160 0.246249 ns(1:120, 10)10 0.41142 0.56317 0.731 0.465054 What is still unclear to me is what these 10 coefficients from the natural spline represent. Thanks in advace- -- View this message in context: http://www.nabble.com/how-to-interpret-coefficients-for-a-natural-spline-smooth-function-in-a-GLM-tp24035485p24035485.html Sent from the R help mailing list archive at Nabble.com.
David Winsemius
2009-Jun-15 16:17 UTC
[R] how to interpret coefficients for a natural spline smooth function in a GLM
Plot the predictions; you can almost never interpret the coefficients of a spline fit individually. They are not really independent or separately interpretable. Is this homework? -- David On Jun 15, 2009, at 10:19 AM, ltracy wrote:> > Hello- > > I am trying to model infections counts over 120 months using a GLM > in R. > The model is simple really including a factor variable for year (10 > yrs in > total) and another variable consisting of a natural spline function > for time > in months. > > My code for the GLM is as follows: > model1<-glm(ALL_COUNT~factor(FY)+ns(1:120, 10), offset=log(TOTAL_PTS), > family=poisson, data=TS1) > > The summary output pertaining to the smooth function consists of 10 > coefficients for each df in the model. Here are the coefficients: > > ns(1:120, 10)1 -0.72438 0.32773 -2.210 0.027084 * > ns(1:120, 10)2 -1.19097 0.37492 -3.177 0.001490 ** > ns(1:120, 10)3 -1.40250 0.42366 -3.310 0.000931 *** > ns(1:120, 10)4 -0.82722 0.47459 -1.743 0.081334 . > ns(1:120, 10)5 -0.46139 0.49657 -0.929 0.352812 > ns(1:120, 10)6 -0.44892 0.51909 -0.865 0.387137 > ns(1:120, 10)7 -0.53060 0.54783 -0.969 0.332778 > ns(1:120, 10)8 -0.25699 0.55582 -0.462 0.643814 > ns(1:120, 10)9 -0.74091 0.63899 -1.160 0.246249 > ns(1:120, 10)10 0.41142 0.56317 0.731 0.465054 > > What is still unclear to me is what these 10 coefficients from the > natural > spline represent. > > Thanks in advace- > > > > > -- > View this message in context: http://www.nabble.com/how-to-interpret-coefficients-for-a-natural-spline-smooth-function-in-a-GLM-tp24035485p24035485.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.David Winsemius, MD Heritage Laboratories West Hartford, CT
spencerg
2009-Jun-28 01:49 UTC
[R] how to interpret coefficients for a natural spline smooth function in a GLM
I have not seen a reply to this question, so I will offer a comment; someone who knows more than I may correct or add to my comments. There are many different kinds of splines. Perhaps the most common are B-splines, which sum to 1 inside their range of definition and are 0 outside. Natural splines are similar, but support extrapolation outside the (finite) range of definition. A natural cubic spline extrapolates as straight lines (http://en.wikipedia.org/wiki/Spline_interpolation). The coefficients are weights for a B-spline basis for the natural spline, defined in terms of the knots. The "fda" package includes a "TaylorSpline" function to translate spline coefficients into the coefficients of Taylor expansions about the midpoints of the intervals between knots. However, I do not know if it will work with a natural spline. This is far from a complete answer to your question, but I hope it helps. Spencer Graves ltracy wrote:> Hello- > > I am trying to model infections counts over 120 months using a GLM in R. > The model is simple really including a factor variable for year (10 yrs in > total) and another variable consisting of a natural spline function for time > in months. > > My code for the GLM is as follows: > model1<-glm(ALL_COUNT~factor(FY)+ns(1:120, 10), offset=log(TOTAL_PTS), > family=poisson, data=TS1) > > The summary output pertaining to the smooth function consists of 10 > coefficients for each df in the model. Here are the coefficients: > > ns(1:120, 10)1 -0.72438 0.32773 -2.210 0.027084 * > ns(1:120, 10)2 -1.19097 0.37492 -3.177 0.001490 ** > ns(1:120, 10)3 -1.40250 0.42366 -3.310 0.000931 *** > ns(1:120, 10)4 -0.82722 0.47459 -1.743 0.081334 . > ns(1:120, 10)5 -0.46139 0.49657 -0.929 0.352812 > ns(1:120, 10)6 -0.44892 0.51909 -0.865 0.387137 > ns(1:120, 10)7 -0.53060 0.54783 -0.969 0.332778 > ns(1:120, 10)8 -0.25699 0.55582 -0.462 0.643814 > ns(1:120, 10)9 -0.74091 0.63899 -1.160 0.246249 > ns(1:120, 10)10 0.41142 0.56317 0.731 0.465054 > > What is still unclear to me is what these 10 coefficients from the natural > spline represent. > > Thanks in advace- > > > > >
Frank E Harrell Jr
2009-Jun-28 13:28 UTC
[R] how to interpret coefficients for a natural spline smooth function in a GLM
spencerg wrote:> I have not seen a reply to this question, so I will offer a > comment; someone who knows more than I may correct or add to my comments. > > There are many different kinds of splines. Perhaps the most common > are B-splines, which sum to 1 inside their range of definition and are 0 > outside. Natural splines are similar, but support extrapolation outside > the (finite) range of definition. A natural cubic spline extrapolates > as straight lines (http://en.wikipedia.org/wiki/Spline_interpolation).The rcs function in the Design package implements this kind of natural spline which I usually call a restricted cubic spline. The Function and latex.Design functions in the Design package reformat the fitted regression equation into a more interpretable form. Frank> > The coefficients are weights for a B-spline basis for the natural > spline, defined in terms of the knots. > > The "fda" package includes a "TaylorSpline" function to translate > spline coefficients into the coefficients of Taylor expansions about the > midpoints of the intervals between knots. However, I do not know if it > will work with a natural spline. > > This is far from a complete answer to your question, but I hope it > helps. > > Spencer Graves > > ltracy wrote: >> Hello- >> >> I am trying to model infections counts over 120 months using a GLM in >> R. The model is simple really including a factor variable for year (10 >> yrs in >> total) and another variable consisting of a natural spline function >> for time >> in months. >> My code for the GLM is as follows: >> model1<-glm(ALL_COUNT~factor(FY)+ns(1:120, 10), offset=log(TOTAL_PTS), >> family=poisson, data=TS1) >> >> The summary output pertaining to the smooth function consists of 10 >> coefficients for each df in the model. Here are the coefficients: >> >> ns(1:120, 10)1 -0.72438 0.32773 -2.210 0.027084 * ns(1:120, >> 10)2 -1.19097 0.37492 -3.177 0.001490 ** ns(1:120, 10)3 >> -1.40250 0.42366 -3.310 0.000931 *** >> ns(1:120, 10)4 -0.82722 0.47459 -1.743 0.081334 . ns(1:120, >> 10)5 -0.46139 0.49657 -0.929 0.352812 ns(1:120, 10)6 >> -0.44892 0.51909 -0.865 0.387137 ns(1:120, 10)7 -0.53060 >> 0.54783 -0.969 0.332778 ns(1:120, 10)8 -0.25699 0.55582 >> -0.462 0.643814 ns(1:120, 10)9 -0.74091 0.63899 -1.160 >> 0.246249 ns(1:120, 10)10 0.41142 0.56317 0.731 0.465054 >> What is still unclear to me is what these 10 coefficients from the >> natural >> spline represent. >> Thanks in advace- >> >> >>-- Frank E Harrell Jr Professor and Chair School of Medicine Department of Biostatistics Vanderbilt University