[PYTHON] Kommentar zu Unparteilichkeit und Beständigkeit für diejenigen, die sich nicht verlieben

Dann ist es der Text.

Auf Twitter beobachtete ich etwas wie "Unvoreingenommene Schätzung ist schwierig ... Es gibt auch eine übereinstimmende Schätzung, aber was ist der Unterschied?" Als ich anfing, Statistik zu studieren, hatte ich übrigens lange Zeit die gleiche Frage. Ich erinnerte mich, dass ich dort war [^ 1].

Als ich Google Sensei nach "Unvoreingenommene Schätzung, Übereinstimmungsschätzung" fragte, gab es anscheinend weniger als 40.000 Treffer. Wenn ich meinen eigenen schlechten Artikel hinzufüge, finde ich, dass er ziemlich heikel ist, aber ich werde ihn so schreiben, als ob er in Ordnung wäre.

Der Geschmack unterscheidet sich ein wenig von den Kommentaren auf anderen Websites, daher sind einige Leute möglicherweise von diesem Artikel enttäuscht.

Also lasst uns anfangen.

■ Warum denken Sie überhaupt über die Art der Statistik nach?

Wenn Sie beispielsweise die Durchschnittsschätzung berücksichtigen, gibt es viele Optionen, z. B. den Stichprobenmittelwert, den Median und den beschnittenen Durchschnitt. Auf diese Weise gibt es im Allgemeinen verschiedene Optionen, wenn Sie den Wert eines bestimmten Parameters (z. B. Mittelwert oder Varianz) schätzen möchten.

Welche Methode sollte ich unter den verschiedenen Optionen verwenden? Mit anderen Worten, die Frage ist, was eine gute Schätzung ist.

Unvoreingenommenheit und Konsistenz sind eines der Kriterien bei der Betrachtung solcher Probleme. [^ 2]

■ Sehen wir uns die Definition an. .. ..

Vielleicht hatte ich mich zu dem Zeitpunkt, als ich zu diesem Artikel kam, mit den Definitionen von Konsistenz und Unparteilichkeit befasst, und ich denke, dass die Geschichte der Definition bereits gut ist, und ich denke, dass ich eine Erklärung geben möchte, die enttäuschend ist, aber vorerst Weil es auch ein Memo von ist. .. .. ..

◆ Konsistenz

Es gibt tatsächlich verschiedene Übereinstimmungen, aber hier werden wir die schwache Übereinstimmungsschätzung und die starke Übereinstimmungsschätzung einführen. Vorerst ist es in Ordnung, wenn Sie den Unterschied nicht kennen. Bitte denken Sie an "Es gibt etwas".

・ Schwache Übereinstimmungsschätzung

Die Schätzspalte $ \ {T_n \} $ ist alle $ \ varepsilon> 0 $ und alle $ \ theta \ in \ Theta $.

\lim_{n→\infty}P\,(\,|\,T_n-\theta\,|\,≧\varepsilon \,)\,=0

Dann wird $ T_n $ die schwache Übereinstimmungsschätzung von $ \ theta $ genannt.

・ Starke Übereinstimmungsschätzung

Die Schätzspalte $ \ {T_n \} $ ist alles $ \ theta \ in \ Theta $

P(\,\lim_{n→\infty}T_n=\theta)=1

Dann wird $ T_n $ die starke Übereinstimmungsschätzung von $ \ theta $ genannt.
Für diejenigen, die sich über den Unterschied Sorgen machen, ** 4.2 von "Wahrscheinlichkeitstheorie für Statistik, darüber hinaus" Sie sollten das Konzept der stochastischen Konvergenz und ihre Stärke (P125) ** lesen.

◆ Unvoreingenommen

"Unvoreingenommen" bedeutet wörtlich, dass es nicht voreingenommen ist, aber was genau ist "nicht voreingenommen"? Die Verzerrungen in der Statistik sind wie folgt:

