У меня возникла проблема с использованием nls()
для оценки параметров. У меня есть следующий набор функций для объяснения некоторых данных:
funk1 <- function(a,x) { x^2*exp(-(l*(1-exp(-r*a))/r)) }
funk2 <- function(x) { sapply(x, function (s)
{ integrate(funk1, lower = 0, upper = s, x=s)$value }) }
Я пытаюсь подогнать funk2
к y
:
y <- sort(runif(100, 0, 10^8))
Когда я использую nls()
:
nls(y ~ funk2(z1$days.post.bmt), data= z1, start=list(l=0.02, r=0.002), trace=T)
он показывает мне следующую ошибку:
Ошибка в f(x,...): объект 'l' не найден
Разве весь смысл nls()
не в том, чтобы подставить разные значения для параметров l
и r
из пространства параметров, чтобы подогнать функцию за счет минимизации SSR и дать оценки параметров? почему для работы ему нужно значение l
? Я определенно пропускаю что-то большое здесь. Пожалуйста помоги!
Заранее спасибо!