Začněte nyníZačněte zdarma

Korelace

Před trénováním modelů strojového učení se vyplatí podívat se na korelace – hned uvidíš, které příznaky nejsilněji souvisí s cílovou proměnnou. Nejčastěji se používá Pearsonův korelační koeficient, který zachycuje pouze lineární závislosti. Zároveň se obvykle předpokládá, že data mají normální rozdělení, což si můžeš přibližně ověřit z histogramů. Silně korelované proměnné mají Pearsonův koeficient blízko 1 (pozitivní korelace) nebo -1 (negativní korelace). Hodnota blízká 0 znamená, že mezi oběma proměnnými lineární závislost není.

Porovnáš-li stejná časová období pro minulé a budoucí změny ceny, zjistíš, jestli se cena akcie vrací k průměru (kolísá kolem něj), nebo sleduje trend (pokračuje v nastoupeném směru).

Toto cvičení je součástí kurzu

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

Pracuj s DataFrame lng_df a jeho sloupcem Adj_Close:

  • Vytvoř budoucí cenu za 5 dní (jako 5d_future_close) pomocí pandas funkce .shift(-5).
  • Použij pct_change(5) na 5d_future_close a Adj_Close, a tím vytvoř budoucí 5denní procentuální změnu ceny (5d_close_future_pct) a aktuální 5denní procentuální změnu ceny (5d_close_pct).
  • Prozkoumej korelace mezi oběma sloupci s 5denní procentuální změnou pomocí .corr() na lng_df.
  • Pomocí plt.scatter() vytvoř bodový graf závislosti 5d_close_pct na 5d_close_future_pct.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create 5-day % changes of Adj_Close for the current day, and 5 days in the future
lng_df['5d_future_close'] = lng_df['Adj_Close'].shift(____)
lng_df['5d_close_future_pct'] = lng_df['5d_future_close'].pct_change(5)
lng_df['5d_close_pct'] = lng_df['Adj_Close'].pct_change(____)

# Calculate the correlation matrix between the 5d close pecentage changes (current and future)
corr = lng_df[['5d_close_pct', '5d_close_future_pct']].____
print(corr)

# Scatter the current 5-day percent change vs the future 5-day percent change
plt.scatter(lng_df['5d_close_pct'], lng_df[____])
plt.show()
Upravit a spustit kód