Scipy scipy.stats.pearsonr Methode

Bhuwan Bhatt 30 Januar 2023
  1. Syntax von scipy.stats.pearsonr():
  2. Beispielcodes: scipy.stats.pearsonr() Methode zum Finden des Korrelationskoeffizienten
  3. Beispielcodes: Verwenden der Methode scipy.stats.pearsonr() zum Finden der Korrelation zwischen Variablen in einer CSV-Datei
Scipy scipy.stats.pearsonr Methode

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:

  1. r : Dies ist der Pearson-Korrelationskoeffizient. Es zeigt den Grad der Verwandtschaft zwischen x und y.
  2. 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.