Replaces the two-phase (algorithm-scores pretrain + QSO-distance finetune) pipeline with a single unbiased phase that samples hrrr_profiles stratified uniformly by calendar month and trains on the physical algorithm score from Scorer.composite_score/2. Previous Phase 2 target was 'within-band distance percentile' computed from the contacts table. Because non-contest months have almost no QSOs, the model learned 'these conditions → QSO happened → good' and implicitly 'no QSO → bad', so it systematically under-predicted propagation during quiet months (Feb, Mar, Nov). The new pipeline decouples the target from QSO activity entirely. Stratification uses ROW_NUMBER() OVER (PARTITION BY month ORDER BY random()) so every month contributes the same number of profile rows regardless of contest-driven density. Each profile is exploded into one training row per band. Trained model: val RMSE=1.66 pts, R²=0.9744 on 840k rows (10k profiles/month × 7 bands, 50 epochs). Monthly sanity check at fixed weather conditions (10 GHz, 15°C/10°C) now shows Jan=Feb=Mar=68 — the model no longer penalizes quiet months. |
||
|---|---|---|
| .. | ||
| backtest_reports | ||
| gettext | ||
| models | ||
| repo | ||
| static | ||