2017-09-23 11 views

Antwort

2

poly Üben verwendet Orthogonalpolynome durch Standard. Wenn Sie poly(..., 2, raw = TRUE) verwenden, verwendet es rohe Polynome, in welchem ​​Fall die Ergebnisse gleich sind.

Wenn Sie die standardmäßigen orthogonalen Polynome verwenden, gibt das Modell, obwohl es das Modell anders parametrisiert, dieselben Vorhersagen. Das heißt, fitted(lm(...)) wird für beide Modelle gleich sein.

library(ISLR) 

fo1 <- mpg ~ horsepower + I(horsepower^2) 
fo2 <- mpg ~ poly(horsepower, 2) 
fo3 <- mpg ~ poly(horsepower, 2, raw = TRUE) 

fm1 <- lm(fo1, Auto) 
fm2 <- lm(fo2, Auto) 
fm3 <- lm(fo3, Auto) 

all.equal(coef(summary(fm1)), coef(summary(fm3)), check.attributes = FALSE) 
## [1] TRUE 

all.equal(fitted(fm1), fitted(fm2)) 
## [1] TRUE 

all.equal(fitted(fm1), fitted(fm3)) 
## [1] TRUE 

Die Diskussion hier kann hilfreich sein: What does the R function `poly` really do?

Verwandte Themen