・ Bias

Die Abweichung ist ein Maß dafür, wie weit die durchschnittliche Schätzung vom tatsächlichen Wert entfernt ist. Es wird wie folgt sein, wenn es in einer mathematischen Formel geschrieben wird.

Wenn der geschätzte Betrag des Parameters $ \ theta $ $ T (X) $ ist, ist die Vorspannung

E\,[\,T(X)\,]-\theta

Ist definiert als. Erwarteter Wert des geschätzten Betrags - wahrer Wert, nicht wahr?

Vielleicht wird das Wort Bias häufiger verwendet, aber dieses Mal werde ich das Wort Bias verwenden, um mit dem Unvoreingenommenen übereinzustimmen ("Bias").

・ Unvoreingenommen

Wie oben erwähnt, ist die Vorspannung definiert als $ E , [, T (X) ,] - \ Theta $. Unvoreingenommen zu sein bedeutet, nicht voreingenommen zu sein.

E\,[\,T(X)\,]-\theta=0

Das ist gut. Wenn Sie $ \ theta $ nach rechts verschieben,

E\,[\,T(X)\,]=\theta

Es wird sein. Die Schätzung $ T (X) $, die dies erfüllt, wird als unverzerrte Schätzung des Parameters $ \ theta $ bezeichnet.

■ Wenn Sie die Zeit verpassen, beginnen Sie hier.

Wenn Ihnen die Details gefallen, lesen Sie bitte hier.

Das vielleicht sichtbarste Beispiel für eine unverzerrte Schätzung ist die unverzerrte Varianz, und ich denke, Sie haben den erwarteten Wert der Stichprobenvarianz von Hand bestätigt.

Hier werden wir zuerst bestätigen, dass die Probendispersion durch Simulation vorgespannt ist, und dann bestätigen, dass die unverzerrte Dispersion durch Simulation unverzerrt ist.

◆ Probenverteilung

Probendispersion

\frac{1}{N} \sum_{i=1}^{N} (X_i-\bar{X})^{\,2}

Definiert in. Wie Sie wissen, ist die Stichprobenvarianz keine unvoreingenommene Schätzung. Mit anderen Worten ist die Schätzung der Varianz durch die Stichprobenvarianz im Durchschnitt verzerrt.

Lassen Sie uns dies erleben.

★ Erleben Sie die Tendenz der Probendispersion.

Angenommen, Sie erhalten $ N $ Beobachtungen unabhängig von einer Normalverteilung mit einem wahren Mittelwert von $ 10 $ und einer wahren Varianz von $ 25 $.

X_1,X_2,...,X_N \stackrel{i.i.d}{\sim} N(10,5^2)

Unter Verwendung dieser $ N $ -Beobachtungen schätzen wir die Varianz als Stichprobenvarianz. Wiederholen Sie dann für jedes $ N $ 10000 Mal "Daten extrahieren-> Stichprobenvarianz berechnen". Der Durchschnitt dieser 10.000 Stichprobenvarianzen sei die geschätzte ** erwartete Stichprobenvarianz ** für jedes $ N $.

Worüber redest du? Ich weiß es nicht? Für diejenigen, die sagen, diese Figur. .. .. 図112.png

Wenn Sie die Bedeutung des Ballons nicht verstehen, klicken Sie hier. .. ..

図1.png

$ K $ in dieser Zahl ist diesmal 10000.

Wenn ich es im Code aufwecke, sieht es so aus. Wenn Sie sich nicht für den Code interessieren, sehen Sie sich die folgende Grafik an.

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

np.random.seed(42)

M_var0 = 200
K_var0 = 10000
mu_var0 = 10
std_var0 = 5
EV_var0 = []

for N in range(M_var0):
    V_var0 = []
    for i in range(K):
        X = np.random.normal(mu, std, N)
        V_var0.append(np.var(X, ddof = 0)) #ddof=Stichprobenvarianz bei 0
                                           #ddof=Unvoreingenommene Dispersion bei 1
    EV_var0.append(np.mean(V_var0))

