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.
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.
Réponses:
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!)nrow
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
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.
wilcox.test(..., conf.int=TRUE)
fonction de R.
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:
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.
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)