数据窥探和逐步检验:p-hacking 工厂
为什么逐步选择和重复数据窥探相互复合,I 类错误如何在顺序选择中增长,以及应该用什么代替。
制造显著性的方便工作流
逐步检验承诺对混乱问题的整洁答案。从许多候选预测因子开始,添加改善模型的那个,移除看起来弱的,然后重复直到规格看似简洁。在金融中,这工作流常变成 p-hacking 工厂。
问题不仅是逐步方法选择变量。更深层问题是选择通常在与报告最终标准误和 p 值相同的数据上执行。最终回归将已选模型视为好像在看到结果前已指定。它没有。
数据窥探使同样问题更广。研究人员尝试替代变量、样本、变换、滞后结构、组合规则和基准。逐步选择然后在存活候选中选择。每阶段条件于前一阶段的有利结果。最终 t 统计量是搜索产物,即使最终方程在一页上拟合。
一次一个测试仍是许多测试
设单个预先指定检验使用水平 。在零假设下,其错误拒绝概率是 5%。如果研究人员执行 个独立检验并在第一次拒绝后停止,至少一个假阳性的概率是
对 ,
假阳性概率约 22.6%,非 5%。十步它上升到约 40.1%。独立性假设很少精确,但正相关不将程序返回到单检验错误率。
顺序检验也可以基于数据改变机会数。显著结果邀请更多子组分析。弱结果邀请变换。搜索长度是内生的:有趣数据创建更多测试。那是使分母消失的特别高效方式。
逐步选择改变零分布
考虑有结果 和候选预测因子 的回归。逐步程序选择子集 并报告
如果 提前固定,通常系数标准误会熟悉。当 通过搜索数据选择, 分布条件于选择。已选系数因有有利噪声的变量更可能进入而偏离零。
报告标准误回答问题“如果模型固定,这个系数会多可变?”研究人员需要“如果模型在搜索后,已选系数会多可变?”那些是不同分布。
已选系数也倾向于绝对值过大。这是赢家的诅咒回归版。即使所有真实系数为零,许多候选中最大样本相关性可以看起来经济上有意义。
如果 是标准化零相关性,那么
随 增加。确切值依赖于相关性,但已选最大值不以零为中心。作为好像一个预测因子已提前命名的方式计算的 p 值低估不确定度。
数据窥探循环
常见研究循环看起来这样:
- 从广义数据表开始。
- 运行单变量排序或相关性。
- 保留有希望符号的变量。
- 将它们进入逐步回归。
- 减弱标题系数的控件被移除。
- 尝试替代滞后和极值处理规则。
- 报告最终模型作为经济规格。
最终模型可能稀疏且视觉上有说服力。它也是跨更大模型空间搜索的端点。研究人员可以解释每个保留变量这一事实不撤销搜索。 选择后构建的解释是假设而非预先指定预测。
金融数据使循环特别危险因为候选变量相关。会计比率共享分母。价格信号共享收益历史。宏观变量共享 regime。相关候选创建可能模型的密集云。选择最大值仍偏即使当候选不独立。
为什么五步可超过二十个百分点
假设研究人员执行五个顺序检验在水平 5% 上并在一次显著时停止。在独立性下,
确切 22.6% 数字不是普遍估计因为检验可以依赖且停止规则可以更复杂。它是有用低复杂度说明名义错误多快增长。
如果每步也在五个候选变体中选择,可能路径数是
研究人员可能跟随仅一条路径,但数据暴露于许多可能路径。最终 p 值 0.05 不是仅一个检验发生的证据。它是条件于工作流未跟随的故事的证据。
预测和选择之间区别
如果选择程序被作为模型一部分评估,有效预测模型可以使用逐步类选择。问题不是选择算法存在。问题是将已选模型评估为好像算法未查看。
定义将训练数据 映射到已选模型 的算法 。样本外预测在 冻结后在 上评估。检验不问固定模型分布下已选系数是否显著。它问完整算法是否泛化。
嵌套交叉验证实施该逻辑。内部 fold 选择变量和超参数。外部 fold 评估完整选择程序。外部测试不用于移除弱变量、选择滞后或改变目标。
对解释性资产定价论文,报告标准更严。论文应区分预先指定确认性回归与通过探索选择的模型。两者都有价值。它们不支持相同推断声称。
为什么标准信息准则不是魔法
AIC、BIC、调整 和惩罚回归可以通过对模型复杂度收费降低过拟合。它们不自动校正整个研究历史。如果研究人员尝试许多惩罚、特征集、目标定义和样本,已选信息准则本身被选择。
正则化改变偏差-方差权衡。对 ridge 回归,
对 lasso,
这些方法可以通过收缩不稳定系数改进预测。惩罚 仍必须被选择不泄露外部测试。在全样本上选择特征然后报告全样本 t 统计量的 lasso 未解决选择推理。它改变了问题风格。
因子研究版本
在因子研究中,逐步选择可以发生在几个层级:
- 从库中选择特征;
- 选择符号和变换;
- 选择组合断点;
- 选择权重方案;
- 在横截面回归中选择控件;
- 选择用于定义 alpha 的因子模型。
因子可以看起来显著因为每层选择了有利版本。高减低排序可以被选择因为它最大化差。基准可以被选择因为它让残差 alpha 最大。最终表然后给一个经济声明被测试的印象。
Harvey、Liu 和 Zhu 的因子计数论证直接应用。316 个已发表变量是许多选择流水线的可见输出。McLean 和 Pontiff 的发表后衰减提供时间序列证据这些输出不全稳定。
改用什么
如果用探索标签并保护确认数据,用逐步选择做探索。不要用它作为确认性 p 值的捷径。
对预测目标:
- 使用预先指定特征族;
- 在训练 fold 内拟合选择;
- 在外部时序 fold 上评估;
- 测量净成本表现;
- 报告跨 fold 的选择稳定性;
- 仅用一次最终保留。
对解释目标:
- 在分析前指定主变量和方向;
- 报告候选族和选择过程;
- 在适当时用选择性推理或选择后方法;
- 分离探索表与确认表;
- 避免将已选系数解释为好像它们是固定设计估计。
对因子库:
- 按经济构念分组变量;
- 用家族或假发现控制;
- 对搜索族中最佳策略用 reality check;
- 验证后续时期和其他市场;
- 报告失败候选。
简单家族计算
以下代码比较名义单检验错误与跨顺序检验至少一个假阳性的概率。
import numpy as np
alpha = 0.05
steps = np.arange(1, 11)
error_rate = 1 - (1 - alpha) ** steps
for step, rate in zip(steps, error_rate):
print(step, round(rate, 4))
代码假设独立检验和固定尝试数。真实搜索需要更丰富零模拟,特别是当收益序列依赖且规格重叠。输出仍是有用会议厅“仅尝试了几件事”解毒剂。
选择性推理难以有原因
选择后推理尝试条件于选择事件并产生已选模型的有效区间或 p 值。方法数学上要求高因为选择事件可能涉及许多不等式:哪个变量进入、哪些变量被排除、哪个调优参数获胜、哪个停止规则被触发。
困难不是忽视问题的理由。它是普通 p 值回答错误问题的证据。如果团队不能实施选择性推理,它仍可以通过预注册、嵌套验证、保留数据、试验记录和联合自助测试改进设计。
最诚实方法依赖目的。如果目标是预测,样本外评估算法。如果目标是因果或解释解释,指定理论并报告模型不确定度。如果目标是组合构建,测试整个选择和执行过程。一个 p 值不能服务所有三个工作。
如何阅读逐步结果
当你遇到逐步因子或回归结果时,问:
- 多少变量进入初始候选集?
- 变换和滞后如何选择?
- 样本时期在看到结果前固定了吗?
- 控件被选择因为它们改善拟合吗?
- 基准在测量 alpha 前选择了吗?
- 最终模型在未触及数据上测试了吗?
- 标准误已对选择程序调整吗?
- 结果能存活后续样本和现实成本吗?
对一问题的强回答不清除其他。已发表系数可以可重复且仍被选择。后续正收益可以真实且仍有被高估的原始大小。
要点
逐步检验非邪恶。它是搜索模型空间的算法。数据窥探非道德诊断。它是重复暴露于相同数据如何改变零分布的描述。
失败来自组合搜索与普通推理然后忘记搜索发生。在训练数据内使用选择,样本外评估完整程序,校正候选族,并保持未胜路径的审计轨迹。
带五个变量的最终回归可以是五个检验或五千的结果。表不能告诉你哪个。只有研究过程可以。
更安全模型构建协议
首先写概念模型和候选族。族可以广义但必须被命名。“数据库中所有变量”不是有用经济假设;“营业利润的会计测度”至少可审计。
用探索数据理解族,而非证明系数。记录进入、离开和改变符号的候选。如果逐步选择是算法一部分,将其放在训练 fold 内。外部 fold 应评估选择程序而非视为固定的已选模型。
在比较模型前选择主目标。如果策略用于组合,使用净收益、风险、换手和容量约束而非原始样本内拟合。如果目标是解释,预先指定重要的系数和基准。不要让最佳度量随结果改变。
对每个外部测试窗口,保存已选变量和参数。稳定性是证据。如果已选特征集从一个窗口到下一个完全改变,策略可能是局部拟合集合而非一种机制。如果相同变量重现带相似方向,模型更有可信度即使确切系数移动。
外部评估后,运行一次最终未触及保留。不要用其结果选择生产模型。如果保留失败,保持失败并创建新开发问题而非重写选择历史。
对已发表因子,包括附录列出初始候选族、搜索规则和选择后推理方法。读者不需要每个探索图表,但他们需要足够信息理解最终结果如何被选择。稀疏最终方程不是稀疏搜索的证据。
更安全协议不禁止自动选择。它改变结果含义。模型可以声称预测有用如果完整选择算法泛化。它不能声称已选系数有普通单检验 p 值除非分析赢得该声称。
为什么小最终模型可以是最被选择的
简洁性与预先指定不是同一件事。五变量模型可从数百万可能子集被选择。如果研究人员只报告最终系数,读者不能告诉模型是从理论提出还是因为它最小化历史错误度量被选择。
同样问题适用于用作基准的因子模型。研究人员可以尝试 CAPM、三因子、五因子、行业、流动性和自定义基准直到 alpha 最大。最终 alpha 条件于基准选择。在合理替代下消失的因子不自动为假,但声称应为“相对该声明基准的 alpha”,非“未解释收益”。
数据窥探也可以发生在发表后。新论文可以因为审稿人要求加控件,因为改变符号移除观察,因为全样本弱选择子组。那些改变可以可辩护,但它们是新分析。更新 p 值不应被呈现为好像原设计已预测结果。
最安全工作流为每个版本存储模型卡。卡记录研究问题、候选族、选择算法、训练日期、验证日期、基准、成本和改变。审稿人可以然后区分计划精炼与救援操作。
所有该簿记目的不是惩罚创造力。它是使创造性发现便宜且确认性声称昂贵。探索可以广义。确认必须足够窄使 p 值有可识别含义。
参考文献
- White, H. (2000). “A Reality Check for Data Snooping.” Econometrica, 68(5), 1097-1126.
- Romano, J. P. and Wolf, M. (2005). “Stepwise Multiple Testing as Formalized Data Snooping.” Econometrica, 73(4), 1237-1282.
- Harvey, C. R., Liu, Y., and Zhu, H. (2016). “…and the Cross-Section of Expected Returns.” The Review of Financial Studies, 29(1), 5-68.
- Aronson, D. (2006). Evidence-Based Technical Analysis. Wiley, 第 9-12 章.
- López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley, 第 11-15 章.