Scipy scipy.stats.pearsonr Methode
-
Syntax von
scipy.stats.pearsonr()
: -
Beispielcodes:
scipy.stats.pearsonr()
Methode zum Finden des Korrelationskoeffizienten -
Beispielcodes: Verwenden der Methode
scipy.stats.pearsonr()
zum Finden der Korrelation zwischen Variablen in einer CSV-Datei
Die Python-Scipy-Methode scipy.stats.pearsonr()
wird verwendet, um den Pearson-Korrelationskoeffizienten zu finden, der lineare Beziehungen zwischen zwei Variablen darstellt. Es gibt auch den p-Wert
zum Testen der Nichtkorrelation an.
Der Wert des Korrelationskoeffizienten nach Pearson liegt zwischen -1
und +1
. Wenn es in der Nähe von -1
ist, besteht eine starke negative lineare Beziehung zwischen Variablen. Bei 0
besteht kein linearer Zusammenhang und bei +1
besteht ein starker Zusammenhang zwischen Variablen.
Eine positive Beziehung zeigt an, dass, wenn der Wert einer Variablen steigt oder steigt, der Wert einer anderen ebenfalls steigt.
Syntax von scipy.stats.pearsonr()
:
scipy.stats.pearsonr(x, y)
Parameter
x |
Es sind die Eingabe-Array-Elemente der ersten Variablen oder des ersten Attributs. |
y |
Es sind die Eingabe-Array-Elemente der zweiten Variablen oder des zweiten Attributs. Die Länge sollte gleich x sein. |
Zurückkehren
Es gibt ein Tupel aus zwei Werten zurück:
r
: Dies ist der Pearson-Korrelationskoeffizient. Es zeigt den Grad der Verwandtschaft zwischenx
undy
.p
-Wert: Dies ist der Wahrscheinlichkeits-Signifikanzwert. Es prüft, ob die Nullhypothese angenommen oder abgelehnt wird.
Die Nullhypothese bedeutet, dass zwischen den betrachteten Variablen keine Beziehung besteht.
Beispielcodes: scipy.stats.pearsonr()
Methode zum Finden des Korrelationskoeffizienten
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)
Ausgabe:
The pearson correlation coefficient is: -0.31622776601683794
The p-value is: 0.683772233983162
Hier werden zwei Arrays mit gleichen Elementen betrachtet und als Argument an die Funktion pearsonr
übergeben. Hier sehen wir den negativen Korrelationskoeffizienten als Ausgabe, da das erste Array Elemente mit linear ansteigenden Werten enthält, während Elemente im zweiten Array zufällig ausgewählt werden.
Da der p-Wert
(0.683772233983162
) grösser als 0.05
ist, ist die Nullhypothese True
.
Beispielcodes: Verwenden der Methode scipy.stats.pearsonr()
zum Finden der Korrelation zwischen Variablen in einer CSV-Datei
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)
Ausgabe:
The pearson correlation coefficient between price and mileage is: -0.4008381863293672
The p-value is: 4.251481046096957e-97
Hier verwenden wir die Pandas-Bibliothek, um Daten als Pandas-Datenrahmen zu laden. Die Datei dataset.csv
wird gelesen. Die Datei enthält Fahrzeugdaten mit den Spalten name
, price
, mileage
, brand
und year of manufacture
. Dann haben wir jede Spalte außer price
und mileage
heruntergelassen, um die Stärke ihrer Beziehung zu überprüfen.
Bei der Analyse des Ausgabewerts sehen wir, dass der Pearson-Korrelationskoeffizient negativ ist, was bedeutet, dass Preis und Kilometerstand eine relativ starke negative lineare Beziehung haben. Die Autos, deren Preis niedriger ist, liefern die höhere Kilometerleistung, und sobald der Preis des Autos steigt, beginnt der Kilometerwert zu sinken.
Da p
sehr klein ist (ungefähr 0), ist die Testhypothese False
und sollte verworfen werden.