Scipy scipy.stats.pearsonr Méthode
-
Syntaxe de
scipy.stats.pearsonr()
: -
Exemples de codes : Méthode
scipy.stats.pearsonr()
pour trouver le coefficient de corrélation -
Exemples de codes : Utilisation de la méthode
scipy.stats.pearsonr()
pour trouver la corrélation entre les variables dans un fichier CSV
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 :
r
: C’est le coefficient de corrélation de Pearson. Il montre le degré de relation entrex
ety
.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.