La première base de l'analyse des données est la collecte de données intéressantes. L'intérêt des statistiques n'est que l'ensemble de la situation et de la tendance, et la base pour la connaître est le modèle de distribution et de statistiques (moyenne et variance).
L'examen du coefficient de corrélation est l'une des bases. J'ai beaucoup parlé de régression linéaire et de coefficient de corrélation auparavant. Explorons plus loin ici et explorons les détails.
En pratiquant un certain sport, j'ai vérifié les valeurs de puissance de lancer et de préhension des élèves du secondaire.
étudiant | Poignée | Lancer de balle |
---|---|---|
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 |
Cela semble se répéter plusieurs fois, mais les statistiques commencent par la collecte de données. Dans cet exemple, j'ai enregistré et tabulé les performances sportives de chaque élève. Cependant, la relation n'est pas claire à partir du seul tableau. Alors je vais faire un chiffre. Vous pouvez avoir une idée approximative de la relation entre les deux variables x et y en dessinant un diagramme de dispersion.
Maintenant, dessinons un diagramme de dispersion en utilisant les connaissances acquises jusqu'à présent.
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 ")
Il semble y avoir une corrélation positive en quelque sorte.
Cela a été expliqué jusqu'à présent, mais la prochaine chose que je veux savoir est de quantifier la force de la relation entre les deux variables x et y. C'est le coefficient de corrélation.
Pour calculer concrètement le coefficient de corrélation, la formule de covariance suivante est utilisée.
Cov(x,y) = \frac 1 N \sum_{k=1}^N X_kY_k - \overline{x} \overline{y}
Vous vous en souvenez? Le coefficient de corrélation peut être obtenu comme suit.
r(x,y) = \frac {Cov(x,y)} {\sigma(x)\sigma(y)}
Donc
r(x,y) = \frac {10 * 4481 - 273 * 163} {\sqrt{(10*7499-273^2)(10*2731-163^2)}} = 0.53
Ce sera.
Ce calcul manuel est-il correct? Écrivons du code et essayons-le.
corr = np.corrcoef(X, Y)[0,1]
print("Le coefficient de corrélation entre X et Y est%(corr)s" %locals() )
#=>Le coefficient de corrélation entre X et Y est de 0.532109266822
Comme prévu, il s'agit de NumPy. J'ai eu la réponse avec une seule ligne de code.
J'ai commencé à examiner la relation entre les deux variables, dont on peut dire qu'elles sont à la base des statistiques. Cette fois, j'ai calculé le diagramme de dispersion et le coefficient de corrélation comme point de départ.
Recommended Posts