Skip to main content

Iteration 4: velocity outputs pass G2, still 3 × classical

· 4 min read

Iteration 4 changed the models, not the problem. It kept iteration 3's three-leg engagements, made the models output a velocity (vx, vy) instead of a course and a speed, and added the derived features (bearing rate, its validity flag, the bearing-line intercept).

G2 passes. The seed-205 test split was inconclusive at 0.981 kt [0.940, 1.031]. The rules allow one re-score on a larger fresh-seed test set, and on seed 206, with 100,000 scenarios and the same frozen models, every check passes.

  • Speed passes. The instantaneous LSTM reaches 0.939 kt [0.926, 0.951] at zig + 600 s on the σ = 1° slice, against 1 kt. The BiLSTM reaches 0.740 kt.
  • Range and course pass easily: 7.3% and 4.7° for the LSTM, 5.3% and 3.1° for the BiLSTM.
  • Better than iteration 3 on the same rows. Range, course and speed are 16–27% better.
  • Still about 3 × classical. Classical reaches 0.32 kt on the same rows. The LSTM is 2.1 × classical on range, 3.5 × on course and 2.9 × on speed.

Records: experiments/20261025-i4-g2-rescore/ and experiments/20261024-i4-g2/. Figures: iteration-4 results.

What changed​

Iteration 3 stopped at 1.10 kt. Its LSTM shrank speed estimates towards the middle of the range: slow targets were overestimated and fast ones underestimated, while classical was unbiased.

  • Velocity components. They give one smooth target for course and speed, with no wrap-around and no out-of-range values. Course and speed are derived from the vector.

  • Not enough on its own. Research R1 showed that removing the bias alone would only reach about 1.01 kt.

  • Derived features. The owner therefore added them, to target the remaining scatter.

  • Models. The iteration-3 configuration (two stacked 128-unit recurrent layers), from scratch on seed 205.

  • Outputs. Log range plus vx and vy divided by the top of the target speed range. The loss weights each component 4×.

  • Pre-registered. The decision record, forecast and validation rule were committed before training. Validation gave 0.94 kt [0.91, 0.98] and carried the pair to test.

Seed-206 test split (σ = 1°)​

EstimatorRange, zig+300 sCourse, zig+300 sSpeed, zig+600 s
G2 threshold< 20%< 10°< 1 kt
lstm-instantaneous7.26%4.70°0.939 kt [0.926, 0.951]
bilstm-time-late5.30%3.13°0.740 kt
iteration-3 models (reported)8.7% / 7.2%6.24° / 4.31°1.12 / 1.00 kt
classical3.40%1.36°0.319 kt
naive39.9%89.8°4.23 kt

n = 49,574 at zig + 300 s and 32,266 at zig + 600 s.

Reading it critically​

  • A narrow pass. 52.6% of the LSTM's speed estimates are within 1 kt, and the P90 is 2.9 kt (classical 1.9 kt). The interval's upper bound is well below the threshold, so the pass is not in statistical doubt. The margin itself is small.
  • The bias is still there. The LSTM's median signed speed error is −0.33 kt, and −1.5 kt for 18–20 kt targets: fast targets are called slow. The re-score's forecast predicted this. Removing the bias would leave 0.86 kt; most of the error is scatter.
  • Short range is hardest. Under 2 km the LSTM is 0.97 kt against 0.72–0.78 kt at 2–8 km, and about 20 × classical. Near closest approach the bearing rate changes fast, and the 3-minute trailing rate lags it.
  • It took two looks. Seed 205 was inconclusive and seed 206 passed. The rule allowed exactly this. Allowing two looks roughly doubles the false-pass rate at a true median of exactly 1 kt, from about 1.8% to about 3.7%. The two points differ by 0.04 kt, about 1.8 standard errors. Most of the difference is chance: seed 205's validation split also gave 0.94.
  • Two levers at once. The record cannot say whether velocity outputs or derived features moved speed.
  • The re-score needed four attempts. Cloud containers were reclaimed mid-run three times, on a run of about 4.5–5.3 hours against containers that live about 4–4.6 hours. The scoring is deterministic and every input is bound by digest. Every attempt produced byte-identical files, and the result was fixed before anyone saw it. The last attempt reused the verified prediction files (tma-g2 --reuse-predictions).

What next​

G2 is passed: the models give usable range, course and speed on the problem as posed. G3 asks for parity with classical, which is about 3 × better on speed and course. That is a much larger step than any lever so far has given. Under SRD §7, the plan moves to G3, and the owner chooses whether and how to pursue it.