nikosarcevic/percolator-fish — explained in plain English
Analysis updated 2026-05-18
Learn how Fisher forecasting works using a simple, easy to visualize coffee cooling model.
See how adding more measurements or reducing measurement noise changes forecasted parameter precision.
Study how correlated or degenerate parameters show up in a triangle plot before applying the technique to a real research model.
| nikosarcevic/percolator-fish | 1ncendium/aibuster | aaronmayeux/ha-hurricane-tracker | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | researcher | ops devops | general |
Figures from each repo's GitHub metadata at analysis time.
Requires installing DerivKit alongside this project's Python dependencies.
percolator-fish is a small teaching example that shows how scientists estimate, ahead of time, how well an experiment could pin down the numbers in a model, using a cooling cup of coffee as the stand in for a real experiment. Instead of collecting real measurements, the project simulates them: it uses a well known formula for how a hot object cools toward room temperature over time, adds a bit of realistic random noise to pretend it measured the temperature repeatedly, and then asks how precisely you could have recovered the model's original numbers, such as the starting temperature and how fast it cools, from data like that. This kind of forecasting is called Fisher forecasting, named after a mathematical tool called the Fisher matrix. Rather than fitting one particular set of noisy measurements, it asks a more general question before any data exists: given how sensitive the model's predictions are to each parameter, and how noisy the measurements are expected to be, how tightly could each parameter realistically be constrained, and are any of the parameters hard to tell apart from each other. The project starts with a simple two number version of the coffee model, then extends it to a four number version that includes a cup shape factor, so the numbers become harder to separate and better illustrate the kind of overlapping uncertainty seen in real scientific problems. Getting these forecasts requires computing derivatives, which describe how much the model's predictions shift when one of its numbers is nudged slightly. The project uses a separate tool called DerivKit to compute those derivatives, then turns the results into cooling curve plots, uncertainty estimates, and triangle plots that visually show how each pair of parameters relates to the others. The author frames this as a friendly, low stakes introduction to a technique that is normally applied to much larger and more complex scientific models, using coffee instead of an expensive telescope or particle detector so the idea is easier to follow.
A coffee-cooling toy example showing how scientists forecast, before collecting any data, how precisely an experiment could pin down a model's numbers.
Mainly Python. The stack also includes Python, DerivKit.
License and media credit are mentioned in the README's table of contents, but the specific terms are not shown in the excerpt available.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.