统计学习导论:基于 Python 的实践与应用

作者

邱飞

发布于

2026年3月3日

前言

《统计学习导论:基于 Python 的实践与应用》是一部面向商学院和经济院系学生的统计学习教材。全书把数学原理、可复现代码与中国商业和金融案例放在同一条学习路径上,目标不是让读者只会运行代码,而是能够说明模型为何成立、信息边界在哪里,以及样本外证据能支持怎样的结论。

目标读者

主要读者是已修完微积分、线性代数、概率统计,并具备 Python 入门能力的商学院或经济学院本科高年级学生。本书可作为计量经济学、机器学习或商业数据分析的进阶教材。

研究生与金融业实践者是次要读者:研究生应完成推导、证明和研究设计任务;实践者应先完成第 1—2 章的数据与证据边界,再学习与所选任务相邻的基础模型章节;第 5 章的时间感知评价应在建立至少一个第 3 或第 4 章的基线后学习。任何路线均不得跳过训练—验证—测试边界和时间顺序要求。

先修知识

  • 数学基础:能够计算导数、完成矩阵乘法,理解期望、方差、条件概率、抽样分布和假设检验。无需预先学习测度论或随机过程。
  • 编程能力:能够用 Python 定义变量和函数,使用 numpy 进行数组运算,使用 pandas 按公司与日期排序并在组内构造滞后变量,以及用 matplotlib 绘制带标题和坐标轴的图。第 1 章负责复核并补齐这些操作,但不从 Python 语法零基础开始。
  • 统计习惯:能够区分总体与样本,愿意在解释模型结果前检查数据时点、变量定义和评价集。

开始前诊断

每题按 0—2 分计分:0 分表示未完成,1 分表示思路正确但定义、计算或代码仍有实质缺口,2 分表示结果正确且能解释关键步骤。先独立作答;评分键默认折叠,完成前不要展开。

  1. 不查资料写出条件期望 \(E(Y\mid X)\) 与无条件期望 \(E(Y)\) 的区别。
  2. \(A=\begin{pmatrix}1&2\\0&-1\\3&1\end{pmatrix}\)\(b=(2,1)^\mathsf{T}\),手算 \(Ab\),并写出结果维度。
  3. pandas 按公司和日期排序,并构造一期滞后变量;解释为何不能跨公司移动。
  4. peter 环境中导入 NumPy、pandas 与 Matplotlib,构造一个小型 DataFrame,并绘制一张带标题和横纵轴标签的图。此题不依赖外部数据挂载;数据挂载另作构建前检查。
展开评分键、补修与异形复测

评分键:第 1 题指出条件均值随 \(X\) 取值变化,而无条件期望不附加该条件;第 2 题得到 \((4,-1,7)^\mathsf{T}\) 且维度为 \(3\times1\);第 3 题同时按公司和日期排序并使用公司内 shift(1);第 4 题三个库均可导入,且图题和两个轴标签齐全。每题按本节开头的 0—2 分规则评分。

定向补修:第 1 题失分,复习第 1 章“监督学习和无监督学习”附近的条件均值说明(20 分钟);第 2 题失分,完成第 3 章矩阵表示前的维度核对(25 分钟);第 3 题失分,复做第 1 章公司内滞后示例(30 分钟);第 4 题失分,按 readme.md 的环境启动命令完成最小绘图探针(30 分钟)。环境失败单列为运行阻塞,不计作知识错误。

异形复测:用 \(C=\begin{pmatrix}2&0\\-1&3\end{pmatrix}\)\(d=(1,2)^\mathsf{T}\) 重做矩阵题;将公司列改名为 firm_id、日期列改名为 trade_date 重做滞后;用不同的三行 DataFrame 重画散点图;用“给定行业”举例重述条件期望。总分达到 7 分再进入第 2 章。

总分 7—8 分可进入第 2 章;5—6 分只补修失分项;0—4 分依次完成上述四个定向补修。环境或数据挂载失败必须记录为“未执行”,不得伪装成知识得分。

三条使用路线

  • 14/16 周课程:按 outline.md 的周计划学习,每周约 6—8 小时,完成核心练习和贯穿项目里程碑。
  • 自学路线:每章先完成学习目标和章前诊断;若某章核心检索题未通过,不跳到依赖该章的后续内容。建议每周 8—10 小时。
  • 实践者路线:先完成第 1—2 章,再以第 3 章回归或第 4 章分类建立基线,随后完成第 5 章的时间感知评价;再选择第 6—9 章、深度与事件模型(第 10—11 章)或无监督与推断(第 12—13 章)。高阶证明可后读,但样本外评价不可跳过。

