docs(11-04): complete plan 11-04 - 权重网格搜索优化

This commit is contained in:
2026-05-01 15:17:51 +08:00
parent e61d98607f
commit 7853ce3e28
2 changed files with 124 additions and 4 deletions
+5 -4
View File
@@ -4,14 +4,14 @@ milestone: v1.0
milestone_name: milestone milestone_name: milestone
status: verifying status: verifying
stopped_at: context exhaustion at 95% (2026-04-30) stopped_at: context exhaustion at 95% (2026-04-30)
last_updated: "2026-05-01T07:13:49.247Z" last_updated: "2026-05-01T07:17:46.503Z"
last_activity: 2026-05-01 last_activity: 2026-05-01
progress: progress:
total_phases: 11 total_phases: 11
completed_phases: 1 completed_phases: 1
total_plans: 8 total_plans: 8
completed_plans: 5 completed_plans: 6
percent: 63 percent: 75
--- ---
# Project State # Project State
@@ -30,7 +30,7 @@ Plan: 5 of 5 (planned)
Status: Phase complete — ready for verification Status: Phase complete — ready for verification
Last activity: 2026-05-01 Last activity: 2026-05-01
Progress: [█████░░░░░] 50% Progress: [████████░░] 75%
## Performance Metrics ## Performance Metrics
@@ -52,6 +52,7 @@ Progress: [█████░░░░░] 50%
| Phase 11-predictv3 P01 | 5min | 3 tasks | 1 files | | Phase 11-predictv3 P01 | 5min | 3 tasks | 1 files |
| Phase 11-predictv3 P02 | 2min | 2 tasks | 1 files | | Phase 11-predictv3 P02 | 2min | 2 tasks | 1 files |
| Phase 11-predictv3 P04 | 2min | 2 tasks | 2 files |
## Accumulated Context ## Accumulated Context
@@ -0,0 +1,119 @@
---
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.