Files
916117771 8b2590c5b5 docs(predictV3): 添加predictV3算法优化研究文档和前端功能实现
- 完成Phase 11: predictV3算法优化研究文档,涵盖6个优化方向的技术分析
- 实现置信度评估功能,提供历史命中率、得分分布、多维度一致性置信度指标
- 扩展回测指标体系,新增NDCG@K、MRR、命中率分布等排名质量评估指标
- 优化转移概率算法,引入二阶马尔可夫链和多属性联合转移增强预测准确性
- 设计权重训练机制,支持网格搜索和遗传算法进行数据驱动的参数优化
- 集成组合特征挖掘功能,采用关联规则和序列模式发现号码间潜在关联
- 实现完整的前端交互界面,支持预测结果显示、置信度展示和回测验证功能
- 建立性能优化策略,包括预计算缓存、批量计算和降级策略保障响应速度
2026-05-01 23:17:24 +08:00

7.9 KiB
Raw Permalink Blame History

phase, reviewers, reviewed_at, plans_reviewed
phase reviewers reviewed_at plans_reviewed
11
codex
opencode
2026-05-01T12:30:00+08:00
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?NDCGMRR
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 → 网格搜索添加超时限制,考虑异步