docs(predictV3): 添加predictV3算法优化研究文档和前端功能实现
- 完成Phase 11: predictV3算法优化研究文档,涵盖6个优化方向的技术分析 - 实现置信度评估功能,提供历史命中率、得分分布、多维度一致性置信度指标 - 扩展回测指标体系,新增NDCG@K、MRR、命中率分布等排名质量评估指标 - 优化转移概率算法,引入二阶马尔可夫链和多属性联合转移增强预测准确性 - 设计权重训练机制,支持网格搜索和遗传算法进行数据驱动的参数优化 - 集成组合特征挖掘功能,采用关联规则和序列模式发现号码间潜在关联 - 实现完整的前端交互界面,支持预测结果显示、置信度展示和回测验证功能 - 建立性能优化策略,包括预计算缓存、批量计算和降级策略保障响应速度
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
---
|
||||
phase: 11
|
||||
reviewers: [codex, opencode]
|
||||
reviewed_at: 2026-05-01T12:30:00+08:00
|
||||
plans_reviewed: [11-01-PLAN.md, 11-02-PLAN.md, 11-03-PLAN.md, 11-04-PLAN.md, 11-05-PLAN.md]
|
||||
---
|
||||
|
||||
# Cross-AI Plan Review — Phase 11: predictV3算法优化
|
||||
|
||||
## Codex Review
|
||||
|
||||
### Summary
|
||||
|
||||
计划技术上是合理的,但有几个需要注意的地方:依赖关系修复、数据验证、性能保护和边缘情况处理。整体架构遵循现有模式良好,NDCG@5 和 MRR 作为排名评估指标是适当的。
|
||||
|
||||
### Strengths
|
||||
|
||||
- 计划结构清晰,任务分解合理
|
||||
- NDCG@5、MRR、命中分布都是业界标准的排名质量评估指标
|
||||
- 扩展字段明确(ndcg_5、mrr、hit_distribution、precision_5)
|
||||
- 整体架构遵循现有代码模式
|
||||
|
||||
### Concerns
|
||||
|
||||
| Severity | Concern |
|
||||
|----------|---------|
|
||||
| HIGH | **依赖关系错误**: Plan 05 (二阶马尔可夫) 不应依赖 Plans 01 和 03 — 它是独立的增强功能 |
|
||||
| HIGH | **数据验证缺失**: 需要最小样本量检查 — 置信度计算建议 50+ 期,二阶马尔可夫建议 150+ 期 |
|
||||
| MEDIUM | **性能保护**: 网格搜索需要超时保护和最优权重缓存机制 |
|
||||
| MEDIUM | **边缘情况**: NDCG 计算需要空预测保护;命中分布需要定义明确的统计桶 |
|
||||
|
||||
### Suggestions
|
||||
|
||||
- 修复 Plan 05 的依赖关系,使其独立执行
|
||||
- 添加数据量阈值验证,不足时返回提示或回退策略
|
||||
- 为网格搜索添加执行超时限制(如 60 秒)
|
||||
- 在 NDCG/MRR 计算前检查 `$details` 是否为空
|
||||
|
||||
### Risk Assessment
|
||||
|
||||
**MEDIUM** — 依赖关系和边缘情况需要修复,否则执行可能失败。
|
||||
|
||||
---
|
||||
|
||||
## OpenCode Review
|
||||
|
||||
### Summary
|
||||
|
||||
Phase 11 计划在功能扩展方向上合理,在现有 V3 预测算法(9维度 + 动态权重)基础上增加置信度评估、回测指标扩展、权重优化和二阶马尔可夫链增强。计划整体结构清晰,依赖关系明确,但存在若干实现细节缺失和潜在风险需要补充。
|
||||
|
||||
### Strengths
|
||||
|
||||
- Plan 01 任务分解合理,指标选择专业
|
||||
- Plan 02 与回测指标扩展解耦,可独立实现
|
||||
- Plan 03 依赖明确,在现有弹窗架构内实现
|
||||
- Plan 04 网格搜索是系统化的超参数优化方法
|
||||
- Plan 05 二阶马尔可夫是合理的算法增强方向
|
||||
|
||||
### Concerns
|
||||
|
||||
| Severity | Concern |
|
||||
|----------|---------|
|
||||
| HIGH | **Plan 01: NDCG 计算公式不明确** — 需要确认基于什么"理想排名"计算,relevance score 定义模糊 |
|
||||
| HIGH | **Plan 01: hit_distribution 定义模糊** — 具体指什么分布?按命中排名?按命中/未命中按期数分布? |
|
||||
| HIGH | **Plan 02: "历史排名命中率"数据来源不明** — 现有 `_runBacktestV3` 不保存历史命中率数据,需要明确是实时计算还是缓存 |
|
||||
| HIGH | **Plan 02: "多维度一致性"定义不明** — 具体指哪些维度之间的一致性?如何量化? |
|
||||
| HIGH | **Plan 04: 5 种权重配置未明确** — 缺少具体配置清单 |
|
||||
| HIGH | **Plan 04: 优化目标不明确** — 用哪个指标作为优化目标?hit_rate?NDCG?MRR? |
|
||||
| HIGH | **Plan 05: 状态空间爆炸** — 二阶马尔可夫状态空间大(尾数 10×10=100),100 期历史数据下很多状态对从未出现,概率估计不准确 |
|
||||
| HIGH | **Plan 05: 100 期阈值缺乏依据** — 二阶马尔可夫需要更长历史,建议至少 200-300 期 |
|
||||
| MEDIUM | **Plan 01: precision_5 与 hit_rate 关系** — 两者都是 Top-5 命中,是否重复?建议区分或合并 |
|
||||
| MEDIUM | **Plan 02: 置信度百分比计算公式** — 三个维度如何加权组合?权重比例未明确 |
|
||||
| MEDIUM | **Plan 02: 数据量要求** — 历史 < 20 期时置信度不准确,缺少 fallback 策略 |
|
||||
| MEDIUM | **Plan 03: UI 设计细节缺失** — 未提供具体布局建议,置信度展示样式不明确 |
|
||||
| MEDIUM | **Plan 03: 命中分布图表实现** — 未说明使用 ECharts 还是 CSS,数据量大时需考虑性能 |
|
||||
| MEDIUM | **Plan 04: 结果持久化** — 每次调用都重新计算?建议增加缓存 |
|
||||
| MEDIUM | **Plan 04: 计算量** — 5 配置 × 50 期回测 = 250 次预测,响应时间长,建议异步 |
|
||||
| MEDIUM | **Plan 05: 一阶/二阶切换逻辑** — 判断条件不明确:总期数阈值还是状态对观察次数阈值? |
|
||||
| MEDIUM | **Plan 05: 与现有一阶权重关系** — 二阶是独立维度还是替换一阶? |
|
||||
| LOW | **Plan 01: 计算性能** — 每次回测批量计算可能影响性能 |
|
||||
| LOW | **Plan 02: 返回值结构** — 是否每个号码都提供置信度? |
|
||||
| LOW | **Plan 03: 前端数据量** — 命中分布是否需要分页/滚动加载? |
|
||||
| LOW | **Plan 03: 国际化** — 新增 UI 文本是否需要多语言? |
|
||||
| LOW | **Plan 05: 性能影响** — 二阶计算复杂度高于一阶 |
|
||||
|
||||
### Suggestions
|
||||
|
||||
**Plan 01:**
|
||||
- 补充 NDCG 公式:DCG = Σ(1/log2(rank+1)),IDCG = Σ(1/log2(i+1)) for i=1..hits
|
||||
- 明确 hit_distribution 结构:`{rank_1: n, rank_2: n, ..., rank_5: n, miss: n}`
|
||||
- 添加回测结果缓存机制
|
||||
|
||||
**Plan 02:**
|
||||
- 将"多维度一致性"改为"预测得分集中度",基于 Top-5 得分与平均得分差距计算
|
||||
- 明确加权公式:`confidence = 0.4*historical + 0.3*score + 0.3*consistency`
|
||||
- 历史命中率作为 `_runBacktestV3` 副产品,调用一次获取
|
||||
|
||||
**Plan 03:**
|
||||
- 补充 UI 设计 mockup 或具体说明
|
||||
- 使用现有 ECharts 展示命中分布
|
||||
- 置信度用红/黄/绿三色表示高/中/低
|
||||
|
||||
**Plan 04:**
|
||||
- 补充 5 种预定义配置的具体权重值
|
||||
- 定义优化目标:综合 hit_rate(60%) + avg_rank(40%)
|
||||
- 使用后台队列异步处理,返回 task_id
|
||||
|
||||
**Plan 05:**
|
||||
- 重新评估二阶马尔可夫必要性 — 49选1彩票数据稀疏性严重
|
||||
- 替代方案:加权 N 阶马尔可夫(70% 二阶 + 30% 一阶)
|
||||
- 明确判断标准:`count($history) >= 200 && $statePairCount >= 5`
|
||||
|
||||
### Risk Assessment
|
||||
|
||||
**MEDIUM** — 实现复杂度中等,数据稀疏性问题高,多处定义不明确需补充。建议优先实现 Plan 01、02、04,将 Plan 05 作为可选高阶优化或重新评估必要性。
|
||||
|
||||
---
|
||||
|
||||
## Consensus Summary
|
||||
|
||||
### Agreed Strengths
|
||||
|
||||
- 计划结构清晰,任务分解合理 ✓
|
||||
- NDCG@5、MRR 是适当的排名质量评估指标 ✓
|
||||
- 整体架构遵循现有代码模式 ✓
|
||||
- 网格搜索是系统化的参数优化方法 ✓
|
||||
|
||||
### Agreed Concerns (Highest Priority)
|
||||
|
||||
| Priority | Concern | Source |
|
||||
|----------|---------|--------|
|
||||
| 1 | **Plan 05 依赖关系错误** — 不应依赖 01、03,是独立功能 | Codex + OpenCode |
|
||||
| 2 | **数据量验证缺失** — 置信度需 50+,二阶马尔可夫需 150-200+ | Codex + OpenCode |
|
||||
| 3 | **边缘情况处理** — NDCG/MRR 空预测保护,hit_distribution 定义模糊 | Codex + OpenCode |
|
||||
| 4 | **Plan 05 状态空间爆炸** — 100 期数据下二阶马尔可夫概率估计不准 | OpenCode |
|
||||
| 5 | **Plan 02 置信度维度定义不明** — "多维度一致性"如何量化 | OpenCode |
|
||||
| 6 | **Plan 04 配置未明确** — 5 种权重具体值缺失,优化目标不明 | OpenCode |
|
||||
| 7 | **性能影响** — 网格搜索需超时/异步,二阶马尔可夫计算量大 | Codex + OpenCode |
|
||||
|
||||
### Divergent Views
|
||||
|
||||
| Issue | Codex | OpenCode |
|
||||
|-------|-------|----------|
|
||||
| Plan 05 数据阈值 | 建议 150+ | 建议 200-300+,并要求状态对观察次数 >= 5 |
|
||||
| precision_5 与 hit_rate | 未提及 | 认为可能重复,建议区分 |
|
||||
|
||||
---
|
||||
|
||||
## Action Items for Replanning
|
||||
|
||||
1. **Fix Plan 05 depends_on** → 改为 `depends_on: []`
|
||||
2. **Add data validation** → 所有计算方法添加最小数据量检查和 fallback
|
||||
3. **Clarify NDCG formula** → 补充完整公式到 Plan 01 Task 1
|
||||
4. **Clarify hit_distribution** → 明确结构为 `{rank_1..rank_5: counts}`
|
||||
5. **Clarify confidence dimensions** → 重命名"多维度一致性"为"得分集中度"
|
||||
6. **Add weight configs** → Plan 04 补充 5 种具体权重配置值
|
||||
7. **Raise 2nd-order threshold** → Plan 05 改为 200 期 + 状态对观察次数检查
|
||||
8. **Add performance protection** → 网格搜索添加超时限制,考虑异步
|
||||
Reference in New Issue
Block a user