EV_var00 = np.array(EV_var0)
plt.figure(figsize = (10, 3.5))
plt.axhline(25, ls = "--", color = "red",  label = "True")
plt.plot(EV_var00, color = 'blue', linewidth = 0.5, label = "Mean ofEstimator")
plt.xlabel("N")
plt.ylabel("Variance")
plt.legend(loc = "lower right")
plt.show()

標本分散.png

Die horizontale Achse ist $ N $ und die vertikale Achse ist die Verteilung.

Die durchschnittliche Stichprobenvarianz (blaue Linie) scheint kleiner zu sein als die wahre Varianz 25 (rote Linie). Es ist schwierig, in der Nähe des wahren Wertes zu sehen, also vergrößern wir ihn etwas mehr.

EV_var00 = np.array(EV_var0)
plt.figure(figsize = (10, 3.5))
plt.axhline(25, ls = "--", color = "red",  label = "True")
plt.plot(EV_var00[10:], color = 'blue', linewidth = 0.5, label = "Mean of Estimator")
plt.xlabel("N")
plt.ylabel("Variance")
plt.legend(loc = "lower right")
plt.show()

(Ich schaue nur von $ N = 10 $. Die Zahlen auf der horizontalen Achse werden auf die PPT eingefügt und dann in das Kommentarfeld geschrieben. Es tut mir leid, sie seitlich zu tragen.)

標本分散10から.png

Immerhin ist der Durchschnittswert der Stichprobenvarianz kleiner als die wahre Varianz.

Dies ist die sogenannte Vorspannung.

Mit anderen Worten, das Festlegen der Anzahl von Beobachtungen $ N $, das wiederholte Aufnehmen von Daten zur Berechnung der Stichprobenvarianz und das Mitteln dieser Werte entspricht nicht der "wahren Varianz" (der Stichprobenvarianz). Ist kleiner). Dies nennt man Bias.

Nehmen wir an, dass die wahre Varianz von $ X $ $ \ sigma ^ 2 $ ist, und berechnen Sie die durchschnittliche Stichprobenvarianz.

\begin{eqnarray}
E\biggl[\frac{1}{N} \sum_{i=1}^{N} (X_i-\bar{X})^{\,2}\biggl] &=& \frac{N-1}{N} \sigma^2\\
\\
&=& \sigma^2-\frac{1}{N}\sigma^2
\end{eqnarray}

Daher können wir sehen, dass die Stichprobenvarianz theoretisch um $ - \ frac {1} {N} \ sigma ^ 2 $ gegenüber der wahren Varianz $ \ sigma ^ 2 $ verzerrt ist.

Vergleichen wir die Vorspannung der durch die Simulation erhaltenen Stichprobenvarianz mit der durch die Berechnung erhaltenen theoretischen Vorspannung.

n = np.arange(M_var0-1)
True_bias = -1 / n * 25 #Theoretische Voreingenommenheit(vorspannen)

plt.figure(figsize = (10, 3.5))
plt.plot(Bias_var0, color = 'blue', linewidth = 0.5, label = "Bias of Estimator")
plt.plot(True_bias, color = 'red', linewidth = 0.5, label = "True Bias")
plt.axhline(0, ls = "--", color = "red")
plt.xlabel("N")
plt.ylabel("Bias")
plt.legend(loc = "lower right")
plt.show()

(Da es schwer zu sehen war, von $ N = 10 $)

標本分散のバイアス.png

Die blaue Linie ist die Vorspannung durch Simulation und die durchgezogene rote Linie ist die theoretische Vorspannung.

Es gibt eine Tendenz, die fast der Theorie entspricht.

Wie Sie aus den obigen Berechnungsergebnissen ersehen können, hängt die Abweichung im Fall der Stichprobenvarianz von $ N $ ab, und wenn $ N $ erhöht wird, nähert sich die Abweichung $ 0 $.


