Die erste Grundlage für die Datenanalyse ist das Sammeln interessanter Daten. Das Interesse der Statistik ist nur die gesamte Situation und Tendenz, und die Grundlage für deren Kenntnis ist das Modell der Verteilung und Statistik (Mittelwert und Varianz).
Die Untersuchung des Korrelationskoeffizienten ist eine der Grundlagen. Ich habe bereits viel über lineare Regression und Korrelationskoeffizient gesprochen. Lassen Sie uns hier weiter enträtseln und die Details untersuchen.
Wenn ich eine bestimmte Sportart spielte, überprüfte ich die Werte für das Werfen und Greifen von Bällen von Schülern.
Schüler | Griff | Ballwurf |
---|---|---|
A | 26 | 16 |
B | 26 | 11 |
C | 26 | 14 |
D | 27 | 16 |
E | 28 | 18 |
F | 29 | 16 |
G | 32 | 18 |
H | 29 | 21 |
I | 24 | 14 |
J | 26 | 19 |
Es scheint sich viele Male zu wiederholen, aber Statistiken beginnen mit der Datenerfassung. In diesem Beispiel habe ich die sportlichen Leistungen jedes Schülers aufgezeichnet und tabellarisch aufgeführt. Die Beziehung ist jedoch nicht allein aus der Tabelle ersichtlich. Also werde ich eine Figur machen. Sie können eine grobe Vorstellung von der Beziehung zwischen den beiden Variablen x und y erhalten, indem Sie ein Streudiagramm zeichnen.
Zeichnen wir nun ein Streudiagramm unter Verwendung von bisher erlerntem Wissen.
import numpy as np
import matplotlib.pyplot as plt
X = np.array( [26, 26, 26, 27, 28, 29, 32, 29, 24, 26] )
Y = np.array( [16, 11, 14, 16, 18, 16, 18, 21, 14, 19] )
plt.plot(X, Y, 'o', color="blue")
plt.show()
plt.savefig("image.png ")
Es scheint irgendwie eine positive Korrelation zu geben.
Dies wurde bisher erklärt, aber das nächste, was ich wissen möchte, ist die Quantifizierung der Stärke der Beziehung zwischen den beiden Variablen x und y. Dies ist der Korrelationskoeffizient.
Zur konkreten Berechnung des Korrelationskoeffizienten wird die folgende Formel für die Kovarianz verwendet.
Cov(x,y) = \frac 1 N \sum_{k=1}^N X_kY_k - \overline{x} \overline{y}
Erinnerst du dich? Der Korrelationskoeffizient kann wie folgt erhalten werden.
r(x,y) = \frac {Cov(x,y)} {\sigma(x)\sigma(y)}
Deshalb
r(x,y) = \frac {10 * 4481 - 273 * 163} {\sqrt{(10*7499-273^2)(10*2731-163^2)}} = 0.53
Es wird sein.
Ist diese manuelle Berechnung korrekt? Schreiben wir einen Code und probieren ihn aus.
corr = np.corrcoef(X, Y)[0,1]
print("Der Korrelationskoeffizient zwischen X und Y ist%(corr)s" %locals() )
#=>Der Korrelationskoeffizient zwischen X und Y ist 0.532109266822
Wie erwartet ist es NumPy. Ich habe die Antwort mit nur einer Codezeile erhalten.
Ich habe begonnen, die Beziehung zwischen den beiden Variablen zu überprüfen, die als Grundlage für Statistiken dienen kann. Dieses Mal habe ich das Streudiagramm und den Korrelationskoeffizienten als Ausgangspunkt berechnet.
Recommended Posts