usnistgov / NeXLUncertainties.jl

Tools for handling correlated uncertainties in Julia
The Unlicense
1 stars 3 forks source link

NeXLUncertainties

Documentation Build Status

Install NeXLUncertainties using the Julia package manager

> ]add NeXLUncertainties

or

> using Pkg
> Pkg.add("NeXLUncertainties")

NeXLUncertainties implements propagation of uncertainties for multivariate measurement models. A multivariate measurement model represents a class of models in which many input parameters (measured values or model parameters) are mapped into more than one output parameter. Calculating these kinds of models using a univariate measurement model ignores correlations in the output parameters that result from sharing the same input parameters.

If your measurement model involves multiple inputs but only one output then Measurements.jl is probably a better choice.

Multivariate measurement models are discussed in JCGM 102:2011 Evaluation of measurement data – Supplement 2 to the “Guide to the expression of uncertainty in measurement” – Extension to any number of output quantities which serves as inspiration for this library. This document presents a model based on a first-order Taylor series approximation. In the multivariate case, the relationship between the input and output uncertainties is represented by a Jacobian matrix - a matrix of partial derivatives of the output parameters with respect to the input parameters. A detailed discussion and some simple examples are presented in Embracing Uncertainty: Modeling the Standard Uncertainty in Electron Probe Microanalysis—Part I .

NeXLUncertainties primarily provides two data types: UncertainValue and UncertainValues

UncertainValue

Carries a single variable and the associated uncertainty. Does not address correlation between variables

UncertainValues

Carries a set of variables and the covariance matrix that represented the uncertainties and the correlations between the variables.