From f98ee153590373c535e30e0b549f172a404ce0be Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Tue, 28 Apr 2026 14:41:50 -0500 Subject: [PATCH] chore(scorer): apply recalibrated factor weights from gradient descent fit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refit on the current contact corpus via mix recalibrate_scorer (val loss 0.140 vs 0.146 train, initial 0.434). Mostly small adjustments — the notable shifts are time_of_day −0.0116 (now the smallest factor) and rain +0.0069 (continues to be the largest single weight). Sums to 1.0 (within rounding); per-band overrides not affected. --- lib/microwaveprop/propagation/band_config.ex | 20 +++++++++---------- .../propagation/band_config_test.exs | 20 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lib/microwaveprop/propagation/band_config.ex b/lib/microwaveprop/propagation/band_config.ex index 545d21ee..0d4caf78 100644 --- a/lib/microwaveprop/propagation/band_config.ex +++ b/lib/microwaveprop/propagation/band_config.ex @@ -15,16 +15,16 @@ defmodule Microwaveprop.Propagation.BandConfig do # (50/144 MHz with 0 contacts, 47+ GHz with <200 matches) inherit this # vector. @weights %{ - humidity: 0.1243, - time_of_day: 0.0496, - td_depression: 0.0978, - refractivity: 0.1049, - sky: 0.08, - season: 0.1112, - wind: 0.08, - rain: 0.1362, - pressure: 0.1032, - pwat: 0.1128 + humidity: 0.1262, + time_of_day: 0.0380, + td_depression: 0.1010, + refractivity: 0.0986, + sky: 0.0841, + season: 0.1134, + wind: 0.0841, + rain: 0.1431, + pressure: 0.0967, + pwat: 0.1147 } @sunrise_table [7.4, 7.3, 7.0, 6.7, 6.35, 6.25, 6.35, 6.65, 6.9, 7.1, 7.35, 7.45] diff --git a/test/microwaveprop/propagation/band_config_test.exs b/test/microwaveprop/propagation/band_config_test.exs index f1bc593a..be71d847 100644 --- a/test/microwaveprop/propagation/band_config_test.exs +++ b/test/microwaveprop/propagation/band_config_test.exs @@ -230,16 +230,16 @@ defmodule Microwaveprop.Propagation.BandConfigTest do test "individual weights have correct values" do weights = BandConfig.weights() - assert weights.humidity == 0.1243 - assert weights.time_of_day == 0.0496 - assert weights.td_depression == 0.0978 - assert weights.refractivity == 0.1049 - assert weights.sky == 0.08 - assert weights.season == 0.1112 - assert weights.wind == 0.08 - assert weights.rain == 0.1362 - assert weights.pwat == 0.1128 - assert weights.pressure == 0.1032 + assert weights.humidity == 0.1262 + assert weights.time_of_day == 0.0380 + assert weights.td_depression == 0.1010 + assert weights.refractivity == 0.0986 + assert weights.sky == 0.0841 + assert weights.season == 0.1134 + assert weights.wind == 0.0841 + assert weights.rain == 0.1431 + assert weights.pwat == 0.1147 + assert weights.pressure == 0.0967 end end