Je travaille sur un estimateur du maximum de vraisemblance, et l'un des paramètres est estimé en utilisant la fonction digamma. J'essaie d'utiliser uniroot pour résoudre l'équation mais je suis incapable de le faire. Voici mon code:Racines de la fonction digamma dans R
dig = function(alpha){
digamma(2 + alpha) - digamma(alpha) - (1/(2+alpha)) + (2/(2+alpha))
}
curve(dig, from = 0, to = 10)
uniroot(dig, lower = 0, upper = 10)
Ce produit l'erreur suivante:
Error in uniroot(dig, lower = 0, upper = 10) : f.lower = f(lower) is NA
In addition: Warning messages:
1: In digamma(alpha) : NaNs produced
2: In digamma(alpha) : NaNs produced
La première fait sorte de sens erreur basée sur la courbe, mais le second a me coincé. Il est tout à fait possible que je ne comprenne pas comment trouver les racines de la fonction digamma, ou qu'il y ait un paquet numérique (peut-être rootsolve?) Dans R qui pourrait aider. Je ne sais pas ce qu'il me manque ici, des conseils seraient appréciés. Merci!
'gamma (0)' est pas défini. – MichaelChirico
... et aussi 'dig (0)' renvoie 'NaN'. De la courbe, il est assez clair qu'il n'y a pas de racine dans l'intervalle (0,10), donc ne comprenez pas pourquoi vous utilisez 'uniroot' – nicola