【问题标题】:Different result from the same regression相同回归的不同结果
【发布时间】:2018-03-04 23:55:17
【问题描述】:

为什么我会得到不同的结果

summary(lm(mpg~horsepower + I(horsepower^2),data = Auto))$coef

summary(lm(mpg∼poly(horsepower,2) ,data=Auto))$coef

PS:我正在练习ISLR的实验室

【问题讨论】:

    标签: r glm lm


    【解决方案1】:

    poly 默认使用正交多项式。如果您使用poly(..., 2, raw = TRUE),它将使用原始多项式,在这种情况下,结果是相同的。

    如果您使用默认的正交多项式,那么尽管它对模型进行了不同的参数化,但模型仍然给出了相同的预测。也就是说,fitted(lm(...)) 对于您的两个模型都是相同的。

    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
    

    这里的讨论可能会有所帮助:What does the R function `poly` really do?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多