Statistiques pour les programmeurs - Table des matières
Un diagramme à moustaches est un graphique qui permet de comprendre facilement la distribution et la variation des données. Par exemple, supposons un test de 10 personnes ci-dessous.
No | Score en mathématiques | Score de langue nationale |
---|---|---|
1 | 74 | 81 |
2 | 65 | 62 |
3 | 40 | 32 |
4 | 62 | 67 |
5 | 85 | 41 |
6 | 67 | 50 |
7 | 82 | 85 |
8 | 71 | 70 |
9 | 60 | 67 |
10 | 99 | 97 |
Sur la base de ces données, créez un diagramme de moustaches en utilisant matplotlib.
%matplotlib inline
import matplotlib.pyplot as plt
#Score en mathématiques
math = [74, 65, 40, 62, 85, 67, 82, 71, 60, 99]
#Score de langue nationale
literature = [81, 62, 32, 67, 41, 50, 85, 70, 67, 97]
#Tupple de points
points = (math, literature)
#Boîte à moustaches
fig, ax = plt.subplots()
bp = ax.boxplot(points)
ax.set_xticklabels(['math', 'literature'])
plt.title('Box plot')
plt.xlabel('exams')
plt.ylabel('point')
#Plage de mémoire de l'axe Y
plt.ylim([0,100])
plt.grid()
#dessin
plt.show()
Le graphique suivant sera créé.
Cette partie bleue s'appelle une boîte et la ligne noire verticale s'appelle une moustache. La moustache est dessinée entre les valeurs minimale et maximale. La boîte représente le quadrant.
La section suivante décrit ce qu'est un quadrant.
Il y a quelques termes dont vous avez besoin pour comprendre les quadrants, je vais donc vous les expliquer.
Lorsque les données sont classées par ordre croissant, les données à la position N% comptant depuis le début sont appelées le N percentile. Par exemple, dans le 30e centile, les données sont à 30% depuis le début. Le 0e centile est la valeur minimale et le 100e centile est la valeur maximale.
Le quadrant du sujet principal. Le quadrant fait référence aux centiles suivants. En séparant à ces trois positions, le nombre de données peut être divisé en quatre.
Centile | alias |
---|---|
25e centile | Premier quadrant |
50e centile | Deuxième quadrant (médiane) |
75e centile | Troisième quadrant |
Ce qui est calculé par la formule suivante est appelé une plage de quadrants, ou IQR.
Gamme de quadrants(IQR) =75e centile (troisième quadrant) -25e centile (premier quadrant)
Comme le quadrant est divisé en quatre par le nombre de données, le même nombre de données est inclus dans les sections suivantes.
--Valeur minimale-> Premier quadrant --Premier quadrant-> Deuxième quadrant --Deuxième quadrant-> Troisième quadrant --Troisième quadrant-> Valeur maximale
Cependant, dans le graphique ci-dessus, la longueur de chaque section est différente. Cela signifie que les données sont inégales. L'intervalle du 1er quadrant-> 2e quadrant est très court, ce qui signifie que la plupart des gens ont un résultat de test d'environ 40 points et sont biaisés.
De plus, le nombre total de données est la moitié du total lorsque les trois sections du 1er quadrant-> 2e quadrant-> 3e quadrant sont combinées. En d'autres termes, la moitié des scores aux tests des personnes se situent entre 39 et 70 points.
La médiane et les quadrants ne sont pas déplacés même si les valeurs maximum et minimum sont extrêmes, mais les valeurs maximum et minimum sont naturellement soustraites. Des données extrêmes peuvent exister en raison de données anormales telles que des erreurs de mesure. Par conséquent, s'il existe une valeur extrême, nous la considérerons comme une valeur aberrante et expliquerons comment créer un diagramme de moustaches.
Dans le cas des moustaches box mentionnées ci-dessus, si les valeurs maximum et minimum sont extrêmes, la barbe sera longue. Dans le cas d'un diagramme de moustaches de boîte qui considère les valeurs aberrantes, la longueur des moustaches doit être 1,5 fois ou moins de la boîte du côté de la valeur maximale et du côté de la valeur minimale, respectivement, et les données dépassant cette valeur sont considérées comme une valeur aberrante.
matplotlib de python semble détecter automatiquement les valeurs aberrantes. Dans le code ci-dessous, j'ai ajouté 170 points et 190 points aux résultats de score de la langue nationale. Le test est un score parfait de 100, donc les deux devraient être dans le désordre. L'échelle du graphique a été augmentée à 200. Créons maintenant un graphique.
%matplotlib inline
import matplotlib.pyplot as plt
#Score de langue nationale
literature = [81, 62, 32, 67, 41, 50, 85, 100, 170, 190]
#Tupple de points
points = (literature)
#Boîte à moustaches
fig, ax = plt.subplots()
bp = ax.boxplot(points)
ax.set_xticklabels(['literature'])
plt.title('Box plot')
plt.xlabel('exams')
plt.ylabel('point')
#Plage de mémoire de l'axe Y
plt.ylim([0,200])
plt.grid()
#dessin
plt.show()
Il y a deux «+» près du haut du graphique. Pour ces deux, 170 points et 190 points ont été considérés comme des valeurs aberrantes. matplotlib de python est très pratique car il semble le détecter automatiquement comme ça sans définir de valeurs aberrantes.
c'est tout
Recommended Posts