Intervalle de confiance pour la médiane

40

Je dois trouver un IC à 95% sur la médiane et les autres centiles. Je ne sais pas comment aborder cela. J'utilise principalement R comme outil de programmation.

Dominic Comtois
la source

Réponses:

31

Voici une illustration sur un jeu de données R classique:

> x       = faithful$waiting
> bootmed = apply(matrix(sample(x, rep=TRUE, 10^4*length(x)), nrow=10^4), 1, median)
> quantile(bootmed, c(.025, 0.975))
2.5% 97.5% 
 73.5    77 

ce qui donne un intervalle de confiance (73,5, 77) sur la médiane.

( Remarque: version corrigée, merci à John . J'ai utilisé dans la version précédente, ce qui a conduit à la confusion!)103nrow

Xi'an
la source
7
Semble étrangement étroit pour moi. Utiliser les fonctions de library(boot)apparaît pour confirmer ceci:> boot.ci (boot (x, fonction (x, i) médiane (x [i]), R) (1000)) Intervalles: Niveau Normal Basique 95% (74.42, 78.22) (75.00 , 78,49) percentile BCa 95% (73,51, 77,00) (73,00, 77,00)
onestop le
2
de rien Xi'an ... En passant, je préfère toujours définir la valeur initiale de N dans la matrice, car c'est une constante pour les différentes tailles de bootstrap que je pourrais réaliser. Donc, j'aurais typiquement dit ncol = longueur (x). Je trouve qu'il y a moins de risque d'erreur de cette façon.
Jean
6
Ceci est juste un moyen inefficace de calculer les quantiles binomiaux comme dans la réponse de onestop .
whuber
30

Une autre approche est basée sur les quantiles de la distribution binomiale.
par exemple:

> x=faithful$waiting
> sort(x)[qbinom(c(.025,.975), length(x), 0.5)]
[1] 73 77
un arrêt
la source
4
J'aime la simplicité de celui-ci ... Les résultats sont proches de la méthode du bootstrap.
Dominic Comtois
1
Ceci est évidemment beaucoup plus efficace que l’amorçage pour le cas continu, mais un inconvénient est qu’il ne tient pas compte des rangs liés. Connaissez-vous une solution de contournement pour cela?
ali_m
15

Découvrez le rééchantillonnage bootstrap. Recherchez l'aide de R pour la fonction de démarrage. En fonction de vos données avec le rééchantillonnage, vous pouvez estimer des intervalles de confiance pour à peu près n'importe quoi.

tharen
la source
Se mettre d'accord. C'est la meilleure approche. Sous-utilisé dans les sciences biomédicales, à mon avis.
pmgjones
10
Pensez à examiner le bootstrap lissé pour estimer les quantiles de population car le boostrap classique semble poser problème dans ce cas - vous trouverez des références dans ce fichier pdf . Si vous ne vous intéressiez qu'à la médiane théorique, vous pouvez utiliser l'estimateur de Hodges-Lehman - fourni par exemple par la wilcox.test(..., conf.int=TRUE)fonction de R.
Caracal
4

Et il existe d'autres approches: l'une est basée sur le test de Wilcoxon Rank Sum appliqué à un échantillon avec correction de continuité. En R, cela peut être fourni comme:

wilcox.test(x,conf.level=0.95,alternative="two.sided",correct=TRUE)

Et il y a l'IC de David Olive pour la médiane discuté ici:

CI pour médiane

Germaniawerks
la source
1

Le résultat basé sur l'approche qbinom n'est pas correct pour les petits échantillons. Supposons que x ait 10 composantes. Ensuite, qbinom (c (.025, .975), 10, .5) donne 2 et 8. L’intervalle résultant ne traite pas les statistiques d’ordre au bas de la queue symétriquement avec celles de la queue supérieure; vous devriez obtenir soit 2 et 9, soit 3 et 8. La bonne réponse est 2 et 9. Vous pouvez vérifier contre proc univarié dans SAS. Catch ici est que vous n'avez pas besoin de plus de .025 probabilité ci-dessous et ci-dessus; le quantile inférieur ne fait pas cela, car il donne au moins 0,025 à ou en dessous. Vous êtes enregistré en bas parce que le nombre qui devrait être 1 doit être mappé à la statistique de second ordre, en comptant 0, et ainsi le "off par un" annule. Cette annulation fortuite ne se produit pas en haut et vous obtenez donc la mauvaise réponse ici. La sorte de code (x) [qbinom (c (.025, .975), length (x) ,. 5) + c (0,1)] fonctionne presque, et 0,5 peut être remplacé par d'autres valeurs de quantiles pour obtenir des intervalles de confiance pour d'autres quantiles, mais cela ne va pas quand il existe un tel que P [X <= a ] =. 025. Voir, par exemple, Higgins, Statistiques non paramétriques.

John Kolassa
la source