Lorsque vous démarrez l'analyse des données, [statistiques récapitulatives] telles que la moyenne et la distribution des données (https://ja.wikipedia.org/wiki/%E8%A6%81%E7%B4%84%E7%B5%B1% Je pense que vous devriez vérifier E8% A8% 88% E9% 87% 8F). Cependant, il ne suffit parfois pas de vérifier les statistiques récapitulatives.
Par exemple, dans le cas de Ces données [^ 1]
import pandas as pd
import seaborn as sns
#Lire les données
df = pd.read_csv('https://git.io/vD7ui')
#Nuage de points
sns.lmplot(x='x', y='y', col='data', hue='data', col_wrap=2, fit_reg=False, data=df)
Si vous regardez le diagramme de dispersion, vous pouvez voir que les données sont différentes, mais la moyenne et l'écart type prennent la même valeur.
#moyenne
df.groupby('data').mean()
data | x | y |
---|---|---|
0 | 9 | 7.500909 |
1 | 9 | 7.500909 |
2 | 9 | 7.500000 |
3 | 9 | 7.500909 |
#écart-type
df.groupby('data').std()
data | x | y |
---|---|---|
0 | 3.316625 | 2.031568 |
1 | 3.316625 | 2.031657 |
2 | 3.316625 | 2.030424 |
3 | 3.316625 | 2.030579 |
Vous pouvez voir que les valeurs fines sont différentes, mais elles sont presque les mêmes.
De plus, la ligne de régression sera exactement la même.
#Nuage de points+Retour en ligne droite
sns.lmplot(x='x', y='y', col='data', hue='data', col_wrap=2, fit_reg=True, data=df)
Dans les pandas, vous pouvez afficher des statistiques récapitulatives collectivement avec la méthode describe
.
#Statistiques récapitulatives
df.groupby('data').describe()
x y
data
0 count 11.000000 11.000000
mean 9.000000 7.500909
std 3.316625 2.031568
min 4.000000 4.260000
25% 6.500000 6.315000
50% 9.000000 7.580000
75% 11.500000 8.570000
max 14.000000 10.840000
1 count 11.000000 11.000000
mean 9.000000 7.500909
std 3.316625 2.031657
min 4.000000 3.100000
25% 6.500000 6.695000
50% 9.000000 8.140000
75% 11.500000 8.950000
max 14.000000 9.260000
2 count 11.000000 11.000000
mean 9.000000 7.500000
std 3.316625 2.030424
min 4.000000 5.390000
25% 6.500000 6.250000
50% 9.000000 7.110000
75% 11.500000 7.980000
max 14.000000 12.740000
3 count 11.000000 11.000000
mean 9.000000 7.500909
std 3.316625 2.030579
min 8.000000 5.250000
25% 8.000000 6.170000
50% 8.000000 7.040000
75% 8.000000 8.190000
max 19.000000 12.500000
Les écarts moyen et standard sont comme vous l'avez vu précédemment, mais vous pouvez voir que les quadrants sont légèrement différents. Surtout data3 est très différent.
De cette façon, des données avec différents diagrammes de dispersion mais les mêmes statistiques et la même ligne de régression [exemple Anscom](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83% Il est appelé B3% E3% 82% B9% E3% 82% B3% E3% 83% A0% E3% 81% AE% E4% BE% 8B). Par conséquent, il est important de dessiner un diagramme de dispersion ainsi que des statistiques.
Cependant, dans les données réelles, je pense que c'est rarement bidimensionnel. Dans ce cas, [Analyse primaire (PCA)](https://ja.wikipedia.org/wiki/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6 Il est nécessaire de concevoir comme utiliser% 9E% 90) pour réduire la dimension à 2 dimensions et la visualiser.
[^ 1]: les lignes avec la même valeur dans la colonne de données représentent les mêmes données
Recommended Posts