statistics.correlation(), covariance() și linear_regression() în Python

Statistică Python 3.10+

Legătura dintre două serii de date: corelație, covarianță și dreapta de regresie.

Sintaxă
statistics.correlation(x, y, /, *, method='linear')
statistics.covariance(x, y)
statistics.linear_regression(x, y, /, *, proportional=False)

Ce face statistics.correlation(), covariance() și linear_regression()

correlation(x, y) calculează coeficientul Pearson, între -1 și 1: aproape de 1 înseamnă că valorile cresc împreună, aproape de -1 că una scade când cealaltă crește, aproape de 0 că nu există legătură liniară. Cu method='ranked' (3.12+) calculează corelația Spearman, după ranguri.

covariance() dă covarianța de eșantion. linear_regression(x, y) returnează slope (panta) și intercept ale dreptei care aproximează cel mai bine datele, folosită pentru predicții simple. Cu proportional=True (3.11+), dreapta trece prin origine.

Parametri

Parametru Descriere
x, y Cele două serii de date, de aceeași lungime (cel puțin două valori).

Ce returnează

Un număr, sau un obiect cu slope și intercept.

Exemple

Exemplul 1: Ore de studiu și note

import statistics
ore = [1, 2, 3, 4, 5, 6]
note = [5, 6, 6, 8, 9, 10]
print(round(statistics.correlation(ore, note), 3))
print(round(statistics.covariance(ore, note), 3))
reg = statistics.linear_regression(ore, note)
print(round(reg.slope, 3), round(reg.intercept, 3))
print("Estimare pentru 7 ore:", round(reg.slope * 7 + reg.intercept, 1))
print(statistics.correlation([1, 2, 3, 4], [1, 4, 9, 16], method="ranked"))

Rezultat

0.979
3.6
1.029 3.733
Estimare pentru 7 ore: 10.9
1.0

Greșeli frecvente

  • Interpretezi o corelație mare ca relație de cauzalitate. Corelația arată doar că valorile variază împreună.

Comenzi înrudite