# F3 横轴量化方法 PRD v1.0 > 子项目交付物 · 看板分析升级 > 状态:**v1.0 已锁**(2026-06-12 通哥审过 §2/§3/§4 决策) > 起草时间:2026-06-12 > 顾问:Claude Opus 4.7 | 制片人:刘通 > 类型:薄 PRD(只解 v2 之后留下的开放点,已锁部分仅引用) --- ## §1 引用已锁结论(不重述) 本 PRD 是对已有结论的**补丁/收敛**,不替换。已锁部分直接参见以下来源: | 来源 | 已锁内容 | |---|---| | 续接快照 v2 §3 | 横轴公式 `X = 该题材在分析窗口内的均值份额 − 栏目均值份额`,零点 = 栏目均值,单位 = 收视份额绝对差 | | 续接快照 v2 §4 | 双引擎象限图视觉规格:气泡大小 = 收视份额、气泡颜色 = 收视判定三色、气泡边框 = 开篇钩子三档、重叠用 jitter 解 | | 主 project Claude 示意图(2026-06-10) | 23 期实际数据 + 模拟纵轴/钩子已可视化,制片人认可"不挤、不堆叠" | | 续接快照 v3 §1.1 / v4 §3 | 纵轴从 3 档收为 2 档(主线演进 / 并列结构),Prompt 2 v0.2 + ground-truth v0.2.1 M3 100% 锁定 | | 续接快照 v2 §2 字段二 | `equipment_domain` 多选 9 类:陆战装备 / 海军舰船 / 航空航天 / 导弹与反导 / 信息化 / 后勤保障 / 轻武器 / 跨域 / 其他 | 本 PRD 解决 v2 之后留下的三个开放点:**多标签横轴取值规则、小样本兜底、视觉规格刷新到 2 档纵轴**。 --- ## §2 决策一:多标签 → 横轴单点取值规则(Path A 全额法) `equipment_domain` 字段为多选(至少 1 项),但横轴一期只能落一个点。 ### 2.1 规则 **每个 `equipment_domain` 标签独立维护自己的累计均值;一期节目标了 N 个标签,就把该期完整 share 直接记进**每一个**沾上的标签的均值池(全额、不瓜分、不加权)。** ### 2.2 数学定义 ``` 对每个 equipment_domain 标签 i: base_i = 所有沾标签 i 的节目的 share 的算术平均 = Σ(share_j, ∀ j 沾标签 i) / count(j 沾标签 i) 栏目均值: base_全栏目 = 所有节目的 share 的算术平均(单期单算) 每期 ep 的横轴位置: X(ep) = mean(base_i, ∀ i ∈ ep.equipment_domain) − base_全栏目 ``` ### 2.3 示例 设当前 `海军舰船` 桶均值 = 0.69,`跨域` 桶均值 = 0.79,栏目均值 = 0.72。 - 一期标 `海军舰船 + 跨域`,share = 0.71 - 该期 X 位置 = (0.69 + 0.79) / 2 − 0.72 = **+0.02**(略偏热) - 这期 share = 0.71 同时记入 `海军舰船` 均值池(下次 base 重算用)和 `跨域` 均值池 **两点说明**: 1. **均值更新方向自洽**:0.71 < 0.72(栏目均值),也低于"跨域 0.79"。记入两个桶后,两个桶的均值都会被这期略往下拉,符合"低于均值的样本拉低均值"的直觉。 2. **不存在 ×N 放大**:之前讨论过的"按基值加权 × 标签数"方案因方向 bug(低于均值的样本可能反向拉高均值)被否决,详见 2026-06-12 续接讨论。 ### 2.4 适用范围 本规则**仅用于横轴 X 值计算**。其他统计(能力地图、编导对比、scene_tags 分布等)的多标签处理另议。 --- ## §3 决策二:小样本兜底规则 某 `equipment_domain` 桶若在当前分析窗口内样本量 n 较小,均值统计意义弱。视觉上需可辨。 ### 3.1 兜底分档 | 桶样本量 | 视觉处理 | |---|---| | **n ≥ 3** | 正常显示,base 值直接入横轴坐标 | | **n = 1 或 2** | 桶名右侧显示 `(n=X)` 灰色小字;桶内气泡描边改为虚线浅灰;tooltip 警示"样本不足,横轴位置参考价值有限" | | **n = 0** | 桶不出现在横轴坐标系上(如 `陆战装备` 在 21 期场景下属此类,预留枚举值但暂不画) | ### 3.2 阈值出处 n = 3 阈值的取法:统计上方差估计起码需 2 自由度,记录方便取 3。**这是初值,后续看实际分布可调**。 ### 3.3 当前 21 期场景的小样本桶预测 按 v2 §2 九类 + 我对 21 期的初步映射(见配套回填提案表): - `导弹与反导` n=1(ep15 一期),**小样本桶** - `信息化` n=1 或 2(取决于 ep03 是否归这里 vs 跨域),**可能小样本** - `陆战装备` n=0,**不出现在坐标系** - `后勤保障` n=0,**不出现在坐标系** - `其他` n=0,**不出现在坐标系** 其余 4 个桶(`海军舰船` / `航空航天` / `轻武器` / `跨域`)预计 n ≥ 3,正常显示。 --- ## §4 决策三:视觉规格刷新(纵轴 3 档 → 2 档) v2 §4 视觉规格除以下差异外,**全部沿用**: | 元素 | v2 §4(3 档,旧) | 本版(2 档,新) | |---|---|---| | 纵轴档位 | 强主线悬念 / 主线演进 / 并列结构 | **主线演进 / 并列结构**(v3 §1.1 收为 2 档) | | 纵轴坐标 | 三个水平基线 | 两个水平基线 | | 同档内 jitter | ±0.3 | ±0.4(档少了,jitter 可适当加大避免聚拢) | | 中线视觉 | 两条次级分隔 | **一条主分隔线显著加粗**,强调"主线 vs 并列"对照 | | 上下区视觉重点 | 三层等权 | **两区中性等权**——纵轴不暗示偏好方向,呈现客观对照(2026-06-12 通哥拍板) | 横轴部分全部沿用 v2 §4,无变化。 --- ## §5 配套交付清单(子项目本轮其余产出) - [✅ 本文件] `F3_横轴量化方法_PRD_v1.0草稿.md` - [⏳ 下批] `双引擎象限图_HTML_mock_v1.0.html`——基于本 PRD 的纵轴 2 档版可视化,可浏览器直开看交互 - [⏳ 下批] `F3_算法验证脚本.py`——在子项目沙盒里跑通完整计算流程,输入 23 期 equipment_domain 多选 + share,输出各桶 base + 23 期 X 值表 + 数据校验报告 - [⏳ 下批] `equipment_domain_字段定义文档.md`——按 Brief §6.1 格式,主 project Cline 拿去做 schema 迁移 - [⏳ 下批] `23期_equipment_domain_回填提案表.md`——给制片人审,或转 Prompt 1a 的 ground-truth 输入 --- ## §6 落地依赖(主 project Cline 工作清单) 子项目这边的 5 份交付物全部锁定后,主 project Cline 可接手以下工作(均需切 Plan + Opus 审): 1. **Schema 迁移**:`backend/sql/00X_add_equipment_domain.sql`(基于字段定义文档) 2. **23 期回填**:Prompt 1a 跑批结果落库 + 制片人审过的 8 期标题推断低置信度样本 3. **后端 API endpoint**:横轴聚合数据接口 `GET /api/v1/episodes/quadrant-data`(或类似) 4. **前端 React/ECharts 组件**:基于本 PRD 的 HTML mock 1:1 翻译 --- ## §7 后续可能调整项(本版不解,留入 backlog) - **时间窗口选择**:滚动窗口 vs 全部历史 vs 季度,默认设"全部历史",后续 UI 加切换器 - **n ≥ 3 阈值的实际验证**:用 23 期 + 新片陆续入库 6 个月后看分布,必要时调阈值 - **多标签规则是否升级**:本版用全额路 A,运行半年若发现不妥(如某桶均值长期被高频跨域期数刷高)再议升级到带权或 1/N 守恒版 - **n=1/2 视觉表达细节**:虚线浅灰 vs 描边淡化 vs 加图例,等 HTML mock 出来后定 --- ## §8 修订规则 本 PRD 锁定 v1.0 后: - v1.x 微调(视觉细节、阈值小动)在本子项目内修改 - v2.0 重大变更(规则换路 B、取消纵轴 2 档等)需主 project 同步审,通过新一版续接快照固化 修订必留 changelog,谁、何时、改了什么、为什么改。