Bắt đầu ngayBắt đầu miễn phí

Tương quan

Việc kiểm tra tương quan rất hữu ích trước khi xây dựng các mô hình Machine Learning, vì bạn có thể thấy đặc trưng nào tương quan mạnh nhất với biến mục tiêu. Hệ số tương quan Pearson thường được dùng, và nó chỉ phát hiện quan hệ tuyến tính. Thông thường người ta giả định dữ liệu phân phối chuẩn, điều này có thể "ước lượng bằng mắt" qua các biểu đồ histogram. Các biến tương quan cao sẽ có hệ số tương quan Pearson gần 1 (tương quan dương) hoặc -1 (tương quan âm). Giá trị gần 0 nghĩa là hai biến không có tương quan tuyến tính.

Nếu ta dùng cùng các khoảng thời gian cho biến động giá trong quá khứ và trong tương lai, ta có thể xem giá cổ phiếu có khuynh hướng hồi quy về trung bình (dao động quanh một mức) hay theo xu hướng (tiếp tục tăng nếu gần đây đã tăng).

Bài tập này là một phần của khóa học

Machine Learning cho Tài chính bằng Python

Xem khóa học

Hướng dẫn bài tập

Sử dụng DataFrame lng_df và cột Adj_Close của nó:

  • Tạo giá tương lai sau 5 ngày (lưu vào 5d_future_close) với .shift(-5) của pandas.
  • Dùng pct_change(5) trên 5d_future_closeAdj_Close để tạo % thay đổi giá 5 ngày trong tương lai (5d_close_future_pct) và % thay đổi giá 5 ngày hiện tại (5d_close_pct).
  • Kiểm tra tương quan giữa hai cột % thay đổi giá 5 ngày bằng .corr() trên lng_df.
  • Dùng plt.scatter() để vẽ biểu đồ phân tán giữa 5d_close_pct5d_close_future_pct.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã