3.2 KiB
3.2 KiB
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 |
|
|
|
|
|
|
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.