Tests basés sur la vraisemblance – Wald

Petit rappel préliminaire. Si on dispose d’un échantillon , i.id de loi , où le paramètre  est inconnu, alors on peut calculer le maximum de la vraisemblance, ce qui nous donnera un estimateur intéressant (cf. cours de stat). Illustrons avec un jeu de pile ou face. Reprenons l’échantillon de mon précédent billet,

> X=c(0, 0, 1, 1, 0, 1, 1, 1, 1, 0,
      0, 0, 1, 0, 1, 0, 1, 1, 0, 1)

On peut ici tracer la fonction de vraisemblance

ou (un peu plus malin) la fonction de log-vraisemblance

> p=seq(0,1,by=.01)
> logL=function(p)
+ {sum(log(dbinom(X,size=1,prob=p)))}
> plot(p,Vectorize(logL)(p),
+ type="l",col="red",lwd=2)
> p0=.5
> abline(v=p0,col="blue")

La valeur correspondant au trait bleu correspondant au cas que l’on va chercher à tester, de pièce non pipée, soit  (de manière très générale)

Si on va chercher le maximum de la vraisemblance, on obtient (il faut changer de signe car R a tendance à chercher des minimums, et pas des maximums)

> neglogL=function(p){-sum(log(dbinom(X,size=1,prob=p)))}
> optim(fn=neglogL,par=p0,method="BFGS")
$par
[1] 0.5499996

$value
[1] 13.76278

Bref le maximum de la vraisemblance semble être atteint quand  vaut 0.55. Comme par hasard, on notera que c’est la moyenne de mon échantillon, et effectivement, dans le cas d’une variable de Bernoulli, le maximum de vraisemblance est l’estimateur des moments.

Si on va un peu plus loin, on a deux quantités importantes quand on manipule la fonction de vraisemblance. La première est le score, qui est la pente de la log-vraisemblance,

On peut utiliser un propriété de R, qui peut – à l’occasion – faire un peu de calcul formel.

> p=NULL
> n=20
> nx=sum(X==1)
> f = expression(nx*log(p)+(n-nx)*log(1-p))
> Df = D(f, "p")

Si on calcule le score en , comme on s’y attend,

> p=.55
> eval(Df)
[1] 0

alors qu’en , on a

> p=p0
> eval(Df)
[1] 4

On peut d’ailleurs visualiser l’évolution de cette fonction,

> p=seq(0,1,by=.01)
> score=eval(Df)
> plot(p,score,type="l",col="red",lwd=2)
> abline(v=p0,col="blue")

L’autre quantité presque plus importante, c’est la dérivée seconde (ou la Hessienne en dimension plus grande)

Par exemple en ,

prend la valeur

> Df2 = D(Df, "p")
> p=p0
> -eval(Df2)
[1] 80

Revenons maintenant aux propriétés du maximum de vraisemblance. Moyennant quelques hypothèses techniques, on a le comportement asymptotique suivant

ou encore, en posant  (cf. cours sur l’information de Fisher, c’est d’ailleurs cette dernière valeur que l’on a calculée, numériquement)

Sous l’hypothèse , on devrait donc avoir

soit (puisqu’on a ici un paramètre univarié)

D’un point de vue heuristique, cela signifie que si je pouvais lancer plusieurs fois des pièces que je sais non-pipées, je devrais pouvoir générer un échantillon de loi normale centrée et réduite. Essayons pour voir

> lancer=matrix(sample(0:1,size=20*1000,
+ replace=TRUE),nrow=1000)
> xbar=apply(lancer,1,mean)
> hist(sqrt(800)*(xbar-p0),
+ breaks=seq(-4,4,by=.5),probability=TRUE)

Bon, je l’admets, ce n’est pas super Gaussien… mais en fait, c’est juste que la normalité est asymptotique, et ici, on fait seulement 20 lancers. Si on en fait 10 fois plus,

> lancer=matrix(sample(0:1,size=20*10*10000,
+ replace=TRUE),nrow=10000)
> xbar=apply(lancer,1,mean)
> hist(sqrt(80*10)*(xbar-p0),
+ breaks=seq(-4,4,by=.5),probability=TRUE)

c’est mieux, non ?

Maintenant, allons un peu plus loin pour présenter les trois tests classiques construits autour de la vraisemblance. Mais deux résultats importants avant d’aller plus loin. Le premier est la delta-methode, qui repose juste sur un développement de Taylor. L’idée est que si on a une fonction  suffisemment régulière, alors

Le second est lié à un résultat évoqué dans un précédant billet, qui nous permet d’écrire (en supposant que  soit inversible) que

En fait, compte tenu des propriétés de convergence de , on peut aussi écrire

Pour des paramètres unidimensionnels, on dit juste que si

https://latex.codecogs.com/gif.latex?\sqrt{n}[\widehat{\theta}_n-\theta_\star]\overset{\mathcal{L}}{\rightarrow}\mathcal{N}(0,\sigma^2)

(avec une notation plus standard car dans les notations précédantes, la taille de l’échantillon était cachée dans la matrice d’information de Fisher), alors

https://latex.codecogs.com/gif.latex?\sqrt{n}[g(\widehat{\theta}_n)-g(\theta_\star)]\overset{\mathcal{L}}{\rightarrow}\mathcal{N}(0,\sigma^2g%27(\theta_\star)^2)

C’est juste du développement de Taylor

https://latex.codecogs.com/gif.latex?[g(\widehat{\theta}_n)-g(\theta_\star)]=g%27(\theta_\star)[\widehat{\theta}_n-\theta_\star]+\cdots

A condition toutefois que https://latex.codecogs.com/gif.latex?g%27(\theta_\star)\neq%200. Sinon, il faut aller un cran plus loin dans le développement,

https://latex.codecogs.com/gif.latex?[g(\widehat{\theta}_n)-g(\theta_\star)]=\frac{g%27%27(\theta_\star)}{2}[\widehat{\theta}_n-\theta_\star]^2+\cdots

et dans ce cas, au lieu d’avoir une loi normale, à droite, on a une loi du chi-deux,

https://latex.codecogs.com/gif.latex?\frac{n\cdot%20[\widehat{\theta}_n-\theta_\star]^2}{\sigma}\overset{\mathcal{L}}{\rightarrow}\chi^2(1)

de telle sorte que

https://latex.codecogs.com/gif.latex?\sqrt{n}[g(\widehat{\theta}_n)-g(\theta_\star)]\overset{\mathcal{L}}\rightarrow\frac{\sigma^2\cdot%20g%27%27(\theta_\star)}{2}\chi^2(1)

Avec ces propriétés, on peut enfin faire des tests. En particulier pour tester des hypothèses simple, du genre

 contre  

Le premier test que l’on  a vu est le test de Wald.

L’idée est d’utiliser la statistique de test suivante

car on sait que sous ,

Lançons_nous. Le calcul est très simple

> Df2 = D(Df, "p")
> p=p0
> IF=-eval(Df2)
> Tobs=(nx/n-p0)*IF*(nx/n-p0)
> Tobs
[1] 0.2

On peut alors calculer la p-value, en calculant la probabilité qu’une loi du chi-deux à un degré de libeté (on a un paramètre unidimensionnel) dépasse cette value

> 1-qchisq(Tobs,df=1)
[1] 0.9358152

que l’on peut visualiser sur le dessin

Bon, demain, on poursuit avec le test du rapport de vraisemblance, où on va utiliser la continuité de la log-vraisemblance…


OpenEdition suggests that you cite this post as follows:
Arthur Charpentier (October 22, 2014). Tests basés sur la vraisemblance – Wald. Freakonometrics. Retrieved September 16, 2024 from https://doi.org/10.58079/ouxe


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.