Ручное прогнозирование значений логистических функций - PullRequest
0 голосов
/ 07 марта 2019

После того, как я создал модель с использованием пакета 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 ).

Есть идеи? Здесь есть какая-то ошибка? Или, может быть, есть еще один способ извлечения формулы функции и коэффициентов из модели для прогнозирования значений вручную?

...