Trouver des relations entre plusieurs séries temporelles

Visualiser des séries temporelles en Python

Thomas Vincent

Head of Data Science, Getty Images

Corrélations entre deux variables

  • En statistique, le coefficient de corrélation mesure l'intensité ou l'absence de relation entre deux variables :
    • Le coefficient de Pearson s'utilise lorsque la relation attendue est linéaire
    • Kendall Tau ou Spearman (par rang) s'utilisent lorsque la relation attendue est non linéaire
Visualiser des séries temporelles 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 temporelles en Python

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

  • En calculant le coefficient de corrélation pour plus de deux variables, vous obtenez une matrice de corrélation
    • Intervalle : [-1, 1]
    • 0 : aucune relation
    • 1 : forte relation positive
    • -1 : forte relation négative
Visualiser des séries temporelles en Python

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

  • Une matrice de corrélation est toujours « symétrique »
  • Les valeurs sur la diagonale valent toujours 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 temporelles 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 temporelles en Python

Calculer des matrices de corrélation avec pandas

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

Carte thermique

import seaborn as sns

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

Carte thermique

Une carte thermique de la matrice de corrélation

Visualiser des séries temporelles en Python

Carte de clusters

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

Une carte de clusters de la matrice de corrélation

Visualiser des séries temporelles en Python

Passons à la pratique !

Visualiser des séries temporelles en Python

Preparing Video For Download...