Trouver des liens entre plusieurs séries temporelles

Visualiser des séries chronologiques en Python

Thomas Vincent

Head of Data Science, Getty Images

Corrélations entre deux variables

  • En statistique, le coefficient de corrélation mesure la force ou l'absence de lien entre deux variables :
    • Le coefficient de Pearson sert à calculer la corrélation lorsque la relation est jugée linéaire
    • Kendall tau ou Spearman (rangs) servent à calculer la corrélation lorsque la relation est jugée non linéaire
Visualiser des séries chronologiques en Python

Calculer des corrélations

from scipy.stats.stats import pearsonr
from scipy.stats.stats import spearmanr
from scipy.stats.stats import kendalltau
x = [1, 2, 4, 7]
y = [1, 3, 4, 8]
pearsonr(x, y)
SpearmanrResult(correlation=0.9843, pvalue=0.01569)
spearmanr(x, y)
SpearmanrResult(correlation=1.0, pvalue=0.0)
kendalltau(x, y)
KendalltauResult(correlation=1.0, pvalue=0.0415)
Visualiser des séries chronologiques en Python

Qu'est-ce qu'une matrice de corrélation ?

  • En calculant la corrélation entre plus de deux variables, vous obtenez une matrice de corrélation
    • Intervalle : [-1, 1]
    • 0 : aucun lien
    • 1 : lien positif fort
    • -1 : lien négatif fort
Visualiser des séries chronologiques en Python

Qu'est-ce qu'une matrice de corrélation ?

  • Une matrice de corrélation est toujours « symétrique »
  • Les valeurs diagonales sont toujours égales à 1
   x     y     z
x  1.00 -0.46  0.49
y -0.46  1.00 -0.61
z  0.49 -0.61  1.00
Visualiser des séries chronologiques en Python

Calculer des matrices de corrélation avec pandas

corr_p = meat[['beef', 'veal','turkey']].corr(method='pearson')
print(corr_p)
          beef     veal     turkey
beef      1.000   -0.829    0.738
veal     -0.829    1.000   -0.768
turkey    0.738   -0.768    1.000
corr_s = meat[['beef', 'veal','turkey']].corr(method='spearman')
print(corr_s)
          beef     veal     turkey
beef      1.000   -0.812    0.778
veal     -0.812    1.000   -0.829
turkey    0.778   -0.829    1.000
Visualiser des séries chronologiques en Python

Calculer des matrices de corrélation avec pandas

corr_mat = meat.corr(method='pearson')
Visualiser des séries chronologiques en Python

Carte thermique

import seaborn as sns

sns.heatmap(corr_mat)
Visualiser des séries chronologiques en Python

Carte thermique

Une carte thermique de la matrice de corrélation

Visualiser des séries chronologiques en Python

Clustermap

sns.clustermap(corr_mat)
Visualiser des séries chronologiques en Python

Un clustermap de la matrice de corrélation

Visualiser des séries chronologiques en Python

Passons à la pratique !

Visualiser des séries chronologiques en Python

Preparing Video For Download...