Zaman serileri arasındaki ilişkiler: korelasyon

Python ile Zaman Serisi Verilerini Manipüle Etme

Stefan Jansen

Founder & Lead Data Scientist at Applied Artificial Intelligence

Korelasyon ve seriler arası ilişkiler

  • Şimdiye kadar, tekil değişkenlerin özelliklerine odaklandık
  • Şimdi: değişkenler arası ilişkilerin özellikleri
  • Korelasyon: doğrusal ilişkileri ölçer
  • Finansal piyasalarda: tahmin ve risk yönetimi için kritik
  • pandas ve seaborn hesaplama ve görselleştirme araçları sunar
Python ile Zaman Serisi Verilerini Manipüle Etme

Korelasyon ve doğrusal ilişkiler

  • Korelasyon katsayısı: iki değişkenin ortalamaları çevresindeki eş hareketi ne kadar benzer?
  • -1 ile +1 arasında değişir $\ \ \ \ \ r = \frac{\sum_{i=1}^{N} (x_i - \bar{x})(y_i - \bar{y})}{s_xs_y}$

 

ch3_4_v2 - Correlation & Heatmaps.011.png

Python ile Zaman Serisi Verilerini Manipüle Etme

Beş fiyat zaman serisini içe aktarma

data = pd.read_csv('assets.csv', parse_dates=['date'], 
                   index_col='date')

data = data.dropna().info()
DatetimeIndex: 2469 entries, 2007-05-25 to 2017-05-22
Data columns (total 5 columns):
sp500     2469 non-null float64
nasdaq    2469 non-null float64
bonds     2469 non-null float64
gold      2469 non-null float64
oil       2469 non-null float64
Python ile Zaman Serisi Verilerini Manipüle Etme

Çiftler arası doğrusal ilişkileri görselleştir

daily_returns = data.pct_change()

sns.jointplot(x='sp500', y='nasdaq', data=data_returns);

ch3_4_v2 - Correlation & Heatmaps.015.png

Python ile Zaman Serisi Verilerini Manipüle Etme

Tüm korelasyonları hesapla

correlations = returns.corr()

correlations
bonds       oil      gold     sp500    nasdaq
bonds   1.000000 -0.183755  0.003167 -0.300877 -0.306437
oil    -0.183755  1.000000  0.105930  0.335578  0.289590
gold    0.003167  0.105930  1.000000 -0.007786 -0.002544
sp500  -0.300877  0.335578 -0.007786  1.000000  0.959990
nasdaq -0.306437  0.289590 -0.002544  0.959990  1.000000
Python ile Zaman Serisi Verilerini Manipüle Etme

Tüm korelasyonları görselleştir

sns.heatmap(correlations, annot=True)

ch3_4_v2 - Correlation & Heatmaps.019.png

Python ile Zaman Serisi Verilerini Manipüle Etme

Hadi pratik yapalım!

Python ile Zaman Serisi Verilerini Manipüle Etme

Preparing Video For Download...