После того, как я создал модель с использованием пакета 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 (и она есть, после того, как я нанесла значения из функции predict
).
Есть идеи? Здесь есть какая-то ошибка? Или, может быть, есть еще один способ извлечения формулы функции и коэффициентов из модели для прогнозирования значений вручную?