Tìm mối quan hệ giữa nhiều chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thomas Vincent

Head of Data Science, Getty Images

Tương quan giữa hai biến

  • Trong Thống kê, hệ số tương quan đo mức độ mạnh/yếu của mối quan hệ giữa hai biến:
    • Hệ số Pearson dùng khi mối quan hệ được cho là tuyến tính
    • Kendall Tau hoặc Spearman rank dùng khi mối quan hệ được cho là phi tuyến
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Tính tương quan

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)
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Ma trận tương quan là gì?

  • Khi tính hệ số tương quan giữa nhiều hơn hai biến, bạn thu được một ma trận tương quan
    • Miền giá trị: [-1, 1]
    • 0: không có quan hệ
    • 1: quan hệ dương mạnh
    • -1: quan hệ âm mạnh
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Ma trận tương quan là gì?

  • Ma trận tương quan luôn "đối xứng"
  • Các giá trị trên đường chéo luôn bằng 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
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Tính ma trận tương quan với 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
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Tính ma trận tương quan với Pandas

corr_mat = meat.corr(method='pearson')
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Heatmap

import seaborn as sns

sns.heatmap(corr_mat)
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Heatmap

Bản đồ nhiệt của ma trận tương quan

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Clustermap

sns.clustermap(corr_mat)
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Clustermap của ma trận tương quan

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Cùng luyện tập nào!

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Preparing Video For Download...