Files

3.2 KiB
Raw Permalink Blame History

phase, plan, subsystem, tags, dependencies, tech_stack, key_files, decisions, metrics
phase plan subsystem tags dependencies tech_stack key_files decisions metrics
11-predictv3 04 predictV3
权重优化
网格搜索
回测
参数调优
requires provides affects
11-01
11-02
optimizeWeights API
_optimizeWeightsGridSearch method
History.php model
History.php controller
added patterns
权重网格搜索优化
综合评分公式
超时保护机制
预定义配置集
批量回测比较
created modified
path changes
application/admin/model/History.php 新增 _optimizeWeightsGridSearch 方法(约160行)
path changes
application/admin/controller/History.php 新增 optimizeWeights 接口入口,更新 noNeedRight 数组
采用5种预定义权重配置进行网格搜索,而非随机参数空间搜索
综合评分公式:hit_rate * 0.6 + ndcg_5 * 100 * 0.4,命中率权重更高
超时保护默认60秒,允许用户自定义10-120秒范围
duration completed_date task_count file_count
2min 2026-05-01 2 2

Phase 11 Plan 04: 权重网格搜索优化

Summary

实现权重网格搜索优化功能,通过5种预定义权重配置批量回测,找出最优权重配置,提升算法预测准确性。

Changes

Model: _optimizeWeightsGridSearch 方法

application/admin/model/History.php 新增私有方法,实现权重网格搜索优化:

  • 5种预定义配置

    • 遗漏优先型:omit_regression=0.25(最高)
    • 转移概率优先型:transition_prob=0.25(最高)
    • 走势方向优先型:trend_direction=0.25(最高)
    • 平衡型:各维度权重较均衡
    • 组合特征优先型:combination=0.20(最高)
  • 优化目标:综合得分 = hit_rate * 0.6 + ndcg_5 * 100 * 0.4

  • 超时保护:默认60秒,超时后停止剩余配置测试,返回已完成结果

  • 返回结构

    [
      'best_weights' => [],      // 最优权重配置
      'best_hit_rate' => float,  // 最优命中率
      'best_ndcg' => float,      // 最优NDCG
      'best_combined_score' => float,  // 最优综合得分
      'all_results' => [],       // 所有配置测试结果(按得分降序)
      'periods' => int,
      'backtest_count' => int,
      'timeout_seconds' => int,
      'timed_out' => bool,       // 是否超时中断
      'elapsed_time' => float    // 实际耗时
    ]
    

Controller: optimizeWeights 接口

application/admin/controller/History.php 新增公开方法:

  • 参数验证

    • periods:统计期数,范围50-500,默认200
    • backtest:回测期数,范围10-100,默认30
    • timeout:超时秒数,范围10-120,默认60
  • 超时警告:超时时返回警告消息和已完成测试数量

  • 权限配置:已添加到 noNeedRight 数组

Verification

# grep 验证
grep -n "_optimizeWeightsGridSearch" application/admin/model/History.php
# 结果:3924行,方法签名存在

grep -n "optimizeWeights" application/admin/controller/History.php
# 结果:25行(noNeedRight)、506行(方法定义)、526行(方法调用)

Deviations from Plan

None - plan executed exactly as written.

Known Stubs

None.

Threat Flags

None.