[R] Polynomial regression help

Rolf Turner r.turner at auckland.ac.nz
Tue Aug 19 05:32:20 CEST 2008


On 19/08/2008, at 12:55 PM, ascentnet wrote:

>
> I have a simple X, Y data frame that I am trying to run regression  
> analysis
> on.  The linear regression looks great, but when I use lm(formula =  
> y ~
> poly(x, degree = 5)) I get the same coeffecients.  So for example  
> if I use
> degree =3 my formula would look like y = 4.2 x^3 + 3.2x^2 + 2.1x +  
> 1.0 and
> my degree 5 would look like y = 6.5x^5+ 5.4x^4 + 4.2 x^3 + 3.2x^2 +  
> 2.1x +
> 1.0, which doesn't make sense to me.
>
> I was wondering if someone knew what I was doing wrong or if this is
> correct?

This is correct.  By default the syntax you use gives *orthogonal*  
polynomial
regression.  You are misinterpreting the coefficients of the fit.   
You actually
have, in the first instance

	``y = 4.2 p_3 + 3.2 p_2 + 2.1 p1 + 1.0''

where p_1, p_2, p_3 are orthogonal polynomials of degree 1, 2, and 3  
respectively.
They are *NOT* equal to x, x^2, and x^3.

Try:

	> m <- cbind(1,poly(1:10,3))
	> round(t(m)%*%m,digits=8)

If you don't want orthogonal polynomials, use e.g. poly 
(x,degree=3,raw=TRUE).

	cheers,

		Rolf Turner

######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}



More information about the R-help mailing list