Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer les scores Z en Python



En statistiques, un score z nous indique à combien d’écarts types une valeur se trouve par rapport à la moyenne . Nous utilisons la formule suivante pour calculer un z-score :

z = (X – μ) / σ

où:

  • X est une valeur de données brutes unique
  • μ est la moyenne de la population
  • σ est l’écart type de la population

Ce didacticiel explique comment calculer les scores z pour les valeurs de données brutes en Python.

Comment calculer les scores Z en Python

Nous pouvons calculer les z-scores en Python en utilisant scipy.stats.zscore , qui utilise la syntaxe suivante :

scipy.stats.zscore(a, axis=0, ddof=0, nan_policy=’propagate’)

où:

  • a : un objet de type tableau contenant des données
  • axis : l’axe le long duquel calculer les scores z. La valeur par défaut est 0.
  • ddof : correction des degrés de liberté dans le calcul de l’écart type. La valeur par défaut est 0.
  • nan_policy : comment gérer lorsque l’entrée contient nan. La valeur par défaut est propager, ce qui renvoie nan. ‘raise’ génère une erreur et ‘omit’ effectue des calculs en ignorant les valeurs nan.

Les exemples suivants illustrent comment utiliser cette fonction pour calculer les scores z pour les tableaux numpy unidimensionnels, les tableaux numpy multidimensionnels et les Pandas DataFrames.

Tableaux unidimensionnels Numpy

Étape 1 : Importez les modules.

import pandas as pd
import numpy as np
import scipy.stats as stats

Étape 2 : Créez un tableau de valeurs.

data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])

Étape 3 : Calculez les scores z pour chaque valeur du tableau.

stats.zscore(data)

[-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]

Chaque score z nous indique à combien d’écarts types une valeur individuelle se trouve par rapport à la moyenne. Par exemple:

  • La première valeur de « 6 » dans le tableau est 1,394 écarts-types en dessous de la moyenne.
  • La cinquième valeur de « 13 » dans le tableau est à 0 écart type de la moyenne, c’est-à-dire qu’elle est égale à la moyenne.
  • La dernière valeur de « 22 » dans le tableau est de 1,793 écarts-types au-dessus de la moyenne.

Tableaux multidimensionnels Numpy

Si nous avons un tableau multidimensionnel, nous pouvons utiliser le paramètre axis pour spécifier que nous voulons calculer chaque score z par rapport à son propre tableau. Par exemple, supposons que nous ayons le tableau multidimensionnel suivant :

data = np.array([[5, 6, 7, 7, 8],
                 [8, 8, 8, 9, 9],
                 [2, 2, 4, 4, 5]])

Nous pouvons utiliser la syntaxe suivante pour calculer les scores z pour chaque tableau :

stats.zscore(data, axis=1)

[[-1.569 -0.588 0.392 0.392 1.373]
[-0.816 -0.816 -0.816 1.225 1.225]
[-1.167 -1.167 0.5 0.5 1.333]]

Les scores z pour chaque valeur individuelle sont affichés par rapport au tableau dans lequel ils se trouvent. Par exemple :

  • La première valeur de « 5 » dans le premier tableau est de 1,159 écarts types en dessous de la moyenne de son tableau.
  • La première valeur de « 8 » dans le deuxième tableau est de 0,816 écart-type en dessous de la moyenne de son tableau.
  • La première valeur de « 2 » dans le troisième tableau est 1,167 écarts types en dessous de la moyenne de son tableau.

Cadres de données Pandas

Supposons que nous ayons à la place un Pandas DataFrame :

data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])
data

  A B C
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

Nous pouvons utiliser la fonction apply pour calculer le z-score des valeurs individuelles par colonne :

data.apply(stats.zscore)

          A         B         C
0  0.659380 -0.802955  0.836080
1 -0.659380 -0.802955  0.139347
2  0.989071  0.917663  0.487713
3 -1.648451  1.491202 -1.950852
4  0.659380 -0.802955  0.487713

Les scores z pour chaque valeur individuelle sont affichés par rapport à la colonne dans laquelle ils se trouvent. Par exemple :

  • La première valeur de « 8 » dans la première colonne est de 0,659 écart-type au-dessus de la valeur moyenne de sa colonne.
  • La première valeur « 0 » dans la deuxième colonne est inférieure de 0,803 écart-type à la valeur moyenne de sa colonne.
  • La première valeur de « 9 » dans la troisième colonne est de 0,836 écart-type au-dessus de la valeur moyenne de sa colonne.

Ressources additionnelles:

Comment calculer les scores Z dans Excel
Comment calculer les scores Z dans SPSS
Comment calculer les scores Z sur une calculatrice TI-84

Ajouter un commentaire

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