本书结构

本书共分为 13 个核心章节,内容从统计学习框架推进到监督学习、模型评价、现代方法与推断扩展,主要案例置于中国金融与商业数据语境:

  • 第1章:导论。从什么是统计学习开始,辨析监督学习和无监督学习的区别及其在宏观经济预测与客户市场分群中的不同应用。
  • 第2章:统计学习理论基础。直击模型评估的核心——探究损失函数与偏差-方差权衡,探讨如何在模型的复杂度和泛化能力之间找到最佳平衡点。
  • 第3章:线性回归。涵盖简单与多元线性回归、假设检验以及多重共线性等,这是所有计量经济学和金融实证分析的基石。
  • 第4章:分类方法。介绍逻辑回归、判别分析和朴素贝叶斯等模型,常用于企业信用违约预测和市场涨跌方向判断。
  • 第5章:重采样方法。讲解交叉验证(Cross-Validation)和自助法(Bootstrap),这对于在有限的财务数据样本下稳健评估模型性能至关重要。
  • 第6章:线性模型选择与正则化。包括特征子集选择、岭回归(Ridge)和Lasso回归,探讨如何在众多财务指标中筛选出最具预测能力的因子。
  • 第7章:超越线性关系。放松线性假设,深入多项式回归、样条光滑技术以及广义加性模型,捕捉金融异象中非线性的复杂规律。
  • 第8章:基于树的方法。从基础决策树到 Bagging、随机森林(Random Forests)与 Boosting;它们是否优于线性或核方法,取决于数据结构、损失函数、调参和冻结验证证据。
  • 第9章:支持向量机。剖析最大间隔分类器与核方法(Kernel Methods)在处理高维复杂边界时的独特优势。
  • 第10章:深度学习。引入多层感知机网络、卷积神经网络(CNN)与处理时间序列财务报表及行情利器的循环神经网络(RNN)和长短期记忆网络(LSTM)。
  • 第11章:生存分析与删失数据。利用Kaplan-Meier估计和Cox比例风险模型研究企业破产退市时间和客户流失风险。
  • 第12章:无监督学习。通过主成分分析(PCA)进行高维降维和宏观经济指数构建,利用聚类分析描述冻结横截面的相似性与公司画像;本章不把静态聚类解释为板块轮动。
  • 第13章:多重检验。在量化投资中控制多重假设检验带来的错误发现率(FDR),防止开发出“伪量化策略”。

使用说明

可执行核心阅读路线

下表把普通周约 90 分钟的核心阅读定位到可点击章节锚点。范围包含起点与停止点;“跳读桥梁”说明暂缓拓展内容后应直接进入哪里。预算是课程设计上限而非试教实测值;冷启动 smoke 预算包括解释器启动、包导入、文件加载、计算和输出。M12/M13 在阅读时只执行可再分发的紧凑合同 smoke;完整实证链只计入各自 55 分钟项目栏,不在 90 分钟阅读中重复执行。

核心阅读与跳读桥梁 fresh-kernel 有序 setup→consumer 组 承诺输出与冷启动预算(计入 90 分钟)
1 1  统计学习导论 (Introduction) 至数据集前;前沿后读;本章小结 (Chapter Summary) 重入 在新内核中,从本章第一个 Python 块开始,按源码顺序执行至 fig-smarket-prediction(中间块全部包含) 四模型与训练期多数类测试准确率、图 1.4;≤15 分钟
2 章首至 理论来源与前沿;前沿后读;章末学习闭环 重入 从本章第一个 Python 块按源码顺序执行至 fig-bias-variance 偏差平方、方差、噪声与总 MSE 数组及 图 2.6;≤10 分钟
3 章首至 理论来源与前沿;完整证明后读;章末学习闭环 重入 从本章第一个 Python 块按源码顺序执行至 tbl-regression-summary OLS 拟合对象与系数/SE/\(t\)/p 值摘要;≤10 分钟
4 章首至 理论来源与前沿;扩展模拟后读;章末学习闭环 重入 从本章第一个 Python 块按源码顺序执行至 fig-st-calibration 同期留出概率、训练多数类基线与校准图;≤20 分钟
5 验证集方法 (The Validation Set Approach)理论来源与前沿留一交叉验证 (Leave-One-Out Cross-Validation) 证明后读;章末学习闭环 重入 验证集方法 (The Validation Set Approach) 内从第一个 Python 块按源码顺序执行至 tbl-random-walkforward 五个阶数的单次随机 MSE、五折前向 MSE/标准差表;≤15 分钟
6 章首及 降维桥接与权威时间验证;高维证明后读;章末学习闭环 重入 降维桥接与权威时间验证 中从第一个 Python 块按源码顺序执行至 tbl-nested-future-roe 基线、Ridge、Lasso、PCR、PLS 的逐年外层 MSE 与汇总;≤25 分钟
7 多项式回归 (Polynomial Regression)广义加性模型 (Generalized Additive Models)基函数 (Basis Functions) 后读;章末学习闭环 重入 lst-poly-regression-import 起,按源码顺序执行至 lst-step-function;继续执行 lst-spline-importlst-cubic-spline 阶梯回归系数表与三次 B-spline 拟合对象;≤20 分钟
8 决策树的基础贝叶斯加性回归树 前;BART 后读;章末学习闭环 重入 案例研究:预测下一报告期 ROE 的集成方法比较 中从第一个 Python 块按源码顺序执行 code-model-comparison-datacode-model-comparison-train 四个模型的锁定未来期 MSE 标量;≤25 分钟
9 什么是超平面具有非线性决策边界的分类支持向量分类器的细节 后读;章末学习闭环 重入 code-svc-data(该块自含导入、数据生成与拟合) \(100\times2\) 特征矩阵、100 个标签与已拟合线性 SVC;≤5 分钟
10 学习闭环单层神经网络深度学习的训练时间序列预测应用;大型 TensorFlow 训练与 CNN/RNN/LSTM 结构细节后读;小结 重入 lst-mlp-one-update(自含 setup→consumer) 概念阅读覆盖训练诊断和时间有序验证;smoke 产生 BCE—sigmoid 梯度、四组反向梯度与一次更新;≤5 分钟
11 学习闭环模型评估:C-index;正则化/生存树后读;本章小结 重入 中国实际案例:A股上市公司退市生存分析 中从 tbl-delisting-summary 起按源码顺序执行至 lst-survival-sample-audit,继续执行至 tbl-cox-results 样本量/事件率审计与 Cox 系数表;≤25 分钟
12 学习闭环本章小结;EM 后读;章末闭环重入 python scripts/m12_classroom_preflight.py --self-test 只验证环境、原子终态、授权输出和 PCA 边界,不生成实证制品;≤1 分钟
13 学习闭环实践指南与建议;前沿后读;章末闭环重入 python scripts/m13_preflight.py --self-test 只验证 M12→M13 绑定、月界、稳健推断失败分支和原子终态,不生成实证制品;≤1 分钟

静态依赖与 smoke-test 合同。 表中的箭头表示必须在同一 fresh kernel 中按列出顺序执行;标签是地址,不表示块可单独运行。“从第一个块至某标签”同样包含源码区间内的每个 Python 块。发布检查必须先验证标签唯一、起止边界存在、组内 Python 可编译且没有明显的组外变量引用,再用教师小型 fixture 或已核验挂载在隔离内核执行整组。smoke test 只在承诺输出存在、形状/有限性/键唯一/时间边界断言通过且进程退出码为 0 时通过;缺数据或 hash 时必须产生结构化 stopped,不得跳块或复用旧内核对象。实际加载、峰值内存和总耗时写入带 run_id 的每次运行 telemetry;超过该行冷启动预算即记资源失败并转入补修。确定性分析制品要求同输入得到同字节;运行/失败 telemetry 因时间与资源数值变化而按 run_id 追加,不得要求跨运行同字节。

区间地址的权威含义。 第 1—6、8、11 章使用“章节/小节首个 Python 块→目标标签”的连续源码区间;该地址明确要求执行区间内全部 Python 块,与逐标签链具有相同的顺序约束。区间端点缺失、区间内块无法编译或运行时出现组外未定义对象,smoke test 均失败;不得把终点块单独运行或复用旧内核状态。

M12/M13 的上表命令是阅读期合同 smoke;章内完整 setup→consumer 链只由教师运行器在独立新进程中执行,并计入 M12/M13 项目时间。M12 的权威起始顺序是 lst-m12-runtime-setuplst-m12-terminal-schemalst-m12-terminal-publisherlst-m12-artifact-directorylst-m12-run-lifecycle:只有发布器与可写目录验证通过后才签发 run_id。许可数据挂载不可用时,学生完成合同 fixture 替代活动,终态必须标明未产生实证结果。

分支后的动作与重入。 自学者每章执行上表的“读—运行—检索”,检索不达标时按章末错项表补修,只有复测通过才从该行重入点继续;预算为核心阅读 90 分钟加章内题面所列练习分钟。回归/分类实践者在第 5 章重入后走第 6→7→8→9 章;深度/事件实践者在第 5 章重入后走第 10→11 章;无监督/推断实践者在第 5 章重入后走第 12→13 章。三支线都必须先完成第 1、2、5 章的时间边界与样本外评价,并在各自末章闭环重入综合答辩。

不可抵消的出口目标。 各章可用总量阈值处理普通概念,但任务/事件定义、特征与标签时点、训练—验证—测试边界、数据血缘以及被下游消费的冻结制品均为 must-pass;任一项失败都不得被其他四项目标抵消。章末错项表必须给出补修锚点、不同表面形式的复测和重新进入条件。

项目工程预备与专属检查点

跨章工程词统一如下:manifest 是不可改写的样本成员表;schema 是列名、类型和时点合同;hash 绑定文件真实字节;idempotent 仅对确定性制品表示同输入二次执行得到同字节、不同内容拒绝覆盖;telemetry 是含开始/结束时间、耗时、峰值内存和加载行数的每次运行记录,必须按 run_id 追加而非覆盖;registry 是候选模型卡与制品索引;opaque test keys 是可见键但不可见标签或未来结果;purgelabel_date 删除跨边界标签;fail closed 表示证据不足即停止并给出结构化原因。正式项目之前,学生应在教师提供的小型 fixture 上完成一次“读 manifest—复算 hash—追加 registry—篡改后失败”的 20 分钟演练;它是先修准备,不计入项目的 60 分钟主动学习预算。

里程碑 15 分钟 30 分钟 45 分钟 终点与结构化阻塞
M02 核验证券状态历史、日历、标签源 schema/hash 通过逐预测日资格、20 日 warm-up/label_date 与三段 purge 生成 roster、排除表、manifest、开发标签、测试键 六制品与合同同字节幂等;缺状态历史即 blocked
M03 核验 M02 hash 与完整开发键 权威左连接并冻结特征 schema 输出系数、基线、验证 Brier/越界数 非因果结论;任一缺/增/重键即 blocked
M04 核验同一开发键与训练类别 冻结四模型、成本与阈值 输出排序/概率/校准/业务损失 不访问测试;单类时 blocked
M05 复算 M02 原字节 核验相邻集合 purge 写具体 fit/score 键及单折 hash policy/fold JSON 幂等;边界失败即 blocked
M06 核验 M05 folds 与开发特征 同折选择 Ridge/Lasso/PCR/PLS 输出验证表与资源日志 四模型卡/制品 ready 或逐项 failure
M07 核验同一 folds 与支持域 训练折选平滑参数 输出验证表、支持域和偏效应图 LogisticGAM 卡/制品与域外计数
M08 核验开发总体与末端未知日历 训练内剪枝并拟合三候选 输出验证表、重要性和末端审计 三模型卡/制品;键漂移即 blocked
M09 核验八上游候选与两 SVM 计划 冻结 OOF 校准和十候选 registry 独占访问并核验测试 bundle 字节 11 行共同测试表;二次访问或 hash 漂移即 blocked
M12 核验冻结日、输入/切片与完整 prereg hash 冻结多行业 universe、单行业 analysis subset 与 clustering roster,动态选择 PCA 维数和可行 K 生成血缘、载荷/得分、轮廓、画像及排除账本 m12-handoff-v4.json 只绑定确定性输入、三层 roster 与六份机器表;每个 run_id 只写一个 m12-run-<run_id>-v4.json,其中状态为 completedstoppedn<5K/低 ARI 即 blocked
M13 核验 M12 stable handoff 与单独提供的当次 M12 telemetry hash,并冻结完整检验族 探索期稳健单项检验与 BY 幂等冻结发现集 m13-handoff-v5.json 只绑定确定性分析制品;每个 run_id 只写一个 m13-run-<run_id>-v5.json,其中状态为 completedstopped;家族/数据漂移即 blocked

章内标识与解答使用

各章用统一标识区分学习负荷:[核心] 是主路线必学且可被后续章节直接依赖的内容,[拓展] 保存高阶理论或完整扩展实验但不进入普通周 7 小时必修预算,[补救] 只服务于入口诊断未达标后的定向复习。练习元数据唯一规范格式为 [核心/拓展/补救|难度:1/2/3|时间:N分钟|分值:N|项目:Mxx或无];每题必须显式登记项目编号或 项目:无

完整解答默认放在折叠块中。推荐顺序是“独立作答—查看提示或验收项—提交可复算证据—展开完整解答”。展开答案只能用于反馈,不能替代独立作答。教师版可以展开解答并附评分点,学生版应保持默认折叠。

Python 版本与验证边界

本书代码以 Python 3.10.20 和 peter 环境为基准;直接依赖、170 个传递依赖与 Conda 创建入口分别冻结在 requirements.inrequirements-lock.txtenvironment.yml。截至 2026-08-12,锁文件已在全新隔离环境通过依赖一致性、17 个核心库导入与仓库 21 项测试,Quarto 1.9.36 的 14 个入口无执行 HTML 渲染也已通过。现有 Linux 主机曾完成第 1—10 章的禁用缓存执行,但第 11—13 章的真实外部数据挂载尚未完成稳定读取与执行闭环,因此不能宣称 HTML 全书执行通过;Windows、PDF、EPUB 与远端 CI 同样仍为“未验证”。

数据获取

读者可以从教材数据网站获取本地数据。下载路径由 https://assets.qiufei.site/data/ 与相对文件名组成。例如,stock/stock_basic_data.h5 的下载地址是 https://assets.qiufei.site/data/stock/stock_basic_data.h5。建模前应记录文件版本、字段口径和数据截点;大文件默认按列、股票和日期选择性读取。

下载后必须将数据根目录显式配置为 BOOK_DATA_DIR;章节代码只使用该环境变量定位相对文件。Linux/macOS 可执行 export BOOK_DATA_DIR=/absolute/path/to/data;Windows PowerShell 可执行 $env:BOOK_DATA_DIR='D:\book-data'。未配置或目标文件不存在时,实验应立即停止并报告缺失项。

贯穿项目:上市公司风险预测与模型审计

全书使用一个固定版本的中国上市公司行情快照完成贯穿项目。第 2—9 章的唯一主任务固定为:在公司交易日 \(t\) 收盘后,仅用截至 \(t\) 已知的历史行情特征,预测未来 20 个该公司交易日内相对 \(t\) 日收盘价的最大回撤是否达到 10%。模型、审计层和评价方法可以逐章增加,但样本键、标签、窗口、切分和最终测试集不得更换。

机器可读主任务合同

contract_id: a-share-drawdown-20d-v1
snapshot_id: a-share-project-snapshot-v1
price_file: stock/stock_price_post_adjusted.h5
optional_mapping_file: stock/stock_basic_data.h5
security_status_history: runner-provided point-in-time intervals [effective_from, effective_to); required in M02 and byte-hashed
sample_key: [order_book_id, prediction_date]
decision_time: prediction_date close; earliest execution t+1
feature_cutoff: timestamp <= prediction_date close
label: min(price[t+1:t+20] / price[t] - 1) <= -0.10
label_date: company-specific 20th future trading date
incomplete_horizon: keep NA and exclude from modelling
baseline: training event-rate probability; training-majority class
boundary: max(train.label_date) < min(next.prediction_date)
split_id: project-manifest-v1, assigned and hashed once in M02
test_policy: M02-M08 receive labelled development rows and opaque test keys only; M09 uses the controlled label loader once after registry freeze
development_features: runner-provided rows for manifest train/validation keys only; no future-price or test proxy columns
forward_folds: forward-folds-v1.json, written and hashed once in M05; consumed unchanged by M06-M09
test_features: runner-provided rows for manifest test keys, containing only prediction-time features
test_labels: permission-separated runner artifact opened only after the ten-candidate registry hash is frozen
test_input_hashes: runner preregisters SHA-256 for both test feature and label bytes; M09 binds their bundle hash to audit and results

阈值、20 日窗口与复权口径必须在查看测试结果前预注册。可选的证券基本信息表只用于代码和证券类型映射,不得改变主标签。若某类成交活跃度字段不存在,只能删除相应特征族,不能静默更换任务。没有稳定挂载时可以交付合同、代码和合成边界探针;实际日期、文件指纹、样本数、切分哈希与成绩继续标为“待挂载恢复后填写”。

数据快照与实验登记

开始任何建模前,项目组须冻结并提交下表;空缺字段意味着项目尚未进入可复现建模阶段。当前外部数据挂载尚未完成稳定读取与执行验证,因此哈希及实际截点明确保留为恢复稳定访问后的待填项,不得用示例值冒充实测值。

登记字段 本项目契约
快照登记名 a-share-project-snapshot-v1(项目内逻辑名称,不等同于数据版本证明)
源文件 主任务固定为 stock/stock_price_post_adjusted.h5stock/stock_basic_data.h5 只作可选映射
冻结日期与数据截点 待挂载恢复后填写:YYYY-MM-DD(含时区);同时记录各源文件最大可得日期
文件指纹 待挂载恢复后计算并填写 SHA-256
公司总体 对每个 prediction_date 按当时已生效的证券类型、板块、上市、ST 与退市状态判断普通 A 股资格;不得以冻结日状态回溯删除历史行。须冻结状态历史字节、逐行资格、排除理由及数量
样本单位与键 固定为 (order_book_id, prediction_date);同一键只保留一条可审计记录
特征可得时点 只使用预测日收盘时已知的滞后收益、滚动波动和可用成交活跃度;所有 rolling/shift 均在公司内排序后计算
标签 未来 20 个公司交易日最大回撤是否不高于 -10%;第 20 个未来交易日为 label_date,不足窗口保持 NA
时间切分 M02 按事前日期唯一冻结并哈希 project-manifest-v1;M05 只审计原字节并产生训练内前向折;相邻集合满足 max(label_date) < min(next prediction_date)
可复现标识 Git 提交号、Python/包版本、随机种子、运行命令和输出清单;任一项未知须标 未验证

逐章项目里程碑

评分维度代码与 outline.md 量规一致:D 数据与时间边界、M 方法与验证、R 可复现性、C 结论边界、E 表达与图表。下表中的“快照登记”均引用上方同一张启动表,不允许另建口径不一致的临时样本。

章节与标签 可审计交付物 必须引用的快照登记 标签、时点与验证契约 主要量规证据
第2章 M02 合同、数据字典、唯一 manifest/hash 与权限分离的开发/测试键制品 contract_id、行情源、公司总体、事前切分原点 固定 20 日 -10% 标签;开发标签可见、测试只有不含 y 的键 DCR
第3章 M03 线性概率基线、验证 Brier、残差与非因果解释 M02 合同及 manifest hash 训练期拟合、验证期诊断;不访问测试 MCE
第4章 M04 逻辑/LDA/QDA/NB、校准、业务损失与训练类别基线 同一标签、样本键与特征 cutoff 验证期报告 AUROC、PR-AUC、Brier;不访问测试 DME
第5章 M05 原 manifest 字节/hash 审计、20 日 purge 与训练内前向折规范 M02 manifest/hash、label_date、切分日期 不改成员;严格边界断言;测试标签仍不可见 DMR
第6章 M06 Ridge、Lasso、PCR、PLS 概率与 Brier 比较 M05 split_id/hash、同一特征表 只在训练/验证内选模;不访问测试 MRC
第7章 M07 线性、样条/Logistic GAM 同切分比较及支持域图 同一 split、行情口径和特征窗口 20 日标签按 label_date purge;不访问测试 MCE
第8章 M08 剪枝树/RF/Boosting 模型卡、基线、重要性和泄漏审计 同一后复权源、split、全体开发键、随机种子 训练标签不跨验证原点;精确核对键集合;不访问测试标签 DMR
第9章 M09 上游候选、线性/RBF SVM、独立校准与最终比较 M02 hash、冻结 registry、各集合类别数 registry 先冻结;受控加载器唯一打开测试标签;所有候选共用测试键 DMR
第12章 M12 标准化方案、PCA 载荷、聚类画像与稳定性记录 固定报告期、变量口径、纳入公司总体 无监督结果不得使用未来标签选型;K 和轴名来自当次输出或注明教学预设 DMCE
第13章 M13 预注册检验族、效应量、原始与校正 p 值、依赖性说明 检验总体、共同窗口、实际检验数与缺失原因 单项 p 值先满足依赖稳健推断契约,再实施 FWER/FDR 控制 MRC

里程碑制品核对表

下列名称是评分时逐项核对的最低制品;状态必须是 ready 或带有结构化 failure_reasonblocked,不能以正文承诺代替文件、表、图或日志。

里程碑 必需制品与字段
M02 project-manifest-v1.csvproject-development-v1.csvproject-test-keys-v1.csv、逐公司日 eligibility roster、逐行排除表;状态历史与各制品 SHA-256、公司/键计数、20 日 warm-up 与 label_date 审计
M03 完整开发键 hash、具名有限系数表、验证 Brier、越界概率计数、非因果解释
M04 完整开发键 hash、四模型 AUROC/PR-AUC/Brier、校准表、冻结阈值和预注册业务损失
M05 原 manifest 审计、forward-fold-policy-v1.jsonforward-folds-v1.json、policy/fold SHA-256、逐折键与严格 purge 证据
M06 四候选模型卡/制品、折 hash、验证 AUC/Brier、训练基线、实际耗时与峰值内存日志
M07 LogisticGAM 模型卡/制品、折 hash、验证 AUC/Brier、支持域图及超出支持域计数
M08 三个树候选模型卡/制品、折 hash、验证 AUC/Brier、重要性表、完整开发键与末端未知窗口审计
M09 八个上游候选与两个 SVM 的十候选 registry/hash、SVM 基础模型与校准器 hash、测试特征/标签/bundle 字节 hash、唯一测试访问日志、十模型加训练基线的共同测试表
M12 两个源文件与两个选择性切片的实际 SHA-256、m12-preregistration-v2.json、三层 roster/行业映射/排除账本 hash、动态 PCA 维数、六份确定性机器表(m12-loadings-v2.csvm12-scores-v2.csvm12-silhouettes-v2.csvm12-cluster-profile-v2.csvm12-stability-seeds-v2.csvm12-lineage-v2.csv)、m12-handoff-v4.json;另交唯一 m12-run-<run_id>-v4.json 终态,成功时含 handoff hash,失败时含原因/资源/已加载行数
M13 M12 stable handoff、prereg、三层 roster、行业映射与六份确定性机器表 hash,以及单独提供的当次 M12 telemetry hash;源/切片 hash、逐成员 planned family v3、排除账本、BY 结果、冻结发现集、Holm 非重叠复现/失败表、血缘与 m13-handoff-v5.json;另交唯一 m13-run-<run_id>-v5.json 终态,状态为 completedstopped

M02M09 必须逐章登记 M02 的同一 manifest hash;任务名、成员字节或 split_id 变化即判定项目链断裂。M06—M08 的候选记录采用同一字段表:contract_idmilestone_idcandidate_idimplementationfeature_schemamanifest_sha256、开发键哈希、预处理、冻结超参数、验证指标、重拟合配方、制品哈希、状态与失败原因。M09 在读取测试标签前冻结完整 registry 哈希;缺候选必须结构化失败,不能静默遗漏。M12 是不使用主标签调参的结构审计;M13 登记完整检验族而不是事后筛出的显著结果。

教材代码只能核验输入 schema、制品 hash 与访问记录,不能替代课程运行器的文件权限。M02—M08 的进程不得获得覆盖测试标签窗口的未来行情、测试标签、future_min_close 或任何等价代理;M09 也必须先冻结十候选 registry hash,再分别取得预测时点测试特征和权限分离的测试标签。真实“此前不可读”与“只能访问一次”仍须由外部权限和不可覆盖日志验证。真实冻结日期、最大数据日期、SHA-256 与权限日志在挂载稳定访问恢复并实际计算前继续保持“待挂载恢复后填写”。

最终提交包括可复现代码、数据时点表、模型卡、样本外比较、误差分析和不超过 2,000 字的决策报告。评分以数据边界 25%、方法与验证 30%、可复现性 20%、解释边界 15%、表达与图表 10% 计。

项目里程碑、四级评分量规和审计失败条件见 outline.md。未填写快照指纹、时间切分或标签定义的提交不得声称结果可复现。