Warum verbessert das Erhöhen der Stichprobengröße der Münzwürfe nicht die normale Kurvenannäherung?

19

Ich lese das Statistikbuch (Freeman, Pisani, Purves) und versuche, ein Beispiel zu reproduzieren, in dem eine Münze etwa 50 Mal geworfen wird, die Anzahl der Köpfe gezählt wird und dies etwa 1.000 Mal wiederholt wird.

  1. Zuerst habe ich die Anzahl der Würfe (Stichprobengröße) bei 1000 gehalten und die Wiederholungen erhöht. Je mehr Wiederholungen, desto besser passen die Daten zur normalen Kurve.

  2. Als nächstes habe ich versucht, die Anzahl der Wiederholungen auf 1.000 zu beschränken und die Stichprobengröße zu erhöhen. Je größer die Stichprobe, desto schlechter schien die normale Krümmung zu den Daten zu passen. Dies scheint dem Buchbeispiel zu widersprechen, das sich mit zunehmender Stichprobengröße der normalen Kurve besser annähert.

  3. Ich wollte sehen, was passieren würde, wenn ich die Stichprobe vergrößere, aber mit einer größeren Anzahl von Wiederholungen, die auf 10.000 festgelegt wurden. Dies scheint auch dem Buch zu widersprechen.

Irgendwelche Ideen, was ich falsch mache?

Code und Grafiken unten.

%matplotlib inline

def plot_hist(num_repetitions, num_tosses):
    tosses = np.random.randint(0, 2, size=[num_repetitions, num_tosses])
    sums = np.apply_along_axis(lambda a: np.sum(a == 1), 1, tosses)

    xmin, xmax = min(sums), max(sums)  
    lnspc = np.linspace(xmin, xmax, len(sums))

    m, s = stats.norm.fit(sums) # get mean and standard deviation  
    pdf_g = stats.norm.pdf(lnspc, m, s) # now get theoretical values in our interval  

    bins = np.arange(xmin, xmax) - 0.5
    step = int((xmax - xmin)/5)

    fig, ax = plt.subplots()
    _ = ax.hist(sums, bins, edgecolor='black', linewidth=1.2, density=True)
    _ = ax.plot(lnspc, pdf_g, label="Norm", color='red')
    _ = ax.set_xticks(bins[::step] + 0.5)
    _ = ax.set_title('{:,} tosses - {:,} repetitions'.format(num_tosses, num_repetitions))

1. Experimentieren Sie mit zunehmender Anzahl von Wiederholungen (fester Stichprobenumfang von 1000)

plot_hist(1000, 1000)

Bildbeschreibung hier eingeben

plot_hist(10000, 1000)

Bildbeschreibung hier eingeben

plot_hist(100000, 1000)

Bildbeschreibung hier eingeben

2. Experimentieren Sie mit zunehmender Probengröße (festgelegt auf 1000 Wiederholungen)

plot_hist(1000, 100)

Bildbeschreibung hier eingeben

plot_hist(1000, 1000)

Bildbeschreibung hier eingeben

plot_hist(1000, 10000)

Bildbeschreibung hier eingeben

3. Experimentieren Sie mit zunehmender Probengröße (festgelegt auf 10.000 Wiederholungen)

plot_hist(10000, 100)

Bildbeschreibung hier eingeben

plot_hist(10000, 1000)

Bildbeschreibung hier eingeben

plot_hist(10000, 10000)

Bildbeschreibung hier eingeben

plot_hist(10000, 100000)

Bildbeschreibung hier eingeben

Chris Snow
quelle
9
Sie benötigen einen besseren Histogramm-Plotter - dieser ist besonders arm und erzeugt Artefakte. Vergleichen Sie Verteilungen besser mit einem Wahrscheinlichkeitsdiagramm als mit einem Histogramm.
Whuber
1
Dies ist nützlich zu wissen und hat mein Wissen heute erweitert. Vielen Dank!
Chris Snow
3
"Wiederholungen" ist Ihre "Stichprobengröße", keine Auswürfe. Die Anzahl der Würfe zu erhöhen ist etwas anderes
Mars
1
Entschuldigung, ich dachte und dachte und dachte, aber ich kann nicht mit dem Begriff für diesen einen! Unabhängig von der Anzahl der Würfe erhalten Sie am Ende jedoch 1 Nummer (Anzahl der Köpfe). Es gibt Ihnen 1 Probe.
Mars
1
Ich habe eine neue Frage gepostet, die sich nur auf die Terminologie konzentriert: stats.stackexchange.com/questions/389892/…
Chris Snow

Antworten:

27

Im zweiten Fall erhöhen Sie durch Erhöhen der Anzahl der Würfe die Anzahl der Fächer, in die ein einzelner Versuch fallen kann. Während im ersten Fall von Experiment 2 nur maximal 100 Behälter gefüllt werden können, hat das letzte Beispiel 10000 Behälter. Sie haben die "Auflösung" Ihres Experiments um den Faktor 100 erhöht (dh eine Bin in Ihrem ersten Experiment wird jetzt von ungefähr 100 in Ihrer zweiten dargestellt). Dies bedeutet natürlich, dass Sie voraussichtlich einen Faktor 100 mehr Daten benötigen, um Ihre Fächer zu füllen.

