ПочатиПочніть безкоштовно

Кореляції

Кореляції корисно переглянути перед побудовою моделей машинного навчання, адже так ми бачимо, які ознаки найсильніше корелюють із цільовою змінною. Часто використовують коефіцієнт кореляції Пірсона, який виявляє лише лінійні зв'язки. Зазвичай припускають, що наші дані мають нормальний розподіл, що можна попередньо оцінити на гістограмах. Висококорельовані змінні мають коефіцієнт кореляції Пірсона, близький до 1 (додатна кореляція) або до -1 (від'ємна кореляція). Значення, близьке до 0, означає, що дві змінні не мають лінійної кореляції.

Якщо використати однакові періоди для попередніх і майбутніх змін ціни, можна побачити, чи ціна акції має властивість повернення до середнього (коливається навколо середнього) чи слідує тренду (зростає, якщо нещодавно зростала).

Ця вправа є частиною курсу

Machine Learning для фінансів у Python

Переглянути курс

Інструкції до вправи

Використовуючи датафрейм lng_df та його Adj_Close:

  • Створіть майбутню ціну за 5 днів (як 5d_future_close) за допомогою .shift(-5) із pandas.
  • Застосуйте pct_change(5) до 5d_future_close і Adj_Close, щоб створити майбутню 5-денну зміну ціни у відсотках (5d_close_future_pct) і поточну 5-денну зміну ціни у відсотках (5d_close_pct).
  • Дослідіть кореляції між цими двома стовпцями 5-денних відсоткових змін ціни за допомогою .corr() на lng_df.
  • Використовуючи plt.scatter(), побудуйте діаграму розсіювання для 5d_close_pct проти 5d_close_future_pct.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код