Je cherche à estimer deux paramètres dans une fonction de log-vraisemblance, lambda et alpha :
Code : Tout sélectionner
lv <- function ( beta, lambda, alpha, D, C, Z ){
phi <- exp ( alpha ) / ( 1 + exp ( alpha ))
FR <- ( 1 - exp ( - lambda * C ) )^exp ( beta * Z )
return ( sum ( D * ( log ( phi ) + log ( FR ) ) + ( 1 - D ) * log ( 1 - phi * FR )))}
Mais la fonction optim est loin de me donner toujours des estimations correctes, et ce, peu importe la méthode choisie.
Code : Tout sélectionner
optim ( c ( 0.01, 0 ), function ( x ) - lv (0, x[1], x[2], evenement, datvisite, covariable ), method ="L-BFGS-B", lower = c ( 10e-7,-10 ), upper = c ( 5,10 ) )
Je ne comprends pas pourquoi cela ne fonctionne pas.
Ici, https://mon-partage.fr/f/LeCyDckU/ se trouve un fichier d'exemple où la première colonne est la variable datvisite, la seconde colonne est la variable covariable tandis que la troisième colonne est la variable evenement. x[1] devrait être égal à 0,5 et x[2] à -1,35.
Mais optim estime x[1] à 5489 ! ( x[2] est bien estimé ).
J'ai essayé la fonction nlm sans plus de succès.
Que pourrais je faire pour estimer mes paramètres ?
Merci d'avance pour toute aide !!
Flora