Comment maximiser le log de la vraisemblance ?

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Émeline Lequy
Messages : 7
Enregistré le : 22 Juin 2009, 08:17

Comment maximiser le log de la vraisemblance ?

Messagepar Émeline Lequy » 04 Déc 2009, 10:58

Bonjour,

En tant que débutant sur R, je cherche à maximiser une vraisemblance, dépendante de 5 paramètres. Le code ci-dessous risque de vous faire comprendre :

ML = function(x1,x2,x3,x4,x5) (-sum((((sla-x1*(dbh^x2)-x3*exp(-x4*age))^2)/((sigi*dbh^x5)^2)+log(2*pi)+log((sigi*dbh^x5)^2))))

Donc ça, c'est la fonction que je veux minimiser (ou maximiser si j'enlève le signe - devant le sum).

Une fois avoir défini cette fonction, j'utilise la fonction nlm, dans le but d'obtenir mes 5 paramètres (x1, x2, ...) qui minimise ma fonction.

donc je tape le code suivant, suivi de la réponse de R :

> nlm(ML,p=c(12,0.2,6,0.5,-1))
Erreur dans f(x, ...) :
l'élément 2 est vide ;
la partie de la liste d'arguments de '^' en cours d'évaluation était :
(dbh, x2)

J'ai du mal à comprendre ce qui ne va pas dans mon code...
Quelqu'un peut-il m'expliquer comment fonctionne cette fonction nlm (je n'ai pas trouvé de réponse compréhensible lors de mes recherches), si elle peut calculer ce que je lui demande et si non, quelle fonction le peut ?

Merci !
Émeline Lequy

Ingénieur ENSAIA / Doctorante INRA
INRA - Nancy

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 04 Déc 2009, 12:09

Bonjour,

si mes souvenirs sont bons nlm travaille avec une fonction qui a un seul argument du genre f(x,...). Essaie comme ceci :

Code : Tout sélectionner

ML <-  function(x){
  eval(parse(text=paste("x",1:5," <- x[",1:5,"]",sep="")))
-sum((((sla-x1*(dbh^x2)-x3*exp(-x4*age))^2)/((sigi*dbh^x5)^2)+log(2*pi)+log((sigi*dbh^x5)^2)))
 }

nlm(ML,p=c(12,0.2,6,0.5,-1))


Maxime

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Re: Comment maximiser le log de la vraisemblance ?

Messagepar Matthieu Lesnoff » 04 Déc 2009, 14:28

Émeline Lequy a écrit :Bonjour,

Quelqu'un peut-il m'expliquer comment fonctionne cette fonction nlm (je n'ai pas trouvé de réponse compréhensible lors de mes recherches)


Il y a un fichier exemple dans la section Scripts de ce forum


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité