Dominance stochastique, ordre 1 ou ordre 2 ?

Mercredi dernier, on commençait le cours avec une présentation rapide du test de Wilcoxon-Mann-Whitney (parfois appelé test de la somme des rangs, de Wilcoxon). Ce test a été proposé par Frank Wilcoxon en 1945, et (presque en même temps) par Henry Mann et Donald Whitney (en 1947), dans un article intitulé On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other. Le titre est clair. Ce test (non paramétrique) a vocation à tester l’hypothèse selon laquelle la distribution dans deux échantillons est la même. Ou, pour reprendre les notations du derniers billets, la distribution est la même dans deux groupes.

Autrement dit, on va chercher à tester, ici, https://latex.codecogs.com/gif.latex?H_0:F=G, au sens où https://latex.codecogs.com/gif.latex?H_0:\forall%20x,F(x)=G(x). Dans le test de Kolmogorov Smirnov, l’hypothèse alternative est https://latex.codecogs.com/gif.latex?H_1:\exists%20x,F(x)\neq%20G(x).

Ici, comme le notent d’ailleur Mann et Whitney, “the test is shown to be consistent with respect to the class of alternatives https://latex.codecogs.com/gif.latex?F(x)%3EG(x) for every https://latex.codecogs.com/gif.latex?x“. Cette propriété est un peu particulière, et correspond à la notion de dominance stochastique à l’ordre 1. https://latex.codecogs.com/gif.latex?F\preceq_1%20Gcorrespond à https://latex.codecogs.com/gif.latex?F(x)\geq%20G(x) https://latex.codecogs.com/gif.latex?\forall%20x, ou encore, pour tout fonction https://latex.codecogs.com/gif.latex?u(\cdot) croissante, si https://latex.codecogs.com/gif.latex?\mathbb{E}[u(X)]\leq\mathbb{E}[u(Y)] avec https://latex.codecogs.com/gif.latex?X\sim%20F et https://latex.codecogs.com/gif.latex?Y\sim%20G.

Mais regardons un peu le test. On considère deux populations https://latex.codecogs.com/gif.latex?\boldsymbol{x}=\{x_1,\cdots,x_{n_x}\} et https://latex.codecogs.com/gif.latex?\boldsymbol{y}=\{y_1,\cdots,y_{n_y}\}. L’idée est de réordonner les https://latex.codecogs.com/gif.latex?(n_x%20+%20n_y) éléments de https://latex.codecogs.com/gif.latex?\boldsymbol{z}=\boldsymbol{x}\cup\boldsymbol{y} par ordre croissant. On note https://latex.codecogs.com/gif.latex?\boldsymbol{r} le vecteur des rangs associés. Soit https://latex.codecogs.com/gif.latex?S_x la somme des https://latex.codecogs.com/gif.latex?n_x (premiers) rangs des éléments de https://latex.codecogs.com/gif.latex?\boldsymbol{x}, i.e. https://latex.codecogs.com/gif.latex?S_x=r_1+\cdots+r_{n_x}.

Comme l’ont montré Wilcoxon, Mann et Whitney, sous https://latex.codecogs.com/gif.latex?H_0, https://latex.codecogs.com/gif.latex?S_x suit une “loi connue”, où classiquement, “connue” veut dire tabulée pour de petits échantillons, et pour des échantillons plus grands.

Histoire d’illustrer, considerons deux échantillons, tirés suivant deux lois https://latex.codecogs.com/gif.latex?F et https://latex.codecogs.com/gif.latex?G avec https://latex.codecogs.com/gif.latex?F\preceq_1%20G, par exemple deux lois normales de moyennes différentes (et de même variance)

> u=seq(-3,4,length=251)
> plot(u,pnorm(u,0,1),col="red",type="l")
> lines(u,pnorm(u,.5,1),col="darkblue")

Effectivement, nos deux fonctions de répartition sont ordonnées, et on est bien dans une situation de dominance stochastique à l’ordre 1. Les densité sont ici

>plot(u,dnorm(u,0,1),col="red",type="l")
>lines(u,dnorm(u,.5,1),col="darkblue")

On peut générer 10,000 paires d’échantillons, de taille 100 (respectivement), et regarder la distribution de https://latex.codecogs.com/gif.latex?S_x (et celle de https://latex.codecogs.com/gif.latex?S_y).

> P=matrix(NA,1e4,3)
> for(i in 1:1e4){
+  x=c(rnorm(100,0,1),rnorm(100,.5,1))
+  P[i,1:2]=c(sum(rank(x)[1:100]),sum(rank(x)[101:200]))
+  x0=c(rnorm(100,0,1),rnorm(100,0,1))
+  P[i,3]=  sum(rank(x0)[1:100])
+}
> plot(density(P[,1]),col="red"))
> lines(density(P[,2]),col="darkblue")
> lines(density(P[,3]),lty=2)

Sous https://latex.codecogs.com/gif.latex?H_0, la somme aurait eu la distribution avec les pointillés. On en est manifestement assez loin, autrement dit, on va rejeter ici l’hypothèse de lois égales, https://latex.codecogs.com/gif.latex?H_0:F=G.

Intuitivement, c’est normal, car effectivement, les rangs dans un cas sont – en moyenne – plus faibles que pour l’autre,

Au lieu de simuler des lois dominées, à l’ordre 1, on peut tenter des lois dominées à l’ordre 2. Rappelons que https://latex.codecogs.com/gif.latex?F\preceq_2%20G signifie

https://latex.codecogs.com/gif.latex?\int_{-\infty}^x%20F(t)dt%20\geq\int_{-\infty}^x%20G(t)dt,\forall%20x

ou encorehttps://latex.codecogs.com/gif.latex?\mathbb{E}[u(X)]\leq\mathbb{E}[u(Y)]

avec https://latex.codecogs.com/gif.latex?X\sim%20F et https://latex.codecogs.com/gif.latex?Y\sim%20G. où https://latex.codecogs.com/gif.latex?u(\cdot) est unne fonction croissante et concave.

En gestion des risques (ou sur les inégalités), on va supposer en plus que https://latex.codecogs.com/gif.latex?\mathbb{E}[X]=\mathbb{E}[Y], ce qui correspond à une notion de “mean preserving spread” (on peut relire le document sur la notion de
single crossing, par Alain Chateauneuf). Une caractérisation est

https://latex.codecogs.com/gif.latex?\mathbb{E}[u(X)]\leq\mathbb{E}[u(Y)]https://latex.codecogs.com/gif.latex?X\sim%20F et https://latex.codecogs.com/gif.latex?Y\sim%20G. où https://latex.codecogs.com/gif.latex?u(\cdot) est concave. Une caractérisation alternative est https://latex.codecogs.com/gif.latex?Y=X+\varepsilon avec https://latex.codecogs.com/gif.latex?\mathbb{E}[\varepsilon\vert%20X]=0 (on pourra relire Rothschild et Stiglitz, Increasing Risk: A Definition)

Dans le cas des lois normales, on a cette notion de ‘mean preserving spread’ lorsque les moyennes sont identiques, mais pas les variances. On a alors plus de dispersion,

> u=seq(-4,4,length=251)
> plot(u,pnorm(u,0,1),col="red",type="l")
> lines(u,pnorm(u,0,1.5),col="darkblue")

Effectivement, nos deux fonctions de répartition sont ordonnées, et on est bien dans une situation de dominance stochastique à l’ordre 2, avec du single crossing. Les densités sont ici

> plot(u,dnorm(u,0,1),col="red",type="l")
> lines(u,dnorm(u,0,1.5),col="darkblue")

On peut générer 10,000 paires d’échantillons, de taille 100 (respectivement), et regarder la distribution de https://latex.codecogs.com/gif.latex?S_x (et celle de https://latex.codecogs.com/gif.latex?S_y).

> P=matrix(NA,1e4,3)
> for(i in 1:1e4){
+  x=c(rnorm(100,0,1),rnorm(100,0,1.5))
+  P[i,1:2]=c(sum(rank(x)[1:100]), sum(rank(x)[101:200]))
+  x0=c(rnorm(100,0,1),rnorm(100,0,1))
+  P[i,3]=  sum(rank(x0)[1:100])
+}
> plot(density(P[,1]),col="red"))
> lines(density(P[,2]),col="darkblue")
> lines(density(P[,3]),lty=2)

Autrement dit, ici les sommes des rangs sont identiques, avec les deux échantillons,  et donc on aura tendance à accepter ici l’hypothèse de lois égales, https://latex.codecogs.com/gif.latex?H_0:F=G. L’idée naturelle est que avec les dans le premiers cas, effectivement, on avait plus de petits rangs avec le petit échantillon. Mais plus ici: le fait d’avoir plus de dispersion fait qu’on a en même temps plus de petits, et plus de grands. Et en moyenne, ça ne change rien


2 thoughts on “Dominance stochastique, ordre 1 ou ordre 2 ?”

Leave a Reply

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