in

Comment trouver la variance en utilisant Python


Cet article a été initialement publié sur Built In par Eric Kleppen.

La variance est une statistique puissante utilisée dans l’analyse de données et l’apprentissage automatique. C’est l’une des quatre principales mesures de variabilité avec l’intervalle, l’intervalle interquartile (IQR) et l’écart type. La compréhension de la variance est importante car elle vous donne un aperçu de la répartition de vos données et peut être utilisée pour comparer les différences dans des groupes d’échantillons ou identifier des fonctionnalités de modélisation importantes. La variance est également utilisée dans l’apprentissage automatique pour comprendre les changements de performances du modèle dus à l’utilisation de différents échantillons de données d’apprentissage.

Le calcul de la variance est facile avec Python. Avant de plonger dans le code Python, je vais d’abord expliquer ce qu’est la variance et comment vous pouvez la calculer. À la fin de ce didacticiel, vous comprendrez mieux pourquoi la variance est une statistique importante, ainsi que plusieurs méthodes pour la calculer à l’aide de Python.

Qu’est-ce que la variance ?

La meilleure expérience au meilleur prix

Inscrivez-vous à notre newsletter et soyez le premier à savoir quand les billets pour la conférence TNW 2023 sont en vente !

La variance est une statistique qui mesure la dispersion. Une variance faible indique que les valeurs sont généralement similaires et ne s’écartent pas beaucoup de la moyenne, tandis qu’une variance élevée indique que les valeurs sont plus éloignées de la moyenne. Vous pouvez utiliser la variance sur un ensemble d’échantillons ou sur l’ensemble de la population, car le calcul prend en compte tous les points de données de l’ensemble donné. Bien que le calcul diffère légèrement lorsque vous examinez un échantillon par rapport à une population, vous pouvez calculer la variance comme la moyenne des différences au carré par rapport à la moyenne.

Étant donné que la variance est une valeur au carré, elle peut être difficile à interpréter par rapport à d’autres mesures de variabilité comme l’écart type. Quoi qu’il en soit, l’examen de la variance peut être utile ; cela peut vous permettre de décider plus facilement des tests statistiques à utiliser avec vos données. Selon les tests statistiques, une variance inégale entre les échantillons pourrait fausser ou biaiser les résultats.

L’un des tests statistiques populaires qui applique la variance s’appelle le test d’analyse de la variance (ANOVA). Un test ANOVA est utilisé pour évaluer si l’une des moyennes de groupe est significativement différente l’une de l’autre lors de l’analyse d’une variable indépendante catégorielle et d’une variable dépendante quantitative. Par exemple, supposons que vous souhaitiez analyser si l’utilisation des médias sociaux a un impact sur les heures de sommeil. Vous pouvez diviser l’utilisation des médias sociaux en différentes catégories telles que faible utilisation, utilisation moyenne et utilisation élevée, puis exécuter un test ANOVA pour évaluer s’il existe des différences statistiques entre les moyennes de groupe. Le test peut montrer si les résultats sont expliqués par des différences de groupe ou des différences individuelles.

Comment trouver l’écart ?

Le calcul de la variance d’un ensemble de données peut différer selon que l’ensemble correspond à l’ensemble de la population ou à un échantillon de la population.

La formule pour calculer la variance d’une population entière ressemble à ceci :

σ² = ∑ (Xᵢ— μ)² / N

Une explication de la formule :

  • σ² = variance de la population
  • Σ = somme de…
  • Χᵢ = chaque valeur
  • μ = moyenne de la population
  • Ν = nombre de valeurs dans la population
  • En utilisant un exemple de plage de nombres, passons en revue le calcul étape par étape.

Exemple de plage de nombres : 8, 6, 12, 3, 13, 9

Trouvez la moyenne de la population (μ):

Calcul pour trouver la variance en Python

Calculez les écarts par rapport à la moyenne en soustrayant la moyenne de chaque valeur.

Calcul pour trouver la variance en Python

Mettez au carré chaque écart pour obtenir un nombre positif.

