← All articles

Before Prediction

26 January 2026

The systems we most want to model change continuously, and yet we almost never see them that way. What reaches us is a sequence of fragments: a reading taken when somebody thought to take it, through whatever instrument was to hand, under conditions that went unrecorded. Between the fragments the record is silent, and the change happens in the silence.

A fragment is a product of the system, the instrument, the sampling time and the person who decided to sample. Reading it as the system itself is a category error, and machine learning has industrialised that error. Fit a larger model to the reading and you get a better predictor of the reading.

Traces of fragmented observations are reconstructed into underlying state, then modelled as dynamics and plausible futures.

Fragmented observations

A detector records the tracks a collision leaves behind rather than the collision. An engine is read through the sensors that survived the last overhaul. A patient is seen at a clinic visit, a scan, and a blood test on the day the phlebotomist was free. The shape recurs wherever measurement is expensive or intrusive.

Real measurements arrive irregularly, from instruments that drift, on subjects with no clean baseline. The decision to measure is usually taken because something already looked wrong, which entangles the sampling pattern with the quantity being estimated. Absences carry information. What matters is often spread thinly across several weak channels and legible in none of them alone.

Standard practice treats all of this as data quality and cleans it away. Each of those properties is a constraint on what can be inferred. Deleting a constraint hides it rather than satisfies it.

Reconstruction

The first job is to estimate the state that best explains the fragments, together with an honest account of how much state the fragments can support. This is where our mathematics sits: stochastic processes, statistical inference, dynamical systems, the geometry of measurement under constraint. Methods designed for irregular sampling, informative missingness, noise that varies by instrument and subject, and inference at low N. Outputs that are calibrated, traceable and interpretable because interpretability was a design constraint rather than a later request.

Dynamics

Once state can be recovered, a question opens that no snapshot can answer: which direction, how fast, and with what structure. Direction and rate are what an engineer means by remaining life, what a clinician means by deterioration, and what a trialist means by treatment effect. None of them reads reliably off a single measurement, or off a questionnaire scored in whole numbers every twelve weeks.

Trajectories are also what a world model needs. Deep learning over multimodal time series, trained to predict how state evolves in a learned latent space, keeps what persists in the system and discards the sensor. Such a model is only as good as the states it learns from, which is why it comes second.

Measure first. Model second. Prediction sits downstream of both.

Why biology first

The body is continuous, the observations are sparse, and the endpoints in routine use compress continuous change into a handful of integers. Disease progresses before the endpoint moves. Treatment effects disappear when opposing trajectories are averaged into one. A sensor can be exquisitely precise about a quantity that does not matter.

Physics changes when you move between a patient, a reactor, an engine and a market. The estimation problem does not. We built the platform to be indifferent to the substrate, and we entered through medicine because that is where the measurement is worst and where a decade of our own work already sits.

The world changes continuously and we meet it in fragments. Reconstruction comes before prediction.

Please cite this work as:

TimeTrace Labs. Before Prediction. TimeTrace Labs Blog, January 2026.

BibTeX:

@article{timetrace2026beforeprediction,
author = {{TimeTrace Labs}},
title = {Before Prediction},
journal = {TimeTrace Labs Blog},
year = {2026},
url = {https://www.timetracelabs.com/blog/timetrace}
}