当公式 = y~exp(x) 时如何解释 lm() 系数?

问题描述

我使用 lm() 函数来获得指数曲线并且效果很好(公式是 y~exp(x))。 但我不明白如何手动使用系数?

我做 lm(y~exp(x)),提取系数: b = 截距 a = 系数

然后,如果我尝试使用以下命令“手动”进行预测: a * exp(x) + b 结果是错误的。

但是使用 predict() 它完全正常。所以我想我不明白 lm() 是如何做模型的?

编辑:只是混合了所有东西哈哈,效果很好。

解决方法

此代码表明您的方法应该有效:

    set.seed( 100 )

    x <- rnorm(10)
    y <- runif(10)

    m <- lm( y~exp(x) )

    cf <- coef(m)

    yp1 <- predict( m,newdata=data.frame(x=x) )
    yf <- fitted.values(m)

    stopifnot( max( abs(yp1 - yf) ) < 1e-10 )

    yp2 <- cf[1] + cf[2] * exp(x)

    stopifnot( max( abs(yp1 - yp2) ) < 1e-10 )

    cat( "Hi-Ho Silver - Away!\n" )