docs(11-04): complete plan 11-04 - 权重网格搜索优化
This commit is contained in:
+5
-4
@@ -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.
|
||||||
Reference in New Issue
Block a user