σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
scikit-learn 学习路线›模块 4 · 结构与洞察›主题 4.2·~45分钟高级

用 PCA 与核 PCA 降维

路线进度模块 4/4 · 主题 2/4
4.2 用 PCA 与核 PCA 降维
—实验得分— / 100总 XP—连续天数—

更少的数却保留故事

股票会一起变动,所以 54 条月度收益序列包含的信息远少于 54 个独立信息。主成分分析(PCA)找出新的坐标轴(主成分),按它们承载数据方差的多少排序:第一轴指向离散最大的方向,第二轴与之垂直并承载次大的方差,依此类推。就协方差矩阵而言,这些轴是它的特征向量,轴上的方差是它的特征值。第 kkk 个成分的方差占比是 λk/∑jλj\lambda_k/\sum_j\lambda_jλk​/∑j​λj​。保留前几个成分,就能以很小的损失简短地描述数据。

Σvk=λkvk,rk=λk∑jλj,k(x,y)=e−γ∥x−y∥2\Sigma v_k=\lambda_k v_k,\qquad r_k=\frac{\lambda_k}{\sum_j\lambda_j},\qquad k(x,y)=e^{-\gamma\|x-y\|^{2}}Σvk​=λk​vk​,rk​=∑j​λj​λk​​,k(x,y)=e−γ∥x−y∥2(1)

PCA 在中心化的数据和尺度相近的特征上工作,所以要先标准化。它的轴是线性的,适合市场,因为大多数股票共享一个共同的走势。核 PCA 则在由核函数(如 RBF 核 e−γd2e^{-\gamma d^{2}}e−γd2,衡量两点有多近)构造的空间里做 PCA,因此能跟随弯曲的结构。有两点提醒:成分是所有输入的混合,给它命名只是猜测;前几个成分是方差最大的来源,而不是预测力最强的。在金融中第一成分是市场,接下来几个是行业,而基于成分拟合的模型仍然要在之后的数据上检验。

2×2 的例子与 54 只股票取协方差矩阵 (2112)\begin{pmatrix}2&1\\1&2\end{pmatrix}(21​12​),它的特征值为 333 和 111,所以第一成分承载 3/(3+1)=75%3/(3+1)=75\%3/(3+1)=75% 的方差,第二成分承载 25%25\%25%。第一轴是 (1,1)/2(1,1)/\sqrt2(1,1)/2​。点 (1,1)(1,1)(1,1) 在其上的投影为 (1+1)/2=1.414(1+1)/\sqrt2=1.414(1+1)/2​=1.414,而点 (1,−1)(1,-1)(1,−1) 投影为 000,被单成分模型丢失,平方误差为 222。对 γ=0.5\gamma=0.5γ=0.5、距离平方为 222 的 RBF 核,相似度为 e−1=0.368e^{-1}=0.368e−1=0.368。在 545454 只真实股票的 319319319 个月度收益上,第一成分承载 29.5%29.5\%29.5% 的方差,第二成分 8.4%8.4\%8.4%,第三成分 5.5%5.5\%5.5%;达到 80%80\%80% 需要 222222 个成分,达到 90%90\%90% 需要 323232 个,所以在 80%80\%80% 的水平上,简短描述省去了 545454 个数中的 323232 个。
  • 按方差排序的轴:第一成分是离散最大的方向,之后的每个都与前面垂直。
  • 先标准化:PCA 追随方差,数值大的特征会占主导。
  • 方差不等于预测:最大的成分不一定是有用的。

实验:评分内容

  • 第一成分的占比15 分
  • 投影10 分
  • 重构误差10 分
  • RBF 核的值10 分
  • 节省的数5 分
  • 为什么在 PCA 之前要标准化10 分
  • PCA 的步骤10 分
  • 配对术语15 分
  • 大成分不等于有用成分15 分
0/ 已答 9 题
任务
1数值作答15 分未作答

某协方差矩阵的特征值为 333 和 111。第一成分承载多大比例的方差?以小数形式保留两位。

r=r =r=允许误差:± 0.005
2数值作答10 分未作答

第一轴是 (1,1)/2(1,1)/\sqrt2(1,1)/2​。点 (1,1)(1,1)(1,1) 在其上的坐标 (1+1)/2(1+1)/\sqrt2(1+1)/2​ 是多少?保留三位小数。

p=p =p=允许误差:± 0.003
3数值作答10 分未作答

点 (1,−1)(1,-1)(1,−1) 在第一轴上投影为 000,所以单成分模型把它重构为 (0,0)(0,0)(0,0)。重构的平方误差是多少?

e=e =e=允许误差:± 0.01
4数值作答10 分未作答

RBF 核为 e−γd2e^{-\gamma d^{2}}e−γd2。当 γ=0.5\gamma=0.5γ=0.5、距离平方 d2=2d^{2}=2d2=2 时,相似度是多少?保留三位小数。

k=k =k=允许误差:± 0.002
5数值作答5 分未作答

对 545454 只真实股票,222222 个成分承载 80%80\%80% 的方差。只保留这 222222 个,可以节省 545454 个数中的多少个?

s=s =s=允许误差:± 0.01
6选择10 分未作答

把以美元计的成交量(百万级)和月度收益(百分比)两个特征不经缩放直接交给 PCA。会发生什么?

7排列步骤10 分未作答

把 PCA 的步骤按正确顺序排列。

拖动以重新排序;也可聚焦某项,按空格抬起,用方向键移动,再按空格放下。

  1. 1把数据投影到前几个轴上
  2. 2对特征做中心化和标准化
  3. 3按特征值给轴排序并保留最大的几个
  4. 4求协方差矩阵的特征向量和特征值
8配对15 分未作答

把每个术语与其含义配对。

为左侧每一项选择配对项。

主成分
特征值
核函数
载荷
9用文字解释15 分未作答

545454 只股票的第一成分是市场,承载 29.5%29.5\%29.5% 的方差。用一两句话解释:为什么这并不意味着它是预测收益最有用的成分。

数学模式键盘或 LaTeX 输入第 1/9 题 · Ctrl ⏎ 检查

登录后即可运行你的代码。

所有讲解均可免费阅读。创建账户或登录后,即可运行代码、运行测试并提交此实验。

  • 浏览器内 IDE 与 bash 终端,无需安装
  • 即时评分、XP 以及你在学习路线中的位置
创建账户登录
或
使用 GitHub 继续