Come posso calcolare l'intervallo di confidenza di una media in un campione non distribuito normalmente?


19

Come posso calcolare l'intervallo di confidenza di una media in un campione non distribuito normalmente?

Comprendo che i metodi bootstrap sono comunemente usati qui, ma sono aperto ad altre opzioni. Mentre sto cercando un'opzione non parametrica, se qualcuno può convincermi che una soluzione parametrica è valida, andrebbe bene. La dimensione del campione è> 400.

Se qualcuno potesse fornire un campione in R, sarebbe molto apprezzato.


3
Il Teorema del limite centrale implica che la distribuzione limitante della media del campione è normale indipendentemente dalla distribuzione dei dati originali (in alcune condizioni). In molti casi una dimensione del campione è abbastanza grande da consentire un'approssimazione normale abbastanza accurata, ma l'accuratezza dipende dalla distribuzione principale: potrebbe essere utile, ad esempio, pubblicare un istogramma dei dati originali. n>400
Macro,

Risposte:


18

Prima di tutto, vorrei verificare se la media è un indice appropriato per l'attività in corso. Se stai cercando "un valore tipico / o centrale" di una distribuzione distorta, la media potrebbe indicare un valore piuttosto non rappresentativo. Considera la distribuzione log-normal:

x <- rlnorm(1000)
plot(density(x), xlim=c(0, 10))
abline(v=mean(x), col="red")
abline(v=mean(x, tr=.20), col="darkgreen")
abline(v=median(x), col="blue")

Media (rossa), media tagliata del 20% (verde) e mediana (blu) per la distribuzione logaritmica

La media (linea rossa) è piuttosto lontana dalla maggior parte dei dati. La media del 20% (verde) e la mediana (blu) sono più vicine al valore "tipico".

I risultati dipendono dal tipo di distribuzione "non normale" (sarebbe utile un istogramma dei dati effettivi). Se non è inclinato, ma ha code pesanti, i tuoi elementi della configurazione saranno molto ampi.

In ogni caso, penso che il bootstrap sia davvero un buon approccio, in quanto può anche darti CI asimmetrici. Il Rpacchetto simplebootè un buon inizio:

library(simpleboot)
# 20% trimmed mean bootstrap
b1 <- one.boot(x, mean, R=2000, tr=.2)
boot.ci(b1, type=c("perc", "bca"))

... ti dà il seguente risultato:

# The bootstrap trimmed mean:
> b1$t0
[1] 1.144648

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 2000 bootstrap replicates
Intervals : 
Level     Percentile            BCa          
95%   ( 1.062,  1.228 )   ( 1.065,  1.229 )  
Calculations and Intervals on Original Scale

Grazie mille per la risposta dettagliata. Ti andrebbe di commentare la differenza (minima) tra le statistiche del percentile e del percentile rettificato (BCa)?
fmark

"L'intervallo accelerato con correzione del bias (BCa) del bootstrap è una modifica del metodo percentile che regola i percentili per correggere il bias e l'asimmetria" (Hesterberg, T., Monaghan, S., Moore, D., Clipson, A., & Epstein, R. (2005). Metodi Bootstrap e test di permutazione. Introduzione alla pratica della statistica, 14.1-14.70.). Ogni volta che il software lo consente, utilizzare il CI corretto BCa (nota: ha bisogno di> 1000 campioni)
Felix S

Dalla documentazione del pacchetto simpleboot sembra che l'argomento per il taglio non sia più supportato. :(
et è il

8

Se sei aperto a una soluzione semi-parametrica, eccone una: Johnson, N. (1978) Test modificati e intervalli di confidenza per le popolazioni asimmetriche, JASA . Il centro dell'intervallo di confidenza viene spostato da , dove è la stima del terzo momento della popolazione e la larghezza rimane invariata. Dato che la larghezza dell'intervallo di confidenza è e la correzione per la media è , devi avere un'asimmetria davvero notevole (dell'ordine ) per importare conκ^/(6S2n)κ^O(n-1/2)O(n-1)n1/2>20n>400. Il bootstrap dovrebbe darti un intervallo asintoticamente equivalente, ma avresti anche il rumore di simulazione aggiunto all'immagine. (L'IC bootstrap corregge automaticamente per lo stesso termine del primo ordine, secondo la teoria generale Bootstrap e Edgeworth Expansion (Hall 1995) .) Per ciò che posso ricordare delle prove di simulazione, gli elementi di configurazione bootstrap sono in qualche modo più grassi degli elementi di configurazione basati sull'analitica espressioni, però.

Avere la forma analitica della correzione media ti darebbe immediatamente un'idea se l'asimmetria debba davvero essere presa in considerazione nel tuo problema di stima media. In un certo senso, questo è uno strumento diagnostico di quanto sia grave la situazione. Nell'esempio della distribuzione lognormale fornita da Felix, l'asimmetria normalizzata della distribuzione della popolazione è , che è . La larghezza dell'IC (utilizzando la deviazione standard della distribuzione della popolazione ) è , mentre la correzione per la media è (la deviazione standard è migrata al numeratore dal(exp(1)+2)*exp(1)-1kappa = (exp(1)+2)*sqrt( exp(1) - 1) = 6.184877s = sqrt( (exp(1)-1)*exp(1) ) = 2.1611972*s*qnorm(0.975)/sqrt(n) = 0.2678999kappa*s/(6*n) = 0.00222779kappaè l'asimmetria senza scale, mentre la formula di Johnson si occupa del terzo momento centrale della popolazione non scalata), cioè circa 1/100 della larghezza dell'IC. Dovresti preoccuparti? Direi di no.


2

Prova una distribuzione normale del registro, calcolando:

  1. Logaritmo dei dati;
  2. Deviazione media e standard di (1)
  3. Intervallo di confidenza corrispondente a (2)
  4. Esponenziale di (3)

Ti ritroverai con un intervallo di confidenza asimmetrico attorno al valore atteso (che non è la media dei dati grezzi).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.