★ Ist die unvoreingenommene Dispersion nicht voreingenommen?

Nun, hast du bisher gesehen

"Bedeutet das, dass die Schätzung nicht durch unverzerrte Dispersion verzerrt wird?"

Mit anderen Worten

"Wenn Sie die Daten immer wieder übernehmen, berechnen Sie die unverzerrte Varianz und mitteln Sie diese. Ist sie gleich der wahren Varianz?"

Ich denke, dass du denkst.

In der Tat ist das richtig. Versuchen wir dasselbe, was wir mit der Probendispersion mit unvoreingenommener Dispersion gemacht haben.

np.random.seed(42)

M_var1 = 200
K_var1 = 10000
mu_var1 = 10
std_var1 = 5
EV_var1 = []

for N in range(M_var1):
    V_var1 = []
    for i in range(K):
        X = np.random.normal(mu, std, N)
        V_var1.append(np.var(X, ddof = 1))
    EV_var1.append(np.mean(V_var1))

plt.figure(figsize = (10, 3.5))
plt.plot(EV_var1, color = 'blue', linewidth = 0.5, label = "Mean of Estimator")
plt.axhline(25, ls = "--", color = "red", label = "True")
plt.xlabel("Bias")
plt.ylabel("standard deviation")
plt.legend(loc = "lower right")
plt.show()

不偏分散.png

Es mag schwierig zu realisieren sein, da der Wertebereich auf der vertikalen Achse klein ist, aber der Durchschnittswert der unverzerrten Varianz unabhängig vom Wert von $ N $ nahe an der wahren Varianz liegt.

Vergleichen wir den "Durchschnittswert der Probendispersion" und den "Durchschnittswert der unverzerrten Dispersion", um festzustellen, dass die unverzerrte Dispersion unverzerrt ist.

plt.figure(figsize = (10, 3.5))
plt.plot(EV_var1[10:], color = 'blue', linewidth = 0.5, label = "Unbiased Variance")
plt.plot(EV_var00[10:], color = 'green', linewidth = 0.5, label = "Sample Variance")
plt.axhline(25, ls = "--", color = "red", label = "True")
plt.xlabel("Bias")
plt.ylabel("standard deviation")
plt.legend(loc = "lower right")
plt.show()

(Da es schwer zu sehen war, von $ N = 10 $)

標本分散と不偏分散の比較.png

Die grüne Linie ist die durchschnittliche Probendispersion und die blaue Linie ist die durchschnittliche unverzerrte Dispersion. Sie können sehen, dass die unverzerrte Varianz deutlich weniger voreingenommen ist als die Stichprobenvarianz.

Es bleibt immer wieder bestehen, aber das Bild zeigt, dass die Anzahl der beobachteten Werte $ N $ festgelegt ist, die Varianz wiederholt geschätzt wird und der Durchschnittswert dieser erhaltenen Schätzungen gleich dem wahren Wert ist. Wird sein.


★ Konsistenz

Ich glaube, ich habe die Voreingenommenheit irgendwie verstanden. Was ist der Unterschied zur Konsistenz?

Bei der Konsistenz geht es nicht um Durchschnitt oder ähnliches, sondern nur darum, $ N $ in einer einzigen Schätzung unendlich zu machen und dann den wahren Wert zu ermitteln. Das Experiment muss also nur $ N $ erhöhen.

Zusammenfassend ist die Stichprobenvarianz konsistent, aber wir werden dies durch Simulation bestätigen. (Zum Beweis ist hier hilfreich.)

Im Falle der Konsistenz sehen wir das Verhalten, wenn die Daten stetig vergrößert werden, z. B. geschätzt um $ N = 1 $ → geschätzt um $ N = 2 $ → $ ... (Schätzen Sie nur einmal für jedes $ N $.)

np.random.seed(42)

M_consistent = 10000
mu_consistent = 10
std_consistent = 5
V_consistent = []

for N in range(M_consistent):
    X_consistent = np.random.normal(mu_consistent, std_consistent, N)
    V_consistent.append(np.var(X_consistent, ddof = 0))

plt.figure(figsize = (10, 3.5))
plt.plot(V_consistent, color = 'blue', linewidth = 0.3, label = "Estimator")
plt.axhline(25, ls = "--", color = "red", label = "True")
plt.xlabel("N")
plt.ylabel("Variance")
plt.legend(loc = "lower right")
plt.show()

標本分散の一致性.png

Sie können sehen, dass $ N $ mit zunehmendem Wachstum der tatsächlichen Streuung näher kommt.

Die unvoreingenommene Dispersion ist fast gleich.

Da die geteilte Zahl die Differenz zwischen $ N $ und $ N-1 $ ist, können Sie sehen, dass diese Differenz vernachlässigbar zu sein scheint, sobald sie zu einem gewissen Grad wächst.

np.random.seed(42)

M_consistent1 = 10000
mu_consistent1 = 10
std_consistent1 = 5
V_consistent1 = []

for N in range(M_consistent1):
    X_consistent1 = np.random.normal(mu_consistent1, std_consistent1, N)
    V_consistent1.append(np.var(X_consistent1, ddof = 1))


plt.figure(figsize = (10, 3.5))
plt.plot(V_consistent1, color = 'blue', linewidth = 0.3, label = "Estimator")
plt.axhline(25, ls = "--", color = "red", label = "True")
plt.xlabel("N")
plt.ylabel("Variance")
plt.legend(loc = "lower right")
plt.show()

不偏分散の一致性.png


■ Zusammenfassung

Ich war sehr müde, obwohl ich nicht viel getan habe. In der zweiten Hälfte mag es etwas chaotisch erscheinen, aber es ist besser, es kurz zu schreiben. .. .. Richtig. .. ..

Grob gesagt,

** Unvoreingenommen **: Entspricht die Anzahl der beobachteten Werte dem wahren Wert, wenn sie geschätzt werden, indem Daten immer wieder aufgenommen und gemittelt werden?

** Konsistenz **: Ist es gleich dem wahren Wert, wenn die Anzahl der beobachteten Werte in einer Schätzung extrem groß ist?

Ist es so


★ Referenzen ★

[1] Noda, Miyaoka: Grundlagen der mathematischen Statistik (1992) [2] Shimizu: Probabilistische Theorie für die Statistik über (2019) hinaus [3] Zeigen Sie die Konsistenz der unvoreingenommenen Stichprobenverteilung (Link). [4] Unvoreingenommene Verteilung (Link) [5] Stichprobenvarianz und unverzerrte Varianz sind Konkordanzschätzungen (Link)

[^ 1]: Verstehst du jetzt? Ich kann nicht aufhören zu schwitzen, wenn ich gefragt werde. Ich muss die Theorie der Absurdität studieren. .. ..

[^ 2]: Natürlich gibt es viele andere Kriterien wie dieses.

Recommended Posts

Kommentar zu Unparteilichkeit und Beständigkeit für diejenigen, die sich nicht verlieben
AWS ~ Für diejenigen, die es verwenden werden ~
Für diejenigen, die Keras oder TensorFlow nicht auf einer GPU mit macOS Sierra ausführen können
Für diejenigen, die einen Schlüsselfehler erhalten: 'length_seconds' auf pytube
Für diejenigen, die Python unter Windows XP nicht installieren können
Für diejenigen, die nicht wissen, wie man ein Passwort mit Jupyter auf Docker festlegt
Bitte beenden Sie das Drucken und importieren Sie die Protokollierung für die Protokollausgabe
Java SE8 Gold misst (für diejenigen, die nicht gut darin sind)
[YOLO v5] Objekterkennung für maskierte und nicht maskierte Personen