fix: pondérer le score horizon par la confiance
Sans pondération, H+6 pouvait afficher 67 quand "now" était 34 car les deux formules n'ont pas la même échelle. Multiplier par confidence (0.85 à H+6, 0.45 à H+48) rend les scores cohérents entre horizons : un risque ne peut pas paraître croître si c'est juste l'incertitude qui augmente. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -115,13 +115,16 @@ class SpotScoreController extends AbstractController
|
||||
|
||||
$horizons = [];
|
||||
foreach ($rows as $row) {
|
||||
$distKm = (float) $row['distance_km'];
|
||||
$score = max(0, (int) round((1 - min($distKm / 50, 1)) * 100));
|
||||
$distKm = (float) $row['distance_km'];
|
||||
$confidence = (float) $row['confidence'];
|
||||
// Score pondéré par la confiance : un horizon lointain moins certain
|
||||
// ne peut pas afficher un risque supérieur à un horizon proche plus fiable
|
||||
$score = max(0, (int) round((1 - min($distKm / 50, 1)) * 100 * $confidence));
|
||||
$horizons['h' . $row['horizon']] = [
|
||||
'score' => $score,
|
||||
'level' => $this->scoreToLevel($score),
|
||||
'distanceKm' => $distKm,
|
||||
'confidence' => (float) $row['confidence'],
|
||||
'confidence' => $confidence,
|
||||
'validAt' => $row['valid_at'],
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user