202511122114 Status: school Tags: Datascience, correlation, linear correlation

pearson correlation

De Pearson correlatiecoëfficiënt (ook wel r genoemd) meet de sterkte en richting van een lineair verband tussen twee variabelen.
De waarde van r ligt altijd tussen -1 en 1:

  • r = 1 → perfect positief lineair verband
  • r = -1 → perfect negatief lineair verband
  • r = 0 → geen lineair verband

img

Voorbeeld in Python

import numpy as np
from scipy.stats import pearsonr
 
# Twee datasets
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
 
# Bereken de Pearson correlatiecoëfficiënt en p-waarde
r, p_value = pearsonr(x, y)
 
print(f"Pearson r: {r:.3f}")
print(f"P-waarde: {p_value:.3e}")

Uitleg:

  • pearsonr() geeft twee waarden:
    • r: de correlatiecoëfficiënt
    • p_value: de kans dat de gevonden correlatie toevallig is (significantietest)
  • In dit voorbeeld zal r gelijk zijn aan 1.0, omdat y een perfecte lineaire relatie heeft met x.

Heatmap

Je kan ook een heatmap genereren waarbij je duidelijk kan zien tussen elke kolom ofdat er een verband is:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
 
# Voorbeelddata
data = {
    "lengte": [160, 170, 180, 175, 165],
    "gewicht": [55, 65, 80, 75, 60],
    "leeftijd": [20, 25, 30, 28, 22]
}
 
df = pd.DataFrame(data)
 
# Bereken de correlatiematrix
corr_matrix = df.corr(method="pearson")
 
print(corr_matrix)
 
# Maak een heatmap
sns.heatmap(corr_matrix, annot=True, cmap="coolwarm", center=0)
plt.title("Pearson Correlatie Heatmap")
plt.show()

References

Ik was een notitie aan het schrijven over linear correlation.