Ist Bootstrapping für diese fortlaufenden Daten geeignet?

11

Ich bin ein absoluter Neuling :)

Ich mache eine Studie mit einer Stichprobengröße von 10.000 aus einer Bevölkerung von etwa 745.000. Jede Stichprobe repräsentiert eine "prozentuale Ähnlichkeit". Die große Mehrheit der Proben liegt zwischen 97% und 98%, einige jedoch zwischen 60% und 90%, dh die Verteilung ist stark negativ verzerrt. Etwa 0,6% der Ergebnisse sind 0%, diese werden jedoch getrennt von der Probe behandelt.

Der Mittelwert aller 10.000 Stichproben liegt bei 97,7%, und nur in Excel beträgt der StdDev 3,20. Ich verstehe, dass der StdDev hier nicht wirklich anwendbar ist, weil die Ergebnisse nicht normal verteilt sind (und weil die +3,20 Sie über 100% bringen würden!).

Meine Fragen sind:

  1. Ist Bootstrapping (ein neues Konzept für mich) angemessen?
  2. Bin ich richtig bootstrapping :)
  3. Was ist eine ausreichende Stichprobengröße?

Was ich tue, ist das erneute Abtasten (mit Ersetzen) meiner 10.000 Ergebnisse und das Berechnen eines neuen Mittelwerts. Ich mache das ein paar tausend Mal und speichere jeden Mittelwert in einem Array. Ich berechne dann den "Mittelwert der Mittelwerte" und dies ist mein statistisches Ergebnis. Um den 99% CI zu berechnen, wähle ich den 0,5% -ten Wert und den 99,5% -ten Wert, und dies ergibt einen sehr engen Bereich: 97,4% - 98,0%. Ist das ein gültiges Ergebnis oder mache ich etwas falsch?

Was die Stichprobengröße betrifft, beprobe ich nur etwa 1,3% der Bevölkerung - ich habe keine Ahnung, ob dies "genug" ist. Woher weiß ich, ob meine Stichprobe repräsentativ für die Bevölkerung ist? Im Idealfall möchte ich zu 99% von einem Mittelwert überzeugt sein, der +/- 0,50% Prozentpunkte (dh 97,2% - 98,2%) beträgt.

Vielen Dank im Voraus für alle Tipps!

Glenn W.
quelle

Antworten:

19

Die Standardabweichung gilt hier wie überall: Sie liefert nützliche Informationen über die Streuung der Daten. Insbesondere ist der sd geteilt durch die Quadratwurzel der Stichprobengröße ein Standardfehler: Er schätzt die Streuung der Stichprobenverteilung des Mittelwerts. Berechnen wir:

3.2%./.10000=0,032%.=0,00032.

±0,50%.

Obwohl die Daten nicht normal verteilt sind, liegt der Stichprobenmittelwert extrem nahe an der Normalverteilung, da die Stichprobengröße so groß ist. Hier ist zum Beispiel ein Histogramm einer Probe mit den gleichen Eigenschaften wie Ihre und rechts das Histogramm der Mittelwerte von tausend zusätzlichen Proben aus derselben Population.

Abbildung 1

Es sieht Normal sehr ähnlich, nicht wahr?

100- -α%.Z.1- -α/.200Z.1- -α/.200=2,575899%.

(0,977- -2,5758(0,032)/.10000, 0,977+2,5758(0,032)/.10000)=(97,62%.,97,78%.).

Eine ausreichende Stichprobengröße kann durch Invertieren dieser Beziehung gefunden werden, um die Stichprobengröße zu ermitteln. Hier erfahren wir, dass Sie eine Stichprobengröße benötigen

(3.2%./.(0,5%./.Z.1- -α/.200))2272.

2729999

Figur 2

(97,16%.,98,21%.)(97,19%.,98,24%.)

1000036272


R0,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
quelle
2
Ich weiß, dass dieser Beitrag ziemlich alt ist, aber er ist äußerst hilfreich. Vielen Dank für das Teilen Ihres Wissens.
RDizzl3