Ulfgard
quelle
Ah, macht Sinn. Durch Einstellen der Anzahl der Fächer auf 35 ( _ = ax.hist(sums, bins=35, edgecolor='black', linewidth=1.2, density=True)) nähert sich das dritte Experiment nun der normalen Kurve an.
Chris Snow
5

Sie können sich einen einzelnen Münzwurf als einen unabhängigen Bernoulli-Versuch vorstellen. Ein Versuch gibt Ihnen entweder Kopf / Zahl oder Erfolg / Misserfolg. Wenn Sie diese Aussage 100.000 Mal wiederholen, liegt die durchschnittliche Anzahl der Köpfe sehr nahe bei 0,5, wenn die Münze fair ist.

Wenn Sie nun die Anzahl der Versuche auf 1.000 erhöhen und die Wiederholung auf 1 halten, erhalten Sie eine Folge von 1.000 Erfolgen / Fehlern und können nicht viel über die Wahrscheinlichkeit sagen, durchschnittlich 500 Köpfe zu beobachten, es sei denn, Sie erhöhen die Anzahl der Wiederholungen für jede dieser unabhängigen Studien. Mit zunehmender Anzahl von Wiederholungen erhalten Sie eine immer bessere Annäherung an die Normalverteilung.

Für mich ist es einfacher, sich die Versuche nicht als „Würfe“ oder „Stichprobengrößen“ vorzustellen, sondern als getrennte Münzen und die Wiederholungen als die Anzahl der Kippen jeder dieser Münzen. Dann macht es auch intuitiv Sinn, dass die Annäherung der Daten an die Normalverteilung durch Erhöhen der Anzahl der Münzen (oder Versuche) bei konstanter Gesamtzahl der Wiederholungen (oder Kippen) schlechter wird.

Stefan
quelle
2

Ich denke, die anderen Antworten hier sind großartig, aber ich wollte eine Antwort hinzufügen, die sich auf ein anderes statistisches Tool erstreckt.

Sie beginnen mit einer Grundlinie, die Ihrer Meinung nach einer normalen Kurve angenähert werden sollte, und gehen dann von dort aus zu der Frage, ob Sie eine normale Kurve besser approximieren können. Versuchen Sie, in die andere Richtung zu gehen, und sehen Sie, was Sie tun können, um eine schlechtere Annäherung zu erzielen. Probieren Sie Simulationen aus, bei denen Sie 10 Flips und 1000 Wiederholungen haben. Vergleichen Sie dies mit Simulationen, bei denen Sie 1000 Flips und 10 Wiederholungen haben. Es sollte klar sein, dass der erstere Fall die bessere Annäherung hat.

Die Erweiterung, die ich machen möchte, ist auf ANOVA (Varianzanalyse). Sie sehen viele neue Datenwissenschaftler, die dieses Problem nur unzureichend verstehen, und gestalten ihre Studien so, dass sie viele Flips, aber nur wenige Wiederholungen aufweisen. Sie haben eine Menge Daten, aber es sagt weniger aus, als sie möchten. Als würde man jedes Blatt eines Baumes messen, aber nur zwei Bäume haben. Wir können ziemlich viel über Blätter an diesen beiden Bäumen sagen, aber nicht über Blätter an Bäumen im Allgemeinen. Es wäre besser gewesen, wenn Sie eine viel kleinere Stichprobe von Blättern und viele Bäume bekommen hätten.

Jeremy
quelle
Danke für die Antwort. Könnten Sie erläutern, wie ANOVA in diesem Zusammenhang eingesetzt werden könnte?
Chris Snow
1
@ChrisSnow ANOVA ist eine Perspektive in der linearen Regression, die sich darauf konzentriert, ob sich verschiedene Gruppen tatsächlich unterscheiden, wenn man die Varianz betrachtet (daher der Name). Die Verbindung ist, dass man mit zu wenigen Wiederholungen den Unterschied zwischen Gruppen nicht wirklich erkennen kann, obwohl man viele Flips hat. Die Annäherung an die normale Kurve wird schlecht, und die Varianz jeder Gruppe ist nicht unterschiedlich genug, um zu dem Schluss zu kommen, dass tatsächlich etwas anders ist.
Jeremy
1

Um zusätzliche Informationen zu erhalten, sollten Sie Folgendes berücksichtigen:

Stellen Sie sich vor, Sie machen nur eine einzige Wiederholung.

In diesem Fall können Sie die Anzahl der Würfe erhöhen, ohne dass dies einer normalen Verteilung ähnelt. Und das ist sinnvoll, da Ihr Histogramm nur einen einzigen Peak haben wird.


Die Normalverteilung ist eine Annäherung an die Wahrscheinlichkeitsverteilung (der Binomialverteilung).

Sie haben diese Distribution nicht erstellt. Stattdessen haben Sie diese Verteilung mithilfe einer begrenzten (und geringen) Anzahl von Simulationen approximiert . (Und Sie haben festgestellt, dass sich diese Annäherung verschlechtert, wenn Sie die Anzahl der Fächer im Histogramm erhöhen.)


Sie brauchen also beide eine hohe Anzahl von Würfen und Wiederholungen.

  • Wenn die Anzahl der Würfe hoch ist, kann die Binomialverteilung (mehrere Münzwürfe) durch Normalverteilung angenähert werden.
  • Wenn die Anzahl der Wiederholungen / Simulationen höher ist als das Histogramm dieser Experimente, nähert sich dies der Dichte der Binomialverteilung an.
Sextus Empiricus
quelle