Sử dụng PCA để giảm chiều dữ liệu trong mô hình định lượng
2025-05-10 — Admin
Khi xây dựng mô hình định lượng với nhiều biến đầu vào, vấn đề đa cộng tuyến (các biến tương quan mạnh với nhau) có thể làm giảm hiệu quả dự báo và gây nhiễu. PCA (Principal Component Analysis) là kỹ thuật mạnh để giảm chiều dữ liệu, chọn ra các thành phần quan trọng nhất.
1. Vấn đề đa cộng tuyến trong chiến lược định lượng
- Đa cộng tuyến xảy ra khi các biến đầu vào (feature) có tương quan cao, làm mô hình khó học được quan hệ thực sự.
- Hệ số hồi quy không ổn định, dự báo kém tin cậy.
- Thường gặp trong portfolio với nhiều cổ phiếu cùng ngành, hoặc khi dùng nhiều chỉ báo kỹ thuật tương tự.
2. Lý thuyết PCA
- PCA biến đổi tập dữ liệu gốc thành các thành phần chính (principal components) không tương quan với nhau.
- Thành phần đầu tiên giải thích phương sai lớn nhất, các thành phần sau giải thích phần còn lại.
- Có thể chọn số thành phần (k) để giữ lại phần lớn thông tin, giảm nhiễu.
3. Ứng dụng PCA để chọn biến quan trọng
- Sau khi PCA, có thể dùng các thành phần chính làm input cho mô hình dự đoán hoặc portfolio.
- Giảm số chiều, tăng tốc độ tính toán, giảm overfitting.
Ví dụ Python với sklearn:
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
# Giả sử X là ma trận feature (n_samples x n_features)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
pca = PCA(n_components=3) # chọn 3 thành phần chính
X_pca = pca.fit_transform(X_scaled)
print("Explained variance ratio:", pca.explained_variance_ratio_)
4. Áp dụng PCA vào portfolio hoặc mô hình dự đoán
- Portfolio: Dùng các principal components để xây dựng chiến lược phân bổ vốn, giảm rủi ro do các tài sản tương quan mạnh.
- Dự đoán: Dùng các thành phần chính làm input cho mô hình ML (regression, classification, RL...)
Ví dụ kết hợp PCA với mô hình dự đoán:
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_pca, y)
5. Lưu ý khi dùng PCA
- PCA là biến đổi tuyến tính, không phù hợp nếu dữ liệu có quan hệ phi tuyến mạnh.
- Cần chuẩn hóa dữ liệu trước khi PCA.
- Diễn giải các thành phần chính có thể khó, nên kiểm tra ý nghĩa thực tế.
Tổng kết
- PCA giúp giảm chiều dữ liệu, giải quyết đa cộng tuyến, chọn biến quan trọng.
- Ứng dụng tốt trong portfolio và mô hình dự đoán đa biến.
- Nên kết hợp PCA với các kỹ thuật khác để tối ưu hiệu quả mô hình.
Chúc bạn thành công với PCA trong định lượng!