σμ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.3·~50分钟高级

特征重要性与置换

路线进度模块 4/4 · 主题 3/4
4.3 特征重要性与置换
—实验得分— / 100总 XP—连续天数—

模型用了哪个特征

拟合之后,你想知道模型依赖哪些特征,以检查它是否合理并去掉无用的部分。树模型会给出不纯度重要性:每个特征产生的切分增益总和,除以所有特征的总和。它免费,但偏向取值很多的特征,而且是在训练数据上度量的,所以噪声特征也可能显得重要。置换重要性更诚实:取一个已拟合的模型和一组留出数据,打乱某一个特征的取值(这会切断它与目标的联系),记录得分下降了多少:重要性j=sbase−sshuffled,j\text{重要性}_j=s_{\text{base}}-s_{\text{shuffled},j}重要性j​=sbase​−sshuffled,j​。多次重复打乱并取平均。

Ij=s0−1R∑r=1Rsj(r),g~j=gj∑kgkI_j=s_{0}-\frac1R\sum_{r=1}^{R}s_{j}^{(r)},\qquad \tilde g_j=\frac{g_j}{\sum_k g_k}Ij​=s0​−R1​r=1∑R​sj(r)​,g~​j​=∑k​gk​gj​​(1)

有两点需要注意。第一,相关的特征会分摊功劳:如果两列携带相同的信息,打乱其中一列,另一列仍能工作,于是两者都显得不重要。要把这样的特征分组或去掉一个。第二,重要性描述的是模型,不是现实世界:对一个糟糕模型重要的特征并不因此成为收益的原因。对于横截面数据,要在每个月内部打乱特征,这样打乱保持了当月的水平,只破坏股票间的排序。还要报告多次重复的离散程度,因为重要性很小而离散更大,就是噪声。

五次打乱与真实模型某模型得分 0.800.800.80。把一个特征打乱五次后,得分为 0.62,0.66,0.64,0.65,0.680.62,0.66,0.64,0.65,0.680.62,0.66,0.64,0.65,0.68,均值 0.650.650.65、标准差 0.0220.0220.022,所以重要性为 0.80−0.65=0.150.80-0.65=0.150.80−0.65=0.15。若一棵树的切分增益为 0.163,0.05,0.020.163,0.05,0.020.163,0.05,0.02,不纯度占比就是 0.70,0.21,0.090.70,0.21,0.090.70,0.21,0.09。一个特征的两份完全相同的副本,各自的重要性都约为 000,因为另一份会顶上。在真实的月度股票面板上用 ridge 模型,滚动前向信息系数为 0.03270.03270.0327。在每个月内打乱波动率,它降到约 000(重要性 0.0330.0330.033);打乱动量只使它变化 −0.003-0.003−0.003,打乱上月收益只变化 −0.003-0.003−0.003。这个模型的全部信号就是波动率特征。
  • 打乱再打分:重要性就是打乱一个特征后留出数据得分下降的幅度。
  • 相关的“双胞胎”会互相掩盖:读数字之前先分组或去掉一个。
  • 重要性针对的是模型:它只是一种检查,并不证明某个特征导致了收益。

实验:评分内容

  • 打乱得分的均值10 分
  • 置换重要性15 分
  • 重复的离散程度15 分
  • 不纯度占比10 分
  • 孪生特征10 分
  • 该相信哪种重要性10 分
  • 置换流程10 分
  • 对模型重要,对收益不一定20 分
0/ 已答 8 题
任务
1数值作答10 分未作答

把一个特征打乱五次后的得分为 0.62,0.66,0.64,0.65,0.680.62,0.66,0.64,0.65,0.680.62,0.66,0.64,0.65,0.68。它们的均值是多少?保留两位小数。

m=m =m=允许误差:± 0.005
2数值作答15 分未作答

基准得分为 0.800.800.80,打乱后的平均得分为 0.650.650.65。重要性 sbase−sshuffleds_{\text{base}}-s_{\text{shuffled}}sbase​−sshuffled​ 是多少?保留两位小数。

i=i =i=允许误差:± 0.005
3数值作答15 分未作答

五个打乱后的得分 0.62,0.66,0.64,0.65,0.680.62,0.66,0.64,0.65,0.680.62,0.66,0.64,0.65,0.68 相对 0.650.650.65 的偏差平方为 0.0009,0.0001,0.0001,0,0.00090.0009,0.0001,0.0001,0,0.00090.0009,0.0001,0.0001,0,0.0009。它们的样本标准差(除以 444)是多少?保留三位小数。

s=s =s=允许误差:± 0.002
4数值作答10 分未作答

一棵树的切分给三个特征带来的总增益为 0.1630.1630.163、0.050.050.05、0.020.020.02,和为 0.2330.2330.233。第一个特征的不纯度重要性占比是多少?以小数形式保留两位。

g=g =g=允许误差:± 0.01
5数值作答10 分未作答

数据中某个特征以两列完全相同的形式出现。模型得分 0.800.800.80,只打乱其中一份副本后得分仍为 0.800.800.80。该副本的置换重要性是多少?

t=t =t=允许误差:± 0.005
6选择10 分未作答

随机森林按不纯度把一个取值很多的噪声特征显示为重要,但它在留出数据上的置换重要性为零。你相信哪个?

7排列步骤10 分未作答

把置换重要性的步骤按正确顺序排列。

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

  1. 1再次打分并记录相对基准的下降
  2. 2在留出数据上给已拟合模型打分作为基准
  3. 3重复多次并对下降取平均
  4. 4在留出数据里打乱一个特征的取值
8用文字解释20 分未作答

打乱波动率特征会使模型的信息系数从 0.0330.0330.033 降到约 000。用一两句话解释:为什么这并不能证明波动率导致了更高的收益。

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

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

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

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