- 累积局部效应 ALE:用条件期望修正相关因子下的边际效应
PDP 有个绕不过的死穴:因子彼此相关时,它会把某个因子强行设成某值、其余保留原值,从而外推到根本不存在的样本组合,把相关因子借来的效应算成自己的。ALE(Accumulated Local Effects)换个算法——把因子取值切成窄箱,在每个箱内只用真实存在的样本算『局部差分』(同一批样本换到箱边界两侧的预测之差),再沿因子方向累加。这样它永远不外推、只在数据支撑的邻域里说话。本文用相关系数 0.92 的两个因子做对照:一个是真驱动、一个纯冗余,看 PDP 如何被冗余因子骗、ALE 如何把它的伪效应修正回近零,附纯 numpy 从零实现的 ALE(中阶)。
14 min Chinese - 局部依赖图 PDP:把单个因子与收益的边际关系画成曲线
机器学习因子模型跑出了收益,你却说不清『动量到底怎么影响预测』——因为模型是黑箱,特征重要性只给排名不给形状。PDP(Partial Dependence Plot)把某个因子在其取值范围上扫一遍、其余特征原样保留后对全样本预测求平均,画出这个因子与预测收益的边际曲线:是单调、倒U 还是阶梯,一眼看穿。本文用合成因子数据训练梯度提升树,画动量的倒 U 型甜区、四因子 PDP 面板、动量×规模的二维交互热图,并诚实拆穿 PDP 最致命的陷阱——相关因子下它会强行外推到根本不存在的样本组合、把借来的效应算成自己的(附完整 Python,中阶)。
15 min Chinese - SHAP 因子解释:用博弈论份额拆开每个特征对预测的贡献
树模型自带的 gain 重要性有两个死穴:它偏爱高基数特征、而且只给全局排名,答不了『这一只股票为什么被模型看多』。SHAP 借来博弈论里的 Shapley 值——把预测当成一场合作博弈,每个因子是玩家,公平分配它对这次预测的贡献。本文讲清 Shapley 值的可加性从哪来、为什么 base value 加上所有 SHAP 值恰好等于 f(x),用合成因子数据做单样本瀑布图、全局重要性对比、依赖图揭示交互效应,并诚实指出相关特征分摊、计算成本、因果幻觉三大陷阱,附完整 Python(中阶)。
15 min Chinese - 孤立森林异常检测:用随机孤立路径给极端行情打分
传统异常检测先给『正常』建模——估个分布、算个距离,再看谁离得远。孤立森林反着来:异常点本来就少、本来就偏,随机切几刀就能把它单独隔出来,正常点则要切很多刀。于是『被孤立所需的平均路径长度』直接变成异常分数,不需要距离度量、不需要分布假设。合成实验:1000 个交易日、4 维特征(绝对收益、5 日已实现波动、成交量 z、相关性尖峰 z),注入 25 个崩盘日。孤立森林 AUC 0.984,只看收益 z-score 的单变量基线 AUC 0.782——差距来自多维联动:单独看每一维都不算极端、但『量价相关性同时抬升』的日子,只有多维方法抓得住。top-25 命中精度 60% vs 基线 44%。森林规模敏感性:5 棵树 AUC 0.964,50 棵 0.986,100 棵之后彻底平台化——路径长度平均的收敛速度快得惊人。纯 numpy 实现(随机特征+随机分割点递归建树、c(n) 修正项、2^(-h/c) 分数归一化),拆穿分数有绝对阈值/无监督=不用验证/维度越多越好/能检测=能预测/训练集必须干净五类陷阱(中阶)。
12 min Chinese - 非线性 Granger 因果:用神经网络把『谁预测谁』的单向箭头放宽
线性 Granger 因果检验只问一个问题:x 的滞后项能否线性地改善对 y 的预测。但如果 x 通过 x² 驱动 y——波动传导、恐慌放大这类金融常见机制——线性 F 检验会完全漏检。合成实验实测:y 被 0.6·x²(t-1) 强驱动,线性 F 统计量只有 0.17(临界值 3.0),检验结论『无因果』;换成 16 隐单元的小 MLP,加入 x 滞后让样本外 MSE 从 2.72 降到 1.35(改善 50.5%),而线性回归加同样的 x 滞后只改善 1%。显著性用置换检验解决:打乱 x 滞后重训 30 次,最大伪改善仅 3.9%,真实改善 50.5% 的 p 值 < 0.033。方向准确率 74.2%,简单择时把日均收益从 0.10 抬到 0.51。诚实说明:NN Granger 的检验功效换来了解释性损失;置换检验计算量是线性检验的百倍;非线性因果在真实数据中远比合成数据微弱,且极易与波动聚集混淆。拆穿『相关为零=无关系』『NN 改善=真因果』『因果=可交易』等误区(中高阶)。
14 min Chinese - One-Class SVM 异常检测:用高维边界圈出『不正常』的交易日
高斯类方法(马氏距离)默认『正常』只有一个中心,偏离中心越远越异常。但真实市场的正常状态往往是多峰的——平静区制和承压区制是两团各自正常的云。麻烦就藏在两团之间的『山谷』:那些既不像平静、也不像承压的交易日,恰恰是最危险的,而马氏距离会把山谷判成中心(AUC 仅 0.080,方向都反了)。One-Class SVM 用 RBF 核学一条非凸的支撑边界,把两团正常各自圈住、山谷留在外面:合成实验 1000 个正常日(两区制)+ 30 个山谷异常日,OC-SVM AUC 0.961、top-30 命中 33%,而马氏距离几乎为零。纯 numpy 实现带盒约束单纯形投影的对偶求解器,附 ν / γ 双参数敏感性曲线与五类真实陷阱(中阶)。
14 min Chinese - 逆强化学习策略偏好推断:从一段「赚钱轨迹」反推出它到底在优化什么
我们知道某择时策略『很能赚钱』,但不知道它凭什么赚——它在奖励什么?逆强化学习(IRL)把这个问题反过来:给一段专家实际走过的轨迹,反推它背后的奖励函数。本文用纯 numpy 从零实现 MaxEnt IRL(Ziebart 2008):特征期望 + 梯度上升学奖励权重 + softmax 访问频率求解。在「专家其实在奖励『动量 + 低波动 + 周期 − 噪声』」的合成市场里,IRL 把奖励权重还原得与真值余弦相似度 0.94,学到的奖励重放出的状态分布与专家 KL=0.06(随机基线 0.23);并诚实拆穿「专家样本不足→奖励不可辨识 / 特征冗余→权重被错分 / 折扣因子误设 / 最大熵温度 / IRL 给的是偏好不是收益」五类真实陷阱(中阶)。
12 min Chinese - 分位数回归森林:给出收益分布而非单点预测
传统模型只给「明天涨 3%」一个点预测,却答不出「这个数我有多不确定、最坏会跌多少」。分位数回归森林(QRF, Meinshausen 2006)把随机森林的每个叶节点存成样本集合,预测时直接对落点叶的样本求经验分位——于是一次预测吐出整条条件收益分布,而非一个点。本文用纯 numpy 从零实现回归树 + 随机森林 + QRF,在「异方差 + 左偏」的合成收益上实测:90% 区间经验覆盖 QRF=0.874、OLS-正态=0.902、CRPS QRF=0.531 优于 OLS 正态的 0.563 与线性 QR 的 5.326,并诚实拆穿「森林=平滑均值 / 分位单调 / 样本量免费 / OOB 替代 / 分布外可信」五类真实陷阱(中阶)。
12 min Chinese
返回