fix: 完成 doco src layout 重构,文件移至 src/doco/ 子目录
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
# 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,谁、何时、改了什么、为什么改。
|
||||
Reference in New Issue
Block a user