Erroneous has multiple components
- A token system for tracking statistical dependencies: Data Correlation Tokens (DCTs)
- A specification for tokens
- Token readers and writers
- Tools for making use of this tracking data, and providing related functionality
- Calculating standard errors
- Stochastic error calculations
- A basic symbolic calculator
- Abstract classes for projects that wish to leverage DCTs
The problem erroneous solves is best illustrated by a problem that occurs with the standard approach to propagating errors, which is to calculate a new variance whenever you perform a calculation.
Consider two variables,
All good up to this point.
Now lets take
Again, we have an error propagation formula,
But we know this is wrong, because
Fundamentally it is because
You only need to save a token
Example, with the two
Now we can save these datasets, throwing away the original data, but saving the DCT with them, then if we load them we can calculate difference, which should be zero
WOHOOO!
Scope: DCTs are intended to be used on data represents functional relationships, i.e. data which specifies (non-unique) output values for a list of (unique) input values, with errors and other statistical moments (the latter being a more experimental future path).
- It should not try to do too much. Nothing can do all maths. It cannot represent all maths.