Day 16:PCA主成分分析与降维

Day 16:PCA主成分分析与降维

📋 目录

  1. 降维概述
  2. PCA数学原理
  3. 主成分的可解释性
  4. 主成分数量的选择
  5. PCA在量化中的应用

第一部分:降维概述(1.5小时理论)

1.1 为什么需要降维?

维度灾难:

  • 随着特征维度增加,数据点变得稀疏
  • 距离度量失效
  • 需要指数级增长的样本量

降维的好处:

好处 说明
减少过拟合 降低模型复杂度
提高速度 减少计算量
去除噪声 过滤冗余信息
可视化 高维数据投影到2D/3D
内存节省 存储更少特征

1.2 降维方法分类

类型 方法 特点
线性 PCA、LDA 假设线性结构,速度快
非线性 t-SNE、UMAP 捕捉非线性,计算慢
流形学习 Isomap、LLE 保持局部结构
特征选择 方差阈值、互信息 选择子集,可解释

1.3 PCA的核心思想

PCA(主成分分析) :通过线性变换,将原始特征投影到方差最大的新坐标系上。

目标:找到一组新的正交基(主成分),使得:

  • 第一主成分:数据方差最大方向
  • 第二主成分:与第一正交且方差次大
  • 依此类推...

第二部分:PCA数学原理

2.1 最大方差解释

直觉:方差大的方向包含更多信息,方差小的方向可能是噪声。

数学推导 :寻找单位向量 w w w,使投影 X w Xw Xw 的方差最大:
max ⁡ w Var ⁡ ( X w ) = max ⁡ w w T Σ w s.t. ∥ w ∥ = 1 \max_{w} \operatorname{Var}(Xw) = \max_{w} w^T \Sigma w \quad \text{s.t.} \quad \|w\| = 1 wmaxVar(Xw)=wmaxwTΣws.t.∥w∥=1

其中 Σ = 1 n X T X \Sigma = \frac{1}{n}X^TX Σ=n1XTX 是协方差矩阵。

解 : w w w 是 Σ \Sigma Σ 的最大特征值对应的特征向量。

2.2 协方差矩阵与特征分解

协方差矩阵 :表示特征之间的相关性。
Σ = 1 n − 1 ( X − X ˉ ) T ( X − X ˉ ) \Sigma = \frac{1}{n-1}(X - \bar{X})^T(X - \bar{X}) Σ=n−11(X−Xˉ)T(X−Xˉ)

特征分解 :
Σ v i = λ i v i \Sigma v_i = \lambda_i v_i Σvi=λivi

其中:

  • λ i \lambda_i λi:特征值,表示该主成分的方差大小
  • v i v_i vi:特征向量,表示主成分方向

2.3 PCA计算步骤

输入 :数据矩阵 X X X ( n × p ) (n×p) (n×p),目标维度 k k k
输出 :降维后的数据 Y Y Y ( n × k ) (n×k) (n×k)

  1. 数据中心化: X c = X − μ X_c = X - μ Xc=X−μ (每个特征减去均值)

  2. 计算协方差矩阵: Σ = ( 1 / ( n − 1 ) ) X c T X c \Sigma = (1/(n-1)) X_c^T X_c Σ=(1/(n−1))XcTXc

  3. 特征分解 Σ \Sigma Σ 得到特征值 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p λ_1 ≥ λ_2 ≥ \cdots ≥ λ_p λ1≥λ2≥⋯≥λp 和特征向量 v 1 , v 2 , ⋯   , v p v_1, v_2, \cdots , v_p v1,v2,⋯,vp

  4. 选择前 k k k 个特征向量组成投影矩阵 W = v 1 , v 2 , . . . , v k W = v_1, v_2, ..., v_k W=v1,v2,...,vk

  5. 投影: Y = X c ⋅ W Y = X_c \cdot W Y=Xc⋅W

2.4 方差解释比例

单个主成分方差解释率 :
解释 率 i = λ i ∑ j = 1 p λ j 解释率_i = \cfrac {λ_i} {∑_{j=1}^p λ_j} 解释率i=∑j=1pλjλi

累积方差解释率 :
累积解释 率 k = ∑ i = 1 k λ i ∑ j = 1 p λ j 累积解释率_k = \cfrac {\sum_{i=1}^k λ_i} {\sum_{j=1}^pλ_j} 累积解释率k=∑j=1pλj∑i=1kλi


第三部分:主成分的可解释性

3.1 载荷(Loadings)

载荷:原始特征与主成分之间的相关系数。

python 复制代码
# 载荷矩阵
loadings = pca.components_.T  # shape: (n_features, n_components)

# 每个主成分最重要的原始特征
for i in range(n_components):
    top_features = np.argsort(np.abs(loadings[:, i]))[-5:][::-1]
    print(f"PC{i+1} 最重要的特征: {feature_names[top_features]}")

3.2 载荷的正负含义

载荷符号 含义
正载荷 原始特征与主成分正相关
负载荷 原始特征与主成分负相关

示例:

  • PC1 载荷:PE(0.6), PB(0.5), ROE(-0.4)
  • 解释:PC1 代表"估值维度"

3.3 主成分命名

根据载荷较大的原始特征,可以为主成分赋予业务含义:

主成分 高载荷特征 可解释为
PC1 PE↑, PB↑, ROE↓ 估值因子
PC2 换手率↑, 波动率↑ 流动性因子
PC3 动量指标↑ 动量因子

第四部分:主成分数量的选择

4.1 累积方差解释率

常见标准:

  • 保留足够解释全部方差的95%
  • 保留足够解释全部方差的90%
  • 保留特征值 > 1 的主成分
python 复制代码
# 找到达到95%方差的成分数
cumsum = np.cumsum(pca.explained_variance_ratio_)
n_components_95 = np.argmax(cumsum >= 0.95) + 1

4.2 肘部法则(Scree Plot)

绘制特征值从小到大的曲线,找到"肘点":

python 复制代码
plt.plot(range(1, len(eigenvalues)+1), eigenvalues, 'bo-')
plt.xlabel('主成分编号')
plt.ylabel('特征值')
plt.title('Scree Plot(肘部法则)')

4.3 交叉验证

使用模型性能作为选择依据:

python 复制代码
from sklearn.model_selection import cross_val_score

for k in range(1, 21):
    pca = PCA(n_components=k)
    X_pca = pca.fit_transform(X_scaled)
    score = cross_val_score(model, X_pca, y, cv=5).mean()
    scores.append(score)

4.4 选择方法对比

方法 优点 缺点
累积方差 简单快速 阈值主观
Scree Plot 可视化直观 肘点可能不明显
交叉验证 面向任务 计算量大

第五部分:PCA在量化中的应用

5.1 典型应用场景

应用 说明
因子降维 将多个相关因子合并为少数主成分
风险模型 识别主要风险来源
数据预处理 减少模型输入维度
可视化 高维数据投影到2D/3D
异常检测 重构误差大的点是异常

5.2 PCA的局限性

局限性 说明 解决方案
线性假设 只能捕捉线性关系 使用核PCA
可解释性差 主成分是原始特征的线性组合 分析载荷矩阵
受量纲影响 需标准化 使用StandardScaler
对异常值敏感 异常值影响方差 使用RobustPCA

5.3 PCA vs 特征选择

方法 PCA 特征选择
输出 新特征(组合) 原始特征子集
可解释性 差 好
维度降低 可大幅降低 有限
信息保留 保留方差信息 可能丢失交互信息
相关推荐
hetao17338374 小时前
联盟场-提高组-R4 & ZYZSC-S-Round 7
c++·算法
syounger4 小时前
SAP CTO谈预测AI:能解释业务,不等于能准确预测业务
人工智能
Q26433650234 小时前
【有源码】基于大数据的超市商品分析与利润预测系统:XGBoost机器学习算法实战项目
大数据·机器学习·数据挖掘·数据分析·spark·毕业设计·课程设计
海宇大数据4 小时前
零信任架构实战:基于海宇企业综合风险报告构建自动化供应链保理对公尽调网关
运维·人工智能·架构·自动化
沉下心来学鲁班4 小时前
具身智能入门:用 Python 让 MicroDuck 机器狗学会走路
开发语言·人工智能·python·机器人
夕小瑶4 小时前
龙王归位,Gemini 4 Argon正式炸场上线
人工智能
liangdabiao4 小时前
ESP-Mosaico应用开发-动手做-操作手册
人工智能
碧海银沙音频科技研究院4 小时前
基于炬芯ATS3089X音箱的音乐播放歌词显示功能实现
人工智能·驱动开发·嵌入式硬件·算法
、达西先生4 小时前
【unifolm_wla】从动作语言到连续机器人控制
人工智能·深度学习·机器人·宇树·wam·wla
CV@CV5 小时前
世界模型环境预测与内在表征基础原理
人工智能·学习·边缘计算·量子计算·具身智能