Files
916117771 0221c596b1 docs(11-02): complete plan 11-02 - 置信度评估实现
- 新增三维度加权置信度计算方法
- 加权公式: 0.4*历史命中率 + 0.3*得分分布 + 0.3*集中度
- 数据量检查: 不足50期返回警告
- getPredictionV3返回结构扩展confidence字段
2026-05-01 15:14:37 +08:00

106 lines
3.0 KiB
Markdown

---
phase: 11-predictv3
plan: 02
subsystem: prediction
tags: [confidence, prediction, evaluation, metrics]
dependencies:
requires: [11-01]
provides: [confidence_evaluation]
affects: [getPredictionV3]
tech_stack:
added: [confidence_calculation, weighted_scoring]
patterns: [multi_dimension_weighted_average, data_threshold_check]
key_files:
created: []
modified:
- path: application/admin/model/History.php
changes:
- 新增 _calculateConfidence 方法
- 新增 _getHistoricalHitRateByRank 方法
- 新增 _getScoreDistributionConfidence 方法
- 新增 _getScoreConcentration 方法
- getPredictionV3 新增 confidence 字段返回
key_decisions:
- 三维度加权公式: 0.4*历史命中率 + 0.3*得分分布 + 0.3*集中度
- 数据量阈值设为50期,不足时返回警告并使用估算
- 置信度阈值: >=70%高、50-70%中、<50%低
- 无回测数据时使用排名估算公式: 1 - (rank-1)*0.15
metrics:
duration: 5min
tasks_completed: 2
files_modified: 1
lines_added: 180
completed_at: "2026-05-01T07:15:00Z"
---
# Phase 11 - Plan 02: 置信度评估实现 Summary
## 一句话总结
为预测结果添加三维度加权置信度评估,帮助用户判断预测可靠性。
## 实现内容
### Task 1: 置信度核心计算方法
`History.php` 中新增 4 个方法:
| 方法 | 功能 |
|------|------|
| `_calculateConfidence` | 主计算方法,返回置信度分数和整体置信度 |
| `_getHistoricalHitRateByRank` | 基于历史排名统计命中率 |
| `_getScoreDistributionConfidence` | 计算得分在 Top5 中的分布比例 |
| `_getScoreConcentration` | 计算得分集中度(与平均值的差距) |
**加权公式:**
```
confidence = 0.4 * 历史命中率 + 0.3 * 得分分布 + 0.3 * 得分集中度
```
**数据量检查:**
- 回测数据不足 50 期时返回 `data_warning` 警告
- 无回测数据时使用估算公式: `1 - (rank-1) * 0.15`
### Task 2: getPredictionV3 集成
`getPredictionV3` 返回结构中新增 `confidence` 字段:
```php
return [
'predictions' => $predictions,
// ... 其他字段 ...
'confidence' => $confidence // 新增
];
```
`confidence` 结构:
```php
[
'confidence_scores' => [...], // 各号码置信度详情
'overall_confidence' => 65.5, // Top5 平均置信度
'data_warning' => null // 数据不足警告
]
```
## Deviations from Plan
None - plan executed exactly as written.
## Verification Results
所有验收标准满足:
- `_calculateConfidence` 方法已实现
- `_getHistoricalHitRateByRank` 方法已实现
- `_getScoreDistributionConfidence` 方法已实现
- `_getScoreConcentration` 方法已实现
- `minDataThreshold` 参数存在(50期阈值)
- `score_concentration` 在返回结构中存在
- `getPredictionV3` 返回结构包含 `confidence` 字段
- 所有方法包含函数级注释
## Self-Check: PASSED
- 文件已修改: application/admin/model/History.php
- 提交已创建: 663d83c
- 所有方法已实现并包含注释