Il bootstrap è appropriato per questi dati continui?


11

Sono un principiante completo :)

Sto facendo uno studio con una dimensione del campione di 10.000 da una popolazione di circa 745.000. Ogni campione rappresenta una "somiglianza percentuale". La grande maggioranza dei campioni è compresa tra il 97% e il 98%, ma alcuni sono compresi tra il 60% e il 90%, ovvero la distribuzione è fortemente distorta. Circa lo 0,6% dei risultati è pari allo 0%, ma questi saranno trattati separatamente dal campione.

La media di tutti i 10.000 campioni è del 97,7% e, solo in Excel, StdDev è 3,20. Capisco che StdDev non sia realmente applicabile qui perché i risultati non sono normalmente distribuiti (e perché il +3.20 ti porterebbe al di sopra del 100%!).

Le mie domande sono:

  1. Il bootstrap (un nuovo concetto per me) è appropriato?
  2. Sto eseguendo il bootstrap correttamente :)
  3. Qual è una dimensione del campione sufficiente?

Quello che sto facendo è ricampionare (con la sostituzione) i miei 10.000 risultati e calcolare una nuova media. Lo faccio alcune migliaia di volte e memorizzo ogni media in un array. Calcolo quindi la "media dei mezzi" e questo è il mio risultato statistico. Per calcolare il 99% di CI, scelgo il 0,5% di valore e il 99,5% di valore, e questo produce un intervallo molto ristretto: 97,4% - 98,0%. È un risultato valido o sto facendo qualcosa di sbagliato?

Per quanto riguarda le dimensioni del campione, sto campionando solo circa l'1,3% della popolazione - non ho idea se questo sia "sufficiente". Come faccio a sapere se il mio campione è rappresentativo della popolazione? Idealmente, vorrei essere sicuro al 99% di una media che è +/- 0,50% punti percentuali (ovvero 97,2% - 98,2%).

Grazie in anticipo per eventuali suggerimenti!

Risposte:


19

La deviazione standard è applicabile qui come in qualsiasi altro luogo: fornisce informazioni utili sulla dispersione dei dati. In particolare, l'sd diviso per la radice quadrata della dimensione del campione è un errore standard: stima la dispersione della distribuzione campionaria della media. Calcoliamo:

3.2%/10000=0.032%=0.00032.

È minuscolo , molto più piccolo della precisione che cerchi.±0.50%

Sebbene i dati non siano distribuiti normalmente, la media del campione è estremamente vicina alla distribuzione normale poiché le dimensioni del campione sono così grandi. Ecco, ad esempio, un istogramma di un campione con le stesse caratteristiche del tuo e, alla sua destra, l'istogramma dei mezzi di un migliaio di campioni supplementari della stessa popolazione.

Figura 1

Sembra molto vicino alla normalità, no?

Pertanto, anche se sembra che tu stia eseguendo il bootstrap correttamente, il bootstrap non è necessario: un intervallo di confidenza simmetrico per la media si ottiene, come al solito, moltiplicando l'errore standard per un appropriato percentile della distribuzione normale standard (a con spirito, ) e spostando quella distanza su entrambi i lati della media. Nel tuo caso, , quindi l' intervallo di confidenza del è100α%Z1α/200Z1α/200=2.575899%

(0.9772.5758(0.032)/10000, 0.977+2.5758(0.032)/10000)=(97.62%,97.78%).

È possibile trovare una dimensione del campione sufficiente invertendo questa relazione per risolvere la dimensione del campione. Qui ci dice che hai bisogno di una dimensione del campione in giro

(3.2%/(0.5%/Z1α/200))2272.

Questo è abbastanza piccolo che potremmo voler ricontrollare la conclusione che la distribuzione campionaria della media è normale. Ho estratto un campione di dalla mia popolazione e ho avviato la sua media (per iterazioni):2729999

figura 2

Abbastanza sicuro, sembra normale. In effetti, l'intervallo di confidenza avviato da boot è quasi identico all'IC della teoria normale di .(97.16%,98.21%)(97.19%,98.24%)

Come mostrano questi esempi, la dimensione assoluta del campione determina l'accuratezza delle stime piuttosto che la proporzione della dimensione della popolazione. (Un esempio estremo ma intuitivo è che una singola goccia di acqua di mare può fornire una stima accurata della concentrazione di sale nell'oceano, anche se quella goccia è una frazione così piccola di tutta l'acqua di mare.) Per i tuoi scopi dichiarati, ottenere un campione di (che richiede oltre volte più lavoro di un campione di ) è eccessivo.1000036272


Rsegue il codice per eseguire queste analisi e tracciare questi grafici. da una popolazione con una distribuzione Beta con una media di e una SD di .0.9770.032

set.seed(17)
#
# Study a sample of 10,000.
#
Sample <- rbeta(10^4, 20.4626, 0.4817)
hist(Sample)
hist(replicate(10^3, mean(rbeta(10^4, 20.4626, 0.4817))),xlab="%",main="1000 Sample Means")
#
# Analyze a sample designed to achieve a CI of width 1%.
#
(n.sample <- ceiling((0.032 / (0.005 / qnorm(1-0.005)))^2))
Sample <- rbeta(n.sample, 20.4626, 0.4817)
cat(round(mean(Sample), 3), round(sd(Sample), 3)) # Sample statistics
se.mean <- sd(Sample) / sqrt(length(Sample))      # Standard error of the mean
cat("CL: ", round(mean(Sample) + qnorm(0.005)*c(1,-1)*se.mean, 5)) # Normal CI
#
# Compare the bootstrapped CI of this sample.
#
Bootstrapped.means <- replicate(9999, mean(sample(Sample, length(Sample), replace=TRUE)))
hist(Bootstrapped.means)
cat("Bootstrap CL:", round(quantile(Bootstrapped.means, c(0.005, 1-0.005)), 5))

2
So che questo post è piuttosto vecchio ma è estremamente utile. Grazie per aver condiviso le tue conoscenze.
RDizzl3,
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.