Vendredi, nous devrions aborder un peu la problématique des tests asymptotiques. Avant, rappelons que l'estimateur du maximum de vraisemblance
de
vérifie la propriété asymptotique suivante.

une suite de vecteurs aléatoires telle que
où
. Alors

(pour un paramètre univarié, ça sera alors ).
Mais ce résultat n'est intéressant que si
est connue. En fait, si on a la suite des variances vérifie
, alors



> set.seed(1)
> n=20
> X=sample(0:1,size=n,replace=TRUE)
> p=seq(0,1,by=.01)
> logL=function(p){sum(log(dbinom(X,size=1,prob=p)))}
> LL=sapply(p,logL)
> plot(p,LL,type="l",col="red",lwd=2)
> p0=.5
> points(p0,logL(p0),pch=3,cex=1.5,lwd=2)
> abline(v=p0,lty=2)
On a alors 20 tirages de pile ou face, on a obtenu 11 piles, et on se demande si la pièce est "juste".
Mais avant toute chose, commençons par calculer l'estimateur du maximum de vraisemblance, ainsi que le score et l'information de Fisher. Dans ce modèle de variables de Bernoulli, on connaît des formes explicites de ces quantités. Mais ici, on va utiliser la méthode la plus générale qui soit, i.e. on va maximiser la log-vraisemblance, puis on va calculer le score et l'information de Fisher à la valeur de
que l'on souhaite tester.
> neglogL=function(p){-sum(log(dbinom(X,size=1,prob=p)))}
> pml=optim(fn=neglogL,par=p0,method="BFGS")$par
Warning messages:
1: In dbinom(x, size, prob, log) : NaNs produced
2: In dbinom(x, size, prob, log) : NaNs produced
> nx=sum(X==1)
> f = expression(nx*log(p)+(n-nx)*log(1-p))
> Df = D(f, "p")
> Df2 = D(Df, "p")
> p=p0
> score=eval(Df)
> (IF=-eval(Df2))
[1] 80
> 1/(p0*(1-p0)/n)
[1] 80
On note que l'information de Fisher calculée par double différenciation de la log-vraisemblance est identique à la formule analytique. Pour rappels, on a

Trois tests (équivalent asymptotiquement comme on le verra en cours) sont alors possibles.
Tout d'abord le test de Wald propose de travailler sur la différence
entre l'estimateur du maximum de vraisemblance, et la valeur que l'on cherche à tester (comme le montre le dessin ci-dessous). Cette différence doit être "petite" si
est la vraie valeur.
On peut alors utiliser la statistique suivante

est la vraie valeur, vers une loi du chi-deux.
> alpha=0.05
> (T=(pml-p0)^2*IF)
[1] 0.1999970
> T<qchisq(1-alpha,df=1)
[1] TRUE
Ici, on accepte l'hypothèse que la pièce n'est pas pipée.
Ensuite le test du rapport de vraisemblance propose de travailler sur
les valeurs de la log-vraisemblance. Là encore, cette différence doit être "petite"
si
est la vraie valeur. Graphiquement, on mesure une distance normalisée

La statistique est celle d'un test bilatéral,


est la vraie valeur, vers une loi du chi-deux.
> (T=2*(logL(pml)-logL(p0)))
[1] 0.2003347
> T<qchisq(1-alpha,df=1)
[1] TRUE
Là encore, on accepte l'hypothèse que la pièce n'est pas pipée.
Enfin, le test du score propose de
travailler sur la pente de la log-vraisemblance en
. Cette pente doit être "petite"
si
est la vraie valeur.


est la vraie valeur, vers une loi du chi-deux.
> (T=slope^2/IF)
[1] 0.2
> T<qchisq(1-alpha,df=1)
[1] TRUE
Et le test accepte ici encore l'hypothèse que la pièce n'est pas pipée.






