Devo trovare un IC al 95% sulla mediana e altri percentili. Non so come affrontarlo. Uso principalmente R come strumento di programmazione.
Devo trovare un IC al 95% sulla mediana e altri percentili. Non so come affrontarlo. Uso principalmente R come strumento di programmazione.
Risposte:
Ecco un'illustrazione su un set di dati R classico:
> 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
che fornisce un intervallo di confidenza (73,5, 77) sulla mediana.
( Nota: versione corretta, grazie a John . Ho usato in precedenza, il che ha portato alla confusione!)nrow
Un altro approccio si basa sui quantili della distribuzione binomiale.
per esempio:
> x=faithful$waiting
> sort(x)[qbinom(c(.025,.975), length(x), 0.5)]
[1] 73 77
Dai un'occhiata al ricampionamento del bootstrap. Cerca la guida R per la funzione di avvio. A seconda dei tuoi dati con il ricampionamento, puoi stimare gli intervalli di confidenza per qualsiasi cosa.
wilcox.test(..., conf.int=TRUE)
funzione di R.
E ci sono altri approcci: uno si basa sul test di somma di rango di Wilcoxon applicato per un campione con correzione della continuità. In R questo può essere fornito come:
wilcox.test(x,conf.level=0.95,alternative="two.sided",correct=TRUE)
E c'è l'IC di David Olive per la mediana discussa qui:
Il risultato basato sull'approccio qbinom non è corretto per piccoli campioni. Supponiamo che x abbia 10 componenti. Quindi qbinom (c (.025, .975), 10, .5) fornisce 2 e 8. L'intervallo risultante non tratta le statistiche dell'ordine nella coda inferiore simmetricamente a quelle della coda superiore; dovresti ottenere 2 e 9, oppure 3 e 8. La risposta giusta è 2 e 9. Puoi verificare il proc univariato in SAS. Cattura qui è che non hai bisogno di più di 0,025 probabilità sotto e sopra; il quantile inferiore non lo fa, dato che fornisce almeno .025 a o inferiore. Si viene salvati in fondo perché il conteggio che dovrebbe essere 1 dovrebbe essere mappato alla statistica del secondo ordine, contando 0, e quindi "off by one" annulla. Questa cancellazione fortuita non avviene in cima e quindi ottieni la risposta sbagliata qui. Il codice sort (x) [qbinom (c (.025, .975), lunghezza (x) ,. 5) + c (0,1)] quasi funziona, e .5 può essere sostituito da altri valori quantili per ottenere intervalli di confidenza per altri quantili, ma non sarà giusto quando esiste un tale che P [X <= a ] =. 025. Vedi, ad esempio, Higgins, Non parametrici.
library(boot)
appare per confermare ciò:> boot.ci (boot (x, function (x, i) median (x [i]), R = 1000)) Intervalli: Livello Normale Base 95% (74.42, 78.22) (75.00 , 78.49) Livello percentuale BCa 95% (73.51, 77.00) (73.00, 77.00)