• 15 hours
  • Medium

Free online content available in this course.

Videos available in this course

Certificate of achievement available at the end this course

Got it!

Last updated on 5/14/19

Représentez la distribution empirique d'une variable

Log in or subscribe for free to enjoy all this course has to offer!

Comment peut-on représenter une variable ?

Jusqu'à maintenant, nous avons vu comment afficher un échantillon (sous forme de tableau où chaque ligne représente un individu, et chaque colonne une variable). Pour représenter la variable categ par exemple, on pourrait sélectionner la colonne categ du tableau, et l'afficher telle quelle :

La colonne

Mais il faut avouer que c'est assez illisible ! :waw: En plus, il est fréquent d'avoir des échantillons de 1000 individus ou plus. Une colonne avec 1000 valeurs dedans, c'est très moche et très difficile à interpréter. Il y a une solution bien meilleure, qui consiste à dire :

Il y a 39 fois la valeur COURSES, 212 fois la valeur AUTRE, 21 fois la valeur TRANSPORT, etc.

Cette formulation est appelée distribution empirique. C'est cette distribution que l'on se propose de représenter graphiquement ici.

Représenter une distribution empirique

Les différentes "possibilités" que l'on peut observer pour la variable categ sont ses modalités. Les modalités de la variable categ sont : courses, transport, autre, loyer, etc. Pour une variable quantitative cependant, on les appelle les valeurs possibles. On associe à chaque modalité (ou valeur) un effectif. L'effectif de la modalité courses est $\(n_{courses} = 39\)$ .

En divisant un effectif par le nombre d'individus de l'échantillon (noté $\(n\)$ ), on obtient une fréquence.

La distribution empirique d'une variable, c'est l’ensemble des valeurs (ou modalités) prises par cette variable, ainsi que leurs effectifs associés. On trouve aussi une autre version : l’ensemble des valeurs (ou modalités) prises par cette variable, ainsi que leurs fréquences associées. On peut présenter ceci sous forme de tableau. Nous approfondirons cette présentation dans le chapitre suivant :

Passons maintenant aux représentations graphiques.

Cas des variables qualitatives

Voici 2 représentations possibles de la distribution de la variable categ :

 

A gauche, vous avez le diagramme en secteurs, plus connu sous le nom de diagramme en camembert. Si les francophones y voient un camembert (fleuron de la gastronomie française), les anglophones y voient plutôt une tarte, et l'appellent donc pie chart. Ici, l'angle de chaque secteur est proportionnel à l'effectif de chaque modalité.

A droite, c'est le diagramme en tuyaux d'orgue, appelé en anglais bar chart. La hauteur des tuyaux est égale à l'effectif de chaque modalité, ou bien (au choix) égale à la fréquence de chaque modalité comme c'est le cas ici.

Si la variable est qualitative ordinale, alors il suffit de classer sur le graphique les modalités en ordre croissant.

Cas des variables quantitatives

Variables discrètes

Pour les variables discrètes, on les représente par un équivalent du diagramme en tuyaux d'orgue : le diagramme en bâtons. Cependant, avec les variables qualitatives, on pouvait placer les tuyaux un peu n'importe où sur l'axe horizontal. Mais avec une variable quantitative, on est contraint à placer précisément les bâtons sur l'axe horizontal. Comme on doit être précis, on préfère que les bâtons soient très fins.

Variables continues

Prenons l'exemple de la taille d'une personne : c'est une variable continue. On peut très bien avoir une personne de taille 1,47801 m et une autre de 1,47802 m. Ces deux tailles sont différentes : faut-il alors afficher sur notre graphique 2 bâtons, un pour chacune des 2 tailles ?

Tu chipotes, 1,47801 m et 1,47802 m, c'est quasiment la même valeur, il faut donc que tu les considères comme égales !

Tout à fait ! Considérer que 1,47801 m et 1,47802 m sont presque égales, c'est regrouper ces valeurs. On dit alors que l'on agrège des valeurs en classes. Si on décide d'agréger en classes de taille 0,2 m, alors ces 2 valeurs seront toutes les deux situées dans la classe $\([1.4m;1.6m[\)$ .

Le fait d'agréger une variable s'appelle la discrétisation (en anglais : binning, bucketing ou discretization).

Ainsi, pour les variables continues, on utilise l'histogramme, dans lequel les valeurs sont agrégées. Ici, comme on représente des classes (ou des intervalles si vous préférez), on n'utilise plus de fins bâtons, mais  des rectangles dont la largeur correspond à la largeur de la classe.

A gauche : histogramme de la variable montant, filtrée sur les montants compris entre -100 et 100. A droite : histogramme avec des classes de largeur inégales.

Si cependant, vous ne souhaitez pas agréger les valeurs, il existe une autre solution : représenter la fonction de répartition empirique. Il faut vous la représenter comme un escalier. Pour la représenter, on parcourt l'axe horizontal des petites valeurs vers les grandes valeurs. A chaque fois que l'on rencontre une valeur qui est présente dans notre échantillon, on monte d'une marche. Il y aura donc autant de marches que de valeurs, et d'ailleurs autant que d'individus. Toutes les marches ont la même hauteur.

Une fois parcourues toutes les valeurs de l'échantillon, on aura atteint le haut de l'escalier. On dit (arbitrairement) que le haut de l'escalier est d'une hauteur de 1.

Fonction de répartition empirique
Fonction de répartition empirique

Pour en savoir plus sur la fonction de répartition, rendez-vous au bas de ce chapitre (section Aller plus loin.)

Du côté du code

Voici le code qui a généré les graphiques ci-dessus. Pour chacun des graphiques, 2 lignes suffisent :

import matplotlib.pyplot as plt

# VARIABLE QUALITATIVE
# Diagramme en secteurs
data["categ"].value_counts(normalize=True).plot(kind='pie')
# Cette ligne assure que le pie chart est un cercle plutôt qu'une éllipse
plt.axis('equal') 
plt.show() # Affiche le graphique

# Diagramme en tuyaux d'orgues
data["categ"].value_counts(normalize=True).plot(kind='bar')
plt.show()

# VARIABLE QUANTITATIVE
# Diagramme en bâtons
data["quart_mois"].value_counts(normalize=True).plot(kind='bar',width=0.1)
plt.show()

# Histogramme
data["montant"].hist(normed=True)
plt.show()
# Histogramme plus beau
data[data.montant.abs() < 100]["montant"].hist(normed=True,bins=20)
plt.show()

Ici, nous reprenons le même raisonnement qu'au début de ce chapitre. On commence par sélectionner la colonne souhaitée  data['categ'], puis on compte le nombre d'apparitions de chaque modalité :  data['categ'].value_counts(). Pour obtenir les fréquences, on peut éventuellement ajouter  normalize=True. On obtient donc la distribution empirique. Pour l'afficher, on fait appel à la méthode  plot, à laquelle on spécifie le type de graphique souhaité (  pie  ou  bar  ). 

Comme nous l'avons dit plus haut, pour une variable quantitative, on regroupe les valeurs en classes. Utiliser  value_counts()  n'aurait donc pas vraiment de sens : on utilise donc la méthode  hist(), qui s'occupe elle-même de regrouper les valeurs en classes. La ligne 20 crée un histogramme un peu trop étalé, car il y a des montants très grands et très petits. On filtre donc ici les montants compris entre -100 € et 100 € grâce à  data[data.montant.abs() < 100]  (on utilise pour cela la valeur absolue). Enfin, on peut aussi spécifier le nombre de classes voulues grâce au mot clé  bins  : ici 20.

Aller plus loin : La fonction de répartition empirique

La fonction de répartition empirique s'exprime de la manière suivante :

$\[F_{emp}( x) =\frac{1}{n}\sum_{i=1}^{n}\, I_{\{x_{i}\leq x\} }\]$

 où  $\(I\)$ est la fonction indicatrice, et où

$\[I_{\{x_{i}\leq x\} } = \begin{cases}1\ \text{si} \ x_{i}\leq x\\0 \text{ sinon}\end{cases}\]$

Aller plus loin : Nombre optimal de classes pour l'agrégation

Pour l'histogramme, il existe des règles pour déterminer le nombre optimal de classes. Par exemple, la règle de Sturges (1926) considère comme nombre optimal de classes :

$\[k = [1 + log_2 (n)]\]$

$\(n\)$ est la taille de l'échantillon.

Example of certificate of achievement
Example of certificate of achievement