Carré chaque écart avec un nombre positif

Additionnez les valeurs au carré.

Additionnez les valeurs au carré

Diviser la somme des carrés par N ou n-1.

Puisque nous travaillons avec l’ensemble de la population, nous diviserons par N. Si nous travaillions avec un échantillon de la population, nous diviserions par n-1.

69,5/6 = 11,583

Nous l’avons! La variance de notre population est de 11,583.

Pourquoi utiliser n-1 pour calculer la variance de l’échantillon ?

L’application de n-1 à la formule s’appelle la correction de Bessel, du nom de Friedrich Bessel. Lors de l’utilisation d’échantillons, nous devons calculer la variance estimée pour la population. Si nous utilisions N au lieu de n-1 pour l’échantillon, l’estimation serait biaisée, sous-estimant potentiellement la variance de la population. L’utilisation de n-1 rendra l’estimation de la variance plus grande, surestimant la variabilité dans les échantillons, réduisant ainsi les biais.

Recalculons la variance en prétendant que les valeurs proviennent d’un échantillon :

recalculer la variance en prétendant que les valeurs proviennent d'un échantillon

Comme on peut le voir, la variance est plus grande !

Calculer la variance avec Python

Maintenant que nous avons fait le calcul à la main, nous pouvons voir que le compléter pour un grand nombre de valeurs serait très fastidieux. Heureusement, Python peut facilement gérer le calcul de très grandes données. Nous allons explorer deux méthodes utilisant Python :

  • Ecrire notre propre fonction de calcul de variance
  • Utiliser la fonction intégrée de Pandas

Écrire une fonction de variance

Alors que nous commençons à écrire une fonction pour calculer la variance, repensez aux étapes que nous avons suivies lors du calcul à la main. Nous voulons que la fonction accepte deux paramètres :

  • population : un tableau de nombres
  • is_sample : un booléen pour modifier le calcul selon que nous travaillons avec un échantillon ou une population

Commencez par définir la fonction qui prend en compte les deux paramètres.

Commencez par définir la fonction qui prend en compte les deux paramètres.

Ensuite, ajoutez une logique pour calculer la moyenne de la population.

Ensuite, ajoutez une logique pour calculer la moyenne de la population.

Après avoir calculé la moyenne, trouvez les différences par rapport à la moyenne pour chaque valeur. Vous pouvez le faire en une seule ligne en utilisant une compréhension de liste.

trouver les différences par rapport à la moyenne pour chaque valeur.

Ensuite, mettez les différences au carré et additionnez-les.

Ensuite, mettez les différences au carré et additionnez-les.

Enfin, calculez la variance. En utilisant une instruction If/Else, nous pouvons utiliser le paramètre is_sample. Si is_sample est vrai, calculez la variance en utilisant (n-1). S’il est faux (valeur par défaut), utilisez N :

Calculer l'écart

Nous pouvons tester le calcul en utilisant la plage de nombres que nous avons croquée à la main :

Comment trouver la variance en Python

Trouver la variance à l’aide de Pandas

Bien que nous puissions écrire une fonction pour calculer la variance en moins de 10 lignes de code, il existe un moyen encore plus simple de trouver la variance. Vous pouvez le faire en une ligne de code en utilisant Pandas. Chargeons quelques données et travaillons sur un exemple réel de recherche de variance.

Chargement de données d’exemple

L’exemple Pandas utilise l’ensemble de données BMW Price Challenge de Kaggle, téléchargeable gratuitement. Commencez par importer la bibliothèque Pandas, puis lisez le fichier CSV dans une trame de données Pandas :

lecture du fichier CSV dans une trame de données Pandas

Nous pouvons compter le nombre de lignes dans l’ensemble de données et afficher les cinq premières lignes pour nous assurer que tout est correctement chargé :

Nous pouvons compter le nombre de lignes dans l'ensemble de données et afficher les cinq premières lignes pour nous assurer que tout est correctement chargé :

Affichage des premières lignes à l'aide de bmw_df.head()