Scipy scipy.stats.pearsonr Méthode

Bhuwan Bhatt 30 janvier 2023
  1. Syntaxe de scipy.stats.pearsonr() :
  2. Exemples de codes : Méthode scipy.stats.pearsonr() pour trouver le coefficient de corrélation
  3. Exemples de codes : Utilisation de la méthode scipy.stats.pearsonr() pour trouver la corrélation entre les variables dans un fichier CSV
Scipy scipy.stats.pearsonr Méthode

La méthode Python Scipy scipy.stats.pearsonr() est utilisée pour trouver le coefficient de corrélation de Pearson, qui représente les relations linéaires entre deux variables. Il donne également la p-value pour tester la non-corrélation.

La valeur du coefficient de corrélation de Pearson est comprise entre -1 et +1. S’il est proche de -1, il existe une forte relation linéaire négative entre les variables. Si c’est 0, il n’y a pas de relation linéaire, et à +1, il y a une forte relation entre les variables.

Une relation positive indique que si la valeur d’une variable augmente ou augmente, la valeur d’une autre augmente également.

Syntaxe de scipy.stats.pearsonr() :

scipy.stats.pearsonr(x, y)

Paramètres

x Il s’agit des éléments du tableau d’entrée de la première variable ou attribut.
y Il s’agit des éléments du tableau d’entrée de la deuxième variable ou attribut. La longueur doit être égale à x.

Retourner

Il retourne un tuple de deux valeurs :

  1. r : C’est le coefficient de corrélation de Pearson. Il montre le degré de relation entre x et y.
  2. p-value : C’est la valeur de signification de la probabilité. Il vérifie s’il faut accepter ou rejeter l’hypothèse nulle.

L’hypothèse nulle signifie qu’il n’y a pas de relation entre les variables considérées.

Exemples de codes : Méthode scipy.stats.pearsonr() pour trouver le coefficient de corrélation

import scipy
from scipy import stats

arr1 = [3, 6, 9, 12]
arr2 = [12, 10, 11, 11]
r, p = scipy.stats.pearsonr(arr1, arr2)

print("The pearson correlation coefficient is:", r)
print("The p-value is:", p)

Production :

The pearson correlation coefficient is: -0.31622776601683794
The p-value is: 0.683772233983162

Ici, deux tableaux ayant des éléments égaux sont considérés, et ils sont passés en argument dans la fonction pearsonr. Ici, nous voyons le coefficient de corrélation négatif comme une sortie parce que le premier tableau a des éléments valorisés linéairement croissants, tandis que les éléments sont pris au hasard dans le second tableau.

Puisque p-value (0.683772233983162) est supérieur à 0.05, l’hypothèse nulle est donc vraie.

Exemples de codes : Utilisation de la méthode scipy.stats.pearsonr() pour trouver la corrélation entre les variables dans un fichier CSV

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

data = pd.read_csv("dataset.csv")
newdata = data[["price", "mileage"]].dropna()

r, p = scipy.stats.pearsonr(newdata["price"], newdata["mileage"])
print("The pearson correlation coefficient between price and mileage is:", r)
print("The p-value is:", p)

Production :

The pearson correlation coefficient between price and mileage is: -0.4008381863293672
The p-value is: 4.251481046096957e-97

Ici, nous utilisons la bibliothèque pandas pour charger des données en tant que trame de données pandas. Le fichier dataset.csv est lu. Le fichier contient des données de voiture ayant des colonnes name, price, mileage, brand, et year of manufacture. Ensuite, nous avons fait chuter toutes les colonnes sauf price et mileage pour vérifier la force de leur relation.

En analysant la valeur de sortie, nous pouvons voir que le coefficient de corrélation de Pearson est négatif, ce qui signifie que le prix et le kilométrage ont une relation linéaire négative relativement forte. Les voitures dont le prix est inférieur fourniront le kilométrage le plus élevé, et une fois que le prix de la voiture augmente, la valeur du kilométrage commence à diminuer.

Puisque p est très petit (environ 0), l’hypothèse de test est False et doit être rejetée.