资讯动态

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

发布时间:2026/10/6 22:36:10 来源:尧图企业网站定制
Day 16PCA主成分分析与降维 目录降维概述PCA数学原理主成分的可解释性主成分数量的选择PCA在量化中的应用第一部分降维概述1.5小时理论1.1 为什么需要降维维度灾难随着特征维度增加数据点变得稀疏距离度量失效需要指数级增长的样本量降维的好处好处说明减少过拟合降低模型复杂度提高速度减少计算量去除噪声过滤冗余信息可视化高维数据投影到2D/3D内存节省存储更少特征1.2 降维方法分类类型方法特点线性PCA、LDA假设线性结构速度快非线性t-SNE、UMAP捕捉非线性计算慢流形学习Isomap、LLE保持局部结构特征选择方差阈值、互信息选择子集可解释1.3 PCA的核心思想PCA主成分分析通过线性变换将原始特征投影到方差最大的新坐标系上。目标找到一组新的正交基主成分使得第一主成分数据方差最大方向第二主成分与第一正交且方差次大依此类推…第二部分PCA数学原理2.1 最大方差解释直觉方差大的方向包含更多信息方差小的方向可能是噪声。数学推导寻找单位向量w ww使投影X w XwXw的方差最大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\| 1wmax​Var(Xw)wmax​wTΣws.t.∥w∥1其中Σ 1 n X T X \Sigma \frac{1}{n}X^TXΣn1​XTX是协方差矩阵。解w ww是Σ \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​λi​vi​其中λ i \lambda_iλi​特征值表示该主成分的方差大小v i v_ivi​特征向量表示主成分方向2.3 PCA计算步骤输入数据矩阵X XX( n × p ) (n×p)(n×p)目标维度k kk输出降维后的数据Y YY( n × k ) (n×k)(n×k)数据中心化X c X − μ X_c X - μXc​X−μ(每个特征减去均值)计算协方差矩阵Σ ( 1 / ( n − 1 ) ) X c T X c \Sigma (1/(n-1)) X_c^T X_cΣ(1/(n−1))XcT​Xc​特征分解Σ \SigmaΣ得到特征值λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p λ_1 ≥ λ_2 ≥ \cdots ≥ λ_pλ1​≥λ2​≥⋯≥λp​和特征向量v 1 , v 2 , ⋯ , v p v_1, v_2, \cdots , v_pv1​,v2​,⋯,vp​选择前k kk个特征向量组成投影矩阵W [ v 1 , v 2 , . . . , v k ] W [v_1, v_2, ..., v_k]W[v1​,v2​,...,vk​]投影Y X c ⋅ W Y X_c \cdot WYXc​⋅W2.4 方差解释比例单个主成分方差解释率解释 率 i λ i ∑ j 1 p λ j 解释率_i \cfrac {λ_i} {∑_{j1}^p λ_j}解释率i​∑j1p​λj​λi​​累积方差解释率累积解释 率 k ∑ i 1 k λ i ∑ j 1 p λ j 累积解释率_k \cfrac {\sum_{i1}^k λ_i} {\sum_{j1}^pλ_j}累积解释率k​∑j1p​λj​∑i1k​λi​​第三部分主成分的可解释性3.1 载荷Loadings载荷原始特征与主成分之间的相关系数。# 载荷矩阵loadingspca.components_.T# shape: (n_features, n_components)# 每个主成分最重要的原始特征foriinrange(n_components):top_featuresnp.argsort(np.abs(loadings[:,i]))[-5:][::-1]print(fPC{i1}最重要的特征:{feature_names[top_features]})3.2 载荷的正负含义载荷符号含义正载荷原始特征与主成分正相关负载荷原始特征与主成分负相关示例PC1 载荷PE(0.6), PB(0.5), ROE(-0.4)解释PC1 代表估值维度3.3 主成分命名根据载荷较大的原始特征可以为主成分赋予业务含义主成分高载荷特征可解释为PC1PE↑, PB↑, ROE↓估值因子PC2换手率↑, 波动率↑流动性因子PC3动量指标↑动量因子第四部分主成分数量的选择4.1 累积方差解释率常见标准保留足够解释全部方差的95%保留足够解释全部方差的90%保留特征值 1 的主成分# 找到达到95%方差的成分数cumsumnp.cumsum(pca.explained_variance_ratio_)n_components_95np.argmax(cumsum0.95)14.2 肘部法则Scree Plot绘制特征值从小到大的曲线找到肘点plt.plot(range(1,len(eigenvalues)1),eigenvalues,bo-)plt.xlabel(主成分编号)plt.ylabel(特征值)plt.title(Scree Plot肘部法则)4.3 交叉验证使用模型性能作为选择依据fromsklearn.model_selectionimportcross_val_scoreforkinrange(1,21):pcaPCA(n_componentsk)X_pcapca.fit_transform(X_scaled)scorecross_val_score(model,X_pca,y,cv5).mean()scores.append(score)4.4 选择方法对比方法优点缺点累积方差简单快速阈值主观Scree Plot可视化直观肘点可能不明显交叉验证面向任务计算量大第五部分PCA在量化中的应用5.1 典型应用场景应用说明因子降维将多个相关因子合并为少数主成分风险模型识别主要风险来源数据预处理减少模型输入维度可视化高维数据投影到2D/3D异常检测重构误差大的点是异常5.2 PCA的局限性局限性说明解决方案线性假设只能捕捉线性关系使用核PCA可解释性差主成分是原始特征的线性组合分析载荷矩阵受量纲影响需标准化使用StandardScaler对异常值敏感异常值影响方差使用RobustPCA5.3 PCA vs 特征选择方法PCA特征选择输出新特征组合原始特征子集可解释性差好维度降低可大幅降低有限信息保留保留方差信息可能丢失交互信息

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