Intervalles de confiance pour la médiane

9

J'ai une distribution d'échantillons avec un petit nombre de valeurs dans chacun (moins de ). J'ai calculé la médiane de chaque échantillon, que je veux comparer avec un modèle et obtenir la différence entre le modèle et la médiane de chaque échantillon. Pour avoir un résultat cohérent, j'ai besoin d'une erreur sur cette différence.10

Il en résulte que trouver l'écart type dans un tel cas peut être assez difficile, au moins pour un non-pro comme moi (voir par exemple ici ).

J'ai trouvé ce site Web qui explique comment calculer les intervalles de confiance pour la médiane, même s'il n'y a aucune référence officielle citée.

Cela me semble raisonnable, mais je ne peux pas vraiment juger, alors je voudrais savoir:

  1. ces formules sont-elles correctes?
  2. Il y a une référence pour ça?
  3. Et si je veux trouver un IC différent de ?95%

Merci d'avance

EDIT: J'ai également trouvé cet exemple de bootstrap pour des données non gaussiennes . Maintenant, je ne sais pas grand chose sur le bootstrap, mais il serait bon d'avoir une adresse sur sa validité.

Py-ser
la source
La distribution d'échantillonnage exacte d'un échantillon médian est dérivée à stats.stackexchange.com/questions/45124 . (Les distributions asymptotiques sont également données dans la plupart des réponses, mais il est peu probable qu'elles soient pertinentes ici.) Ni l'un ni l'autre n'est la même chose qu'un intervalle de confiance, bien que ....
whuber
@whuber, merci pour le lien, mais je ne peux pas attraper la relation. Pourriez-vous s'il vous plaît être un peu plus clair?
Py-ser
Pour trouver un intervalle de confiance (IC) pour un paramètre, à l'aide d'une statistique particulière, vous devez connaître la distribution d'échantillonnage de cette statistique. Ici, vous recherchez un IC pour la médiane de population (le paramètre) basé sur l'échantillon et vous posez une question spécifique concernant la médiane de l'échantillon (une statistique). (Le fil que je référence aborde cette dernière question.) Il est crucial de connaître la distribution exacte de cette statistique; on peut en déduire une procédure d'intervalle de confiance. Les résultats asymptotiques - sur lesquels votre propre référence est basée - risquent d'être de mauvaises approximations pour les petits échantillons.
whuber
La statistique est poissonienne. Mais je ne comprends pas encore: à quel résultat asymptotique faites-vous allusion? Ces formules sont-elles un cas particulier?
Py-ser
1
Je suppose que vous n'avez pas lu ma réponse dans ce fil , alors, car elle donne un résultat exact pour un nombre quelconque d'observations: "Ceci est une formule exacte pour la distribution de la médiane pour toute distribution continue."
whuber

Réponses:

14

Sommaire

Lorsque vous pouvez supposer peu ou rien de la vraie loi de probabilité et en déduire peu - ce qui est le cas pour de petits échantillons de observations - alors une paire de statistiques d'ordre convenablement choisie constituera un intervalle de confiance pour la médiane. Les statistiques d'ordre à choisir peuvent être facilement trouvées avec une analyse rapide de la distribution binomiale . Il y a quelques choix à faire dans la pratique: ils sont discutés et illustrés à la fin de ce post.n(n,1/2)

Par ailleurs, la même analyse peut être utilisée pour construire des intervalles de confiance pour tout quantile (dont la médiane, correspondant à , est un exemple). La distribution binomiale régit la solution dans ce cas.qq=50%(n,q)

introduction

Rappelez-vous ce que signifie un intervalle de confiance (IC). Le cadre est un échantillon aléatoire indépendant avec chaque régie par la même distribution . On suppose seulement que est un élément d'un ensemble de distributions possibles. Chacun d'eux a une médiane . Pour tout fixe entre et , un CI de niveau est une paire de fonctions (aka "statistiques"), et , telles queX=(X1,X2,,Xn)XiFFΩF1/2α01αLU

PrF(L(X)F1/2U(X))1α.

Le côté droit est la couverture de la CI pour la distribution .F

En plus: pour que cela soit utile, nous préférons également que (1) l'infimum des couvertures sur soit aussi petit que possible et (2) la longueur attendue de l'intervalle, , devrait avoir tendance à être court pour tous ou "la plupart" .FΩEF(U(X)L(X))FΩ

Une analyse

Supposons que nous n'assumions rien sur . Ω Dans cette situation, nous pouvons toujours exploiter les statistiques de commande . Ce sont les valeurs spécifiques de l'échantillon trié. Pour simplifier la notation, trions l'échantillon une fois pour toutes afin que

X1X2Xn.

La valeur est la statistique d'ordre de l'échantillon. Puisque nous ne supposons rien sur , nous ne savons rien sur au début, donc nous ne pouvons pas en déduire beaucoup sur les intervalles probables entre chaque et son voisin . Cependant, nous pouvons encore raisonner quantitativement sur les valeurs individuelles: quelle est la chance que ne dépasse pas la médiane de ? Pour comprendre cela, soit une variable aléatoire régie par , et soitXiithΩFXiXi+1XiFYF

πF=PrF(YF1/2)

la chance que ne dépasse pas la médiane de . Ensuite, lorsque nous savons (depuis ) que notre échantillon non ordonné d'origine de valeurs doit avoir contenu au moins valeurs ne dépassant pas .YFXiF1/2X1XiF1/2niF1/2

Il s'agit d'un problème binomial. Formellement, si nous définissons la variable aléatoire à lorsque et sinon, ce qui précède montre que a une distribution de Bernoulli avec le paramètre . Un «succès» consiste à observer une valeur égale ou inférieure à la médiane. Par conséquent, est donné par la probabilité binomiale associée à moins de succès:Z1YF1/20ZπFPr(Xi>F1/2)i

Pr(Xi>F1/2)=j=0i1(nj)πFj(1πF)nj.

Vous avez probablement remarqué que . En fait, pour de nombreuses distributions, les deux valeurs sont égales: elles ne diffèrent que lorsque attribue une probabilité positive à la médiane . Pour analyser la différence, écrivez pour . Pour cela impliqueπF1/2FF1/2πF=1/2+εε02(j1)n

πFj(1πF)nj=(1/2+ε)j(1/2ε)nj=(1/2+ε)j[(1/2ε)j(1/2ε)n2j]=(1/4ε2)j(1/2ε)n2j(1/4)j(1/2)n2j=2n.

Par conséquent, lorsque , on peut se débarrasser de la dépendance de la somme sur , au prix de remplacer l'égalité par une inégalité:2(i1)nF

Pr(Xi>F1/2)2nj=0i1(nj).

Exactement le même argument (appliqué en inversant les statistiques de commande) montre que lorsque ,2(i+1)n

Pr(Xi<F1/2)2nj=i+1n(nj).

Le côté droit se réduit à zéro chaque fois que (dans le premier cas) ou (dans le second). Par conséquent, il est toujours possible de trouver des index pour lesquelsi0inlu

Pr(Xl>F1/2 or Xu<F1/2)=Pr(Xl>F1/2)+Pr(Xu<F1/2)2n(j=0l1(nj)+j=u+1n(nj)).

Solution

C'est le complément de la condition définissant un intervalle de confiance, et donc équivalent à lui:

Pr(XlF1/2Xu)2nj=lu(nj).

En sélectionnant pour faire du côté droit au moins , nous aurons trouvé une procédure d'intervalle de confiance dont le niveau est au moins .lu1α 1α

En d'autres termes, lors du choix de ces indices et , en définissant et , l'intervalle sera un CI pour la médiane ayant une couverture au moins . Vous pouvez calculer sa couverture réelle en termes de probabilités binomiales. Cette couverture sera atteinte pour toute distribution qui attribue une probabilité nulle à (qui inclut toutes les distributions continues). Il sera dépassé par tout qui attribue une probabilité non nulle à .luL(X)=XlU(X)=Xu[L(X),U(X)]F1/21αFF1/2FF1/2

Discussion

À ce stade, nous avons quelques choix. Le plus courant est de rendre les limites symétriques en fixant raisonnablement proche de . En fait, en stipulant , les limites de confiance peuvent être trouvées pour tout avec une recherche rapide ou en appliquant la fonction quantile binomiale.un+1lu=n+1ln

Par exemple, soit et (pour illustrer une procédure CI ). Comptons la partie inférieure de la distribution binomiale cumulative avec les paramètres et :n=10α=10%1α=90%101/2

> i <- 0:5; names(i) <- i; print(pbinom(i, 10, 1/2), digits=1)
    0     1     2     3     4     5   
0.001 0.011 0.055 0.172 0.377 0.623 

(Ceci est une Rcommande et sa réponse.) Parce que la valeur à , égale à , est proche de , il est tentant de prendre et , pour alors la couverture sera de ce qui est proche de l'objectif de . Si vous devez atteindre la couverture souhaitée, vous devez prendre et ou et , les deux avec une couverture .25.5%α/2l=3u=10+13=810.0550.055=0.8990%l=2u=8l=3u=910.011.055=0.935

Pour vérifier, simulons un grand nombre d'ensembles de données à partir de n'importe quelle distribution, calculons ces IC pour les ensembles de données et calculons la proportion d'IC ​​qui couvrent la vraie médiane. Cet Rexemple utilise une distribution normale:

n <- 10
n.sim <- 1e4
x <- apply(matrix(rnorm(n*n.sim), nrow=n), 2, sort)
covers <- function(x, l, u) mean(x[l, ] <= 0 & x[u, ] >= 0)
c(l3.u8=covers(x,3,8), l2.u8=covers(x,2,8), l3.u9=covers(x,3,9))

La sortie est

 l3.u8  l2.u8  l3.u9 
 0.8904 0.9357 0.9319 

Les couvertures concordent étroitement avec les valeurs théoriques.

Comme autre exemple, tirons des échantillons d'une distribution discrète, comme un Poisson:

lambda <- 2
x <- apply(matrix(rpois(n*n.sim, 2), nrow=n), 2, sort)
med <- round(lambda + 1/3 - 0.02/lambda)
c(l3.u8=covers(x,3,8), l2.u8=covers(x,2,8), l3.u9=covers(x,3,9))

 l3.u8  l2.u8  l3.u9 
0.9830 0.9845 0.9964 

Cette fois, les couvertures sont beaucoup plus élevées que prévu. La raison en est qu'il y a chances qu'une valeur aléatoire soit égale à la médiane. Cela augmente considérablement les chances que l'IC couvre la médiane. Ce n'est ni un problème ni un paradoxe. Par définition, la couverture doit être d'au moins quelle que soit la distribution - mais il est possible (comme dans ce cas) que la couverture pour des distributions particulières soit sensiblement supérieure à .27%1αF1α

C'est là que réside le compromis: lorsque vous ne présumez rien de , l'IC basé sur les statistiques de commande est le seul que vous pouvez construire. Sa couverture pour votre vrai (mais inconnu) peut être un peu plus élevée que ce à quoi vous vous attendez. Cela signifie que votre CI sera plus large que si vous aviez fait des hypothèses fortes sur en limitant les possibilités de .FFΩF

whuber
la source
Cette réponse se concentre sur la question # 3. En ce qui concerne les deux premières questions, (1) ("ces formules sont-elles correctes?"), La réponse n'est pas tout à fait, car elles utilisent une approximation normale de la distribution binomiale; et (2) ("y a-t-il une référence"), la réponse est peut-être, mais qui s'en soucie? Une référence pour l'analyse dans cette réponse est Hahn & Meeker, Statistical Intervals .
whuber
3

Si vous souhaitez utiliser des méthodes numériques, vous pouvez générer une estimation de la distribution d'échantillonnage des médianes en utilisant le bootstrap. Rééchantillonnez votre échantillon à plusieurs reprises et calculez de nombreuses médianes. Le stdev de ces médianes sert d'estimation du stdev de la distribution d'échantillonnage des médianes. J'ai utilisé une méthode similaire pour calculer l'incertitude des résultats des parties d'échecs dans mon article sur les gambits d'échecs qui peut être trouvé ici https://sonoma.academia.edu/JamalMunshi/papers

Jamal Munshi
la source
C'est une bonne idée. À la lumière des commentaires sur la question, ce qu'il faut, c'est une analyse de sa précision pour les petits . En outre, il est inutile de rééchantillonner à plusieurs reprises dans la pratique, car la distribution exacte est facile à obtenir sous forme fermée. Pour un ensemble de données , la chance que la médiane d'un échantillon d'amorçage ne dépasse pas (où ) est la chance qu'au moins la moitié de la les exemples de valeurs se trouvent dans l'ensemble . Ceci est donné par une distribution binomiale avec les paramètres et . nx1x2xnxxix<xi+1{x1,x2,xi}ni/n
whuber
@whuber, désolé, vous vouliez dire "ce n'est PAS une bonne idée", non?
Py-ser
@ Py-ser L'idée sous-jacente est bonne dans le sens où une version de celle-ci fonctionnera, mais l'interprétation et la mise en œuvre doivent toutes deux être améliorées.
whuber
Mais, toute notre discussion passée était que vous pensez que le bootstrap n'est PAS une bonne idée.
Py-ser