Ableitung des Quadrantenbereichs der Standardnormalverteilung Genaue Berechnungsmethode für den numerischen Wert der "Standardnormalverteilungstabelle", die häufig dem Anhang des Statistikbuchs beigefügt ist
Wenn der erste Quadrant $ Q_1 $ und der dritte Quadrant $ Q_3 $ ist, handelt es sich vorerst um eine Wahrscheinlichkeitsdichtefunktion der Standardnormalverteilung.
Und wenn Sie den Unterschied zwischen diesen beiden Formeln nehmen,
\begin{align}
\int_{-\infty}^{Q_3} f(x) \ dx-\int_{-\infty}^{Q_1} f(x) \ dx&=\int_{Q_1}^{Q_3} f(x) \ dx \\
&=\frac{1}{2}
\end{align}
Da es sich um eine Standardnormalverteilung handelt, gilt hier der Durchschnitt $ \ mu = 0 $. Unter Verwendung der Konstante c,
Weil es ausgedrückt werden kann als
\begin{align}
\int_{Q_1}^{Q_3} f(x) \ dx&=\int_{-c}^{c} f(x) \ dx\\ &=\frac{1}{2}
\end{align}
Wird sein. Hier wird mit der Fehlerfunktion erf $ (x) $,
\begin{align}
\int_{-c}^{c} exp\left(-\frac{x^2}{2}\right) \ dx&=\left[\frac{\pi}{2} erf\left(\frac{x}{\sqrt{2}}\right)\right]_{-c}^{c}\\
&= \sqrt{2\pi} erf\left(\frac{c}{\sqrt{2}}\right)
\end{align}
(Dank Wolfram Alpha) gilt also die folgende Gleichung.
Hier würde ich gerne c in der Fehlerfunktion finden, aber Analyseansätze wie die teilweise Integration sind völlig unpraktisch. Hier stecken Sie im Sumpf der Integration fest. Welche Art von Politik sollten Sie verlangen?
Dieses Mal werden wir Numpy als Modul verwenden. Glücklicherweise ist in numpy bereits eine Fehlerfunktion integriert, sodass die Verwendung sehr einfach ist. (Es scheint, dass Scipy dasselbe tun kann.)
Ich werde die Funktion später auch visualisieren, also werde ich auch matplotlib einschließen.
import numpy as np
import matplotlib.pyplot as plt
Von hier aus möchte ich $ c $ finden, für das die folgende Gleichung gilt.
Diese Fehlerfunktion übrigens
fig = plt.figure(figsize = (6, 4))
ax = fig.add_subplot(111)
x=np.linspace(-2.0,2.0,2000000)
y=np.erf(x/np.sqrt(2))
ax.set_xlabel("x", fontsize = 14)
ax.set_ylabel("erf(x)", fontsize = 14)
plt.plot(x, y, ls="-", label="erf(x)", color="red")
plt.title("Error function")
plt.legend()
plt.show()
Es ist eine allgemeine Form wie die Sigmoid-Funktion und nimmt im engeren Sinne monoton zu.
Lösen Sie also c mit dem folgenden Ansatz. ① Da es sich um eine Standardnormalverteilung handelt, ist der Bereich von c von den Merkmalen der Standardabweichung (VERWENDUNG DER STANDARDABWEICHUNG) [-1,1] Erhöhen Sie dann um $ 10 ^ {-6} $ gemäß der Reihenfolge der Verteilungstabelle. ② $ erf (\ frac {c} {\ sqrt {2}}) <\ frac {1} {2} Wenn es kleiner als $ ist, führen Sie die Berechnung aus und erhöhen Sie den integrierten Wert, und $ erf (\ frac) {c} {\ sqrt {2}}) ≒ \ frac {1} {2} Ermitteln Sie den Last-Minute-Wert c, der $ ist.
Codieren Sie dies auf die gleiche Weise wie beim Programmieren der Fehlerfunktion.
for c in np.arange(-1.000000,1.000000):
while np.erf(c/np.sqrt(2)) < 1/2:
c=c+0.000001
break
print(c)
Wenn ich versuche, es zu visualisieren,
fig = plt.figure(figsize = (6, 4))
ax = fig.add_subplot(111)
x=np.linspace(-1.0,1.0,1000000)
y=np.erf(x/np.sqrt(2))
ax.set_xlabel("c", fontsize = 14)
ax.set_ylabel("erf score", fontsize = 14)
plt.plot(x, y, ls="-", label="erf(c/√2)")
ax.axhline(0.5, ls = "-.", color = "green", label="erf score = 1/2")
plt.title("Error function")
plt.legend()
plt.show()
Aus dem Programmergebnis ergibt sich $ c = 0,674490 $ ..., also ist der Quadrantenbereich
\begin{align}
c-(-c)&=2c \\
&= 2*(0.674490...) \\
&≒ 1.349
\end{align}
Daher beträgt der Quadrantenbereich der Standardnormalverteilung 1,349 USD.
Recommended Posts