Les statistiques descriptives regroupent les modèles permettant de décrire un important jeu de données. Certains modèles vous seront familiers.

Dans cet article, nous définirons chaque modèle de statistique descriptives. Nous prendrons ensuite un exemple calculé en Python sur un jeu de données fictif (cliquez ici pour en savoir plus sur les outils que j’ai choisi). Nous détaillerons le rôle de chaque ligne de code pour simplifier la compréhension.

Avertissement : cet article contient du code pouvant heuter la sensibilité des plus jeunes.

Vous trouverez toutes les ressources (base de données et codes) sur ce lien.

Import des bibliothèques et téléchargement de la base de données

Nous commençons par importer pandas, l’outil de gestion des jeux de données de python et attribuons un nom pour l’url de destination du fichier à lire.

Nous pouvons ensuite télécharger les données et afficher l’en-tête et le nombre d’individus de notre jeu de données

import pandas as pd

data = "https://raw.githubusercontent.com/ArnaudCoulon/MyPeopleAnalytics/main/Analytics/Statistiques_Descriptives/DataSet_Statistiques_Descriptives%20-%20Salaires_de_base.csv"

df = pd.read_csv(data)
salaires = df["Salaires_de_base"]

Découvrir le jeu de données

Les deux premières questions à se poser lors de la découverte d’un jeu de données sont :

  • Quelles sont les dimensions (nombre de lignes et de colonnes)
  • Quelles sont les données présentes ?

Il est possible d’obtenir ces informations en 2 lignes :

print(df.shape)
df.head()
Résultat du code

Notre jeu de données est constitué de 2 variables pour 300 individus. Grace à l’affichage des premières lignes du tableau, nous apprenons que la première variable est le matricule et la seconde est le salaire de base mensuel.

Indicateurs de positions

Les indicateurs de position permettent de situer les valeurs de notre jeu de données. Il peut s’agir de trouver les valeurs du centre ou des valeurs décentrées.

Les minimums et maximums permettent de connaître les bornes inférieures et supérieures de nos données. Découvrons quel est le salaire le plus bas et le plus élevé de notre population.

print("Le salaire de base minimum est",min(salaires),"€")
print("Le salaire de base maximum est",max(salaires),"€")
Résultat du code

La moyenne est la somme des valeurs divisée par le nombre de valeur. Elle se calculerai donc :

mean = sum(salaires)/len(salaires)

Or, Python regorge de bibliothèque dont l’objectif est de nous simplifier la vie. Nous allons utiliser Numpy, une bibliothèque incontournable dans les opérations sur les tableaux.

import numpy

mean_stat = numpy.mean(salaires)

print("La moyenne des salaires de base est",mean_stat,"€")

Le résultat du code est le même pour ces deux opérations.

Résultat du code

Les quantiles permettent de connaître la valeur à une position de la distribution.

Ainsi, la médiane donne la valeur du jeu de données telle que 50% des valeurs sont supérieures et 50% sont inférieures.

med = numpy.median(salaires)
print("la médiane des salaires de base  est",med,"€")
Résultat du code

La moyenne des salaires de base était de 2 107,33€ et la médiane est de 2 100€. Il est important d’avoir en tête la distinction entre ces deux mesures. La moyenne est influencée par les valeurs extrêmes alors que la médiane n’est dépendante que de la distribution des valeurs. 

Nous avons vu que notre maximum était 12 000€. Le salaire d’un dirigeant a donc assez de poids pour que la moyenne devienne supérieure à la médiane.

Il est possible de calculer les quantiles pour n’importe quelle position de notre jeu de données.

quantile = numpy.quantile([salaires] ,q=0.25)
print("25% des valeurs sont supérieures à",quantile,"c'est le 1er quartile")
Résultat du code

Le mode est la valeur la plus représentée dans notre jeu de données. C’est une mesure moins connue que les précédentes, elle n’en reste pas moins importante pour découvrir notre jeu de données.

Nous pouvons l’identifier en représentant notre jeu de données avec un histogramme.

salaires.hist()
Résultat du code

Une valeur se dégage aux alentours de 2 100€, confirmons cela grâce à une ligne de code. Nous utiliserons pour cela une nouvelle bibliothèque : Scipy.

from scipy import stats

mode = stats.mode(salaires)

Scipy nous apprend que le mode est 2 100€ et qu’il y a 60 occurrences de cette valeur.

Variance et écart type

La variance et l’écart type permettent de connaître la dispersion de nos données. Si les valeurs présentent de grands écarts entre elles.

La variance est la moyenne du carré des écarts à la moyenne. L’écart type est la racine carrée de la variance. Cette valeur, plus intelligible est souvent privilégiée dans les analyses. Elles se calcul ainsi :

variance = numpy.var(salaires)
print(variance)

ecart_type = numpy.std(salaires, ddof=1)
print(ecart_type)
Résultat du code

En moyenne, les salaires de base ont une dispersion de 623,46€ à la moyenne.

Le paramêtre « ddof=1 » est facultatif. Il permet de changer de modèle de calcul de l’écart type. C’est un détail qui peut avoir son importance, cliquez ici pour en savoir plus.

Nous avons découvert ensemble les principales mesures statistiques et leur calcul via Python.

Il est possible d’obtenir rapidement un récapitulatif des mesures principales grâce à pandas.

df.describe()
Résultat du code

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *