J'essaie d'estimer les trois paramètres a, b0 et b1 avec la fonction optim()
. Mais j'obtiens toujours l'erreur: Erreur dans optim (par = c (1, 1, 1), fn = logweibull, méthode = "L-BFGS-B",: L-BFGS-B a besoin de valeurs finies de 'fn 'R optim() L-BFGS-B a besoin de valeurs finies de 'fn' - Weibull
t<-c(6,6,6,6,7,9,10,10,11,13,16,17,19,20,22,23,25,32,32,34,35,1,1,2,2,3,4,4,5,5,8,8,8,8,11,11,12,12,15,17,22,23)
d<-c(0,1,1,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
X<-c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
logweibull <- function (a,b0,b1) {a <- v[1];b0 <- v[2]; b1 <- v[3];
sum (d*log(t^a*exp(b0+X*b1)-t^a*exp(b0+X*b1))) + sum (d + log((a*t^(a-1))/t^a)) }
v<-c(1,1,1)
optim(par=c(1,1,1) ,fn = logweibull, method = "L-BFGS-B",lower = c(0.1, 0.1,0.1), upper = c(100, 100,100),control = list(fnscale = -1))
pouvez-vous me aider? savez-vous ce que je fait de mal?
'logweibull <- function (a, b0, b1) {a <- v [1]; b0 <- v [2]; b1 <- v [3]; sum (d * log (t^a * exp (b0 + X * b1)) - t^a * exp (b0 + X * b1)) + somme (d * log ((a * t^(a-1))/t^a))} 'Merci, il y a eu une erreur et il manque des parenthèses. Mais maintenant, la fonction ne fonctionne toujours pas correctement. Je vais récupérer seulement les valeurs de départ en tant que paramètres estimés. Avez-vous une idée de ce qui ne va pas? – Hans