使用drc
程序包创建模型后:...
logistic <- drm(revenue ~ spend, data = data, fct = L.4(), type = "continuous")
...我可以在模型上使用predict
来提取预测值。但是,当我使用来自模型
drc
软件包文档编写相应的函数时,
b = all_models_subchannels$AdWords_GDN$fit$model$coefficient[1]
c = all_models_subchannels$AdWords_GDN$fit$model$coefficient[2]
d = all_models_subchannels$AdWords_GDN$fit$model$coefficient[3]
e = all_models_subchannels$AdWords_GDN$fit$model$coefficient[4]
x = 100
logistic4 <- function(x, b, c, d, e){
# There could be an error due to named numerics, as.numeric is just in case
b <- as.numeric(b)
c <- as.numeric(c)
d <- as.numeric(d)
e <- as.numeric(e)
z <- c+((d-c)/(1+exp(b*(log(x)-log(e)))))
return(as.numeric(z))
}
结果与predict
函数完全不同。例如,对于上面的x = 100
公式,我可以得到14.41,但是predict
函数可以给我8.59。
包装说明https://cran.r-project.org/web/packages/drc/drc.pdf
公式在第77页。
我看不到这里的错误,也没有将log(e)
更改为e
。
更重要的是-我使用logistic4
函数创建的所有值都会创建一个对数函数,但我知道应该有一个S样式函数(在我绘制了{{ 1}}函数)。
有什么想法吗?这里有什么错误吗?也许还有另一种方法可以从模型中提取函数公式和系数,以便手动预测值?