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