Czy ładowanie początkowe jest odpowiednie dla tych ciągłych danych?

11

Jestem kompletnym nowicjuszem :)

Robię badanie na próbie 10 000 z populacji około 745,000. Każda próbka reprezentuje „procentowe podobieństwo”. Zdecydowana większość próbek wynosi około 97% -98%, ale kilka ma od 60% do 90%, co oznacza, że ​​rozkład jest mocno negatywnie wypaczony. Około 0,6% wyników wynosi 0%, ale zostaną one potraktowane oddzielnie od próbki.

Średnia ze wszystkich 10 000 próbek wynosi 97,7%, a tylko w programie Excel StdDev wynosi 3,20. Rozumiem, że StdDev tak naprawdę nie ma tutaj zastosowania, ponieważ wyniki nie są normalnie dystrybuowane (i ponieważ +3.20 postawiłoby cię powyżej 100%!).

Moje pytania to:

  1. Czy bootstrapping (nowa koncepcja dla mnie) jest odpowiedni?
  2. Czy ładuję się poprawnie :)
  3. Jaka jest wystarczająca wielkość próby?

To, co robię, to ponowne próbkowanie (z wymianą) moich 10 000 wyników i obliczanie nowej średniej. Robię to kilka tysięcy razy i przechowuję każdy środek w tablicy. Następnie obliczam „średnią średnich” i to jest mój wynik statystyczny. Aby obliczyć 99% CI, wybrałem 0,5% -tą wartość i 99,5% -tą wartość, a to daje bardzo wąski zakres: 97,4% - 98,0%. Czy to prawidłowy wynik, czy robię coś złego?

Jeśli chodzi o wielkość próby, próbkuję tylko około 1,3% populacji - nie mam pojęcia, czy to „wystarczy”. Skąd mam wiedzieć, czy moja próbka jest reprezentatywna dla populacji? Idealnie chciałbym mieć 99% pewności co do średniej wynoszącej +/- 0,50% punktów procentowych (tj. 97,2% - 98,2%).

Z góry dziękuję za wszelkie wskazówki!

Glenn W.
źródło

Odpowiedzi:

19

Odchylenie standardowe ma zastosowanie tutaj, jak gdziekolwiek indziej: daje użyteczne informacje na temat rozproszenia danych. W szczególności wartość sd podzielona przez pierwiastek kwadratowy z wielkości próby jest jednym błędem standardowym: szacuje ona rozproszenie rozkładu próbkowania średniej. Obliczmy:

3.2%/10000=0.032%=0.00032.

To malutkie - znacznie mniejsze niż pożądana precyzja .±0.50%

Chociaż dane nie są normalnie rozmieszczone, średnia próbki jest bardzo zbliżona do rozkładu normalnego, ponieważ wielkość próbki jest tak duża. Oto na przykład histogram próbki o takich samych cechach jak twoja, a po jego prawej stronie histogram średnich z tysiąca dodatkowych próbek z tej samej populacji.

Rycina 1

Wygląda bardzo normalnie, prawda?

Zatem, chociaż wydaje się, że ładujesz poprawnie, ładowanie nie jest potrzebne: symetryczny przedział ufności dla średniej jest uzyskiwany, jak zwykle, przez pomnożenie błędu standardowego przez odpowiedni percentyl standardowego rozkładu normalnego (w celu dowcip, ) i przesunięcie tej odległości na dowolną stronę średniej. W twoim przypadku , więc przedział ufności wynosi100α%Z1α/200Z1α/200=2.575899%

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

Wystarczający rozmiar próbki można znaleźć, odwracając tę ​​zależność, aby rozwiązać dla wielkości próby. Tutaj mówi nam, że potrzebujesz wielkości próbki w pobliżu

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

Jest to na tyle małe, że możemy chcieć ponownie sprawdzić wniosek, że rozkład próby średniej jest normalny. Wyciągnąłem próbkę z mojej populacji i przywróciłem jej średnią (dla iteracji):99992729999

Rysunek 2

Jasne, wygląda normalnie. W rzeczywistości przedział ufności ładowania początkowego jest prawie identyczny z CI w teorii normalnej .( 97,19 % , 98,24 % )(97.16%,98.21%)(97.19%,98.24%)

Jak pokazują powyższe przykłady, absolutna wielkość próby określa dokładność szacunków zamiast proporcji wielkości populacji. (Ekstremalnym, ale intuicyjnym przykładem jest to, że pojedyncza kropla wody morskiej może zapewnić dokładne oszacowanie stężenia soli w oceanie, nawet jeśli ta kropla stanowi tak niewielki ułamek całej wody morskiej.) Dla podanych celów uzyskanie próbki od (która wymaga więcej niż razy tyle pracy jako próby ) jest przesadą.36 2721000036272


Rkod do wykonania tych analiz i wykreślenia tych grafik. Próbki pochodzą z populacji o rozkładzie beta ze średnią i SD .0,0320.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))
Whuber
źródło
2
Wiem, że ten post jest dość stary, ale jest niezwykle pomocny. Dziękujemy za podzielenie się swoją wiedzą.
RDizzl3,