Home/Concepts/The bias-variance tradeoff over time in maritime logistics
The bias-variance tradeoff over time in maritime logistics
Squared error under drift has three sources, not two: variance falling as roughly one over the sample size, bias from model misspecification, and bias from age. The third is…
The estimate a fleet operator is actually making
A fleet operator routing forty ships across three oceans is not, on the face of it, doing statistics. They are choosing tracks, bunker stops and speed profiles. But every one of those choices rests on an estimate: where the canal will be open, what the swell will do off the Cape, which port has a berth in nine days rather than fourteen. Each estimate carries error, and that error has more structure than "wrong" or "right". It decomposes.
Automatic Identification System tracks, port congestion feeds, weather routing models and bunker price ticks are the four streams that feed the estimate. Each has a sampling rate, a noise level and, crucially, an age. The question this page asks is what happens to routing error when that age is allowed to grow, and what a fleet operator gains and loses by refusing to let it.
Bias, variance, and the term standard treatments leave out
The classical decomposition of squared error into bias and variance assumes the target is fixed. An estimator that is too rigid is biased: it consistently misses in the same direction, whatever samples you feed it. An estimator that is too responsive to each sample is high-variance: it jumps around, fitting noise rather than signal. Averaging over more observations trades variance down and bias up, because more smoothing pulls the estimate toward a stable but possibly wrong centre. This is Geman, Bienenstock and Doursat's 1992 framing, and it is why an over-flexible model overfits a small dataset and an over-smooth one underfits a large one.
Maritime routing violates the fixed-target assumption constantly. The Suez Canal's draft restrictions, the Panama Canal's lock scheduling under drought conditions, a typhoon's track, a bunker price shock from a refinery outage — these are not noise around a stable quantity. They are the quantity moving. Hold the target still and you have two error terms. Let it move and a third appears: staleness, the error contributed by observations drawn from a process that no longer exists. Unlike ordinary bias, staleness has no ceiling. A route plan built on canal restrictions as they stood at departure is not slightly wrong nine days later if the canal authority changed the rules mid-voyage. It can be arbitrarily wrong, because the world it described has, in a small but decisive way, stopped existing.
Two positions, both defensible
Position one. The tradeoff is a decomposition, not a hierarchy. Every routing system already reweights its inputs by recency: an exponential forgetting factor on weather models, a half-life on congestion estimates, a discount on AIS positions older than a few hours. This is adaptive filtering, not a new category of problem. The mathematics has been settled since Wiener and Kalman, and refined further in adaptive filters with tunable forgetting rates. Optimal window length under a linear drift assumption scales with the cube root of noise variance over the square of the drift rate — pick the right lambda for canal-restriction volatility versus, say, long-run fuel efficiency curves, and the problem is solved by tuning, not by architecture.
Position two. Weighting only works on data you have. A forgetting factor applied to a feed that stopped updating three days before departure cannot weight tomorrow's canal notice, because tomorrow's canal notice does not exist inside that feed. The axis in question is not how much weight recent data gets. It is whether recent data is admitted into the estimate at all. A voyage plan finalised at departure and held fixed for a fourteen-day Pacific crossing is not making a bad weighting choice. It is making no choice, because by the time the Panama Authority announces a draft restriction mid-voyage, the plan has no channel through which that fact can enter.
The characteristic failure of the domain sits exactly here. A routing decision holds a course through a canal slot that a restriction, announced mid-voyage, has already invalidated. The ship is not badly weighted. It is deaf.
The Large Language Model analogy, and where it stops working
A frozen corpus is the purest low-variance estimator available: enormous sample, one collection event, a stable answer to almost any question about the world as it stood at the cutoff. Its failure mode is not noise. It is staleness, and staleness in a frozen corpus is unbounded in principle — a model trained in 2023 is not "slightly wrong" about a 2027 canal restriction, because no observation from 2027 was ever in the sample. Scaling the model, adding parameters, adding more pre-2023 tokens: none of this touches the term, because scale reduces variance and does nothing else.
A voyage plan fixed at departure is the shipping equivalent. It is built from the best available synthesis of AIS density, congestion forecasts, weather routing and bunker pricing at one moment, and it is a genuinely low-variance estimate of conditions at that moment. Its exposure is entirely to what happens after.
A bounded sensing window — a scene sensed live, then closed — corresponds to a ship that receives one satellite weather update before departure and then goes dark for the crossing. Staleness falls to near zero at the moment of the update and then resumes accruing immediately, exactly as it would for a camera that sees a room once and is switched off. The improvement over the frozen corpus is real but temporary; the window closes with the voyage leg, and the clock restarts.
What continuous intake actually requires
The response is not simply "update more often". A single hour's AIS snapshot is a poor estimator of port congestion on its own — a small, noisy sample, vulnerable to a temporary tide restriction or a single delayed vessel skewing the picture. Discarding history to chase the freshest reading throws away exactly the variance reduction that made the estimate trustworthy in the first place. Fleet operators who over-react to each incoming congestion tick end up re-routing on noise, burning bunker on corrections that a calmer estimator would have smoothed away. This is the standard failure of an unstable tracking filter, and it is a real cost, not a hypothetical one.
The defensible version of continuous intake keeps every observation, dated, and discounts by age and by source reliability rather than deleting anything. A weather routing estimate built this way pools six days of drift data with this morning's satellite pass, weighting the pass more heavily but never discarding the trend the six days established. A congestion estimate for a Red Sea anchorage pools a week of AIS density with a live port authority notice, and if the notice contradicts the trend, the system can say so — because it still has the trend to contradict.
Freshness is just a reweighting problem. Choose lambda correctly and the "third axis" collapses back into the ordinary tradeoff between smoothing and responsiveness.
This objection is right about the mathematics and wrong about what the mathematics presupposes. Reweighting requires a channel. A forgetting factor tuned perfectly for canal-restriction volatility is still worthless if the canal authority's notice arrives through a channel the voyage plan closed at departure. The tuning problem is solved; the availability problem is prior to it.
Continuous intake trades a bounded error for an unbounded one — sensor noise, AIS spoofing near contested straits, correlated failures across feeds that a single curated planning cycle would have filtered out.
This is the harder objection, and it is largely correct as a description of naive streaming. A live AIS feed near the Strait of Hormuz is not a clean signal; vessels spoof position, feeds drop, and a system reacting to every blip will thrash. The answer is not to prefer staleness to noise but to carry provenance alongside every observation: which feed, what confidence, how old. A dated, source-tagged estimate can pool ten days of AIS history with a suspect live signal and downweight the live signal rather than either ignoring it or obeying it blindly. The choice is not fresh instead of large. It is dated instead of undated.
Where the concession actually lands
Not every stream in this domain drifts at the same rate. Hull hydrodynamics, the physics of a given ship class's fuel burn at a given speed, the geometry of a strait — these are close to stationary, and a routing model trained on years-old data is not meaningfully biased about them in 2027. Building always-on intake for hull physics is disproportionate; nothing there moves fast enough to matter.
Canal draft limits, war-risk zones, bunker prices and congestion levels are not stationary at all, and telling them apart from the stable slice requires exactly the live measurement a frozen system lacks. The fleet operator's job, stated precisely, is not "stay current everywhere". It is knowing which of the four streams is thin enough to trust from memory and which has already left the last snapshot behind — and that judgement itself has to be made fresh, on every voyage, because the canal that was stable last year is the one making the announcement this week.