astropy / astropy/specutils

Uncertainty propagation in model evaluation

Open
#481 0 comments 0 reactions 0 assignees View on GitHub
discussion fitting
Dominant language
Python
Stars
204
Forks
134
Avg merge
12h 55m
Merged PRs (30d)
1

Description

Evaluated models that contain uncertainties in the parameters (e.g. after having been fit to data), do not provide associated uncertainties in the outputted data array. Related to #474.

For example, consider the following Gaussian:

![gauss-eq](https://user-images.githubusercontent.com/4141126/60975439-028f9a00-a2fa-11e9-9c1d-b02171cbcf16.png)

With uncertainties:

`amplitude = 0.8994641802619674+/-0.1070127529446945`
`mean = 49.698139254800864+/-0.7806634058822939`
`stddev = 5.68318118856827+/-0.7806634058822942`

We'd expect something like this upon evaluating the model:

![gauss-err](https://user-images.githubusercontent.com/4141126/60977538-ab8bc400-a2fd-11e9-89c8-cdffb87d17ea.png)

This is a deep astropy-related issue since the evaluation methods within the models are not aware of the uncertainties on the parameters. We may need to provide a generic wrapper that (a) ensures some uncertainty-aware object (from e.g. the `uncertainties` package) can be provided to the evaluation method in the model, and (b) return a `Spectrum1D` object with the defined uncertainties when calling the `fit_*` functions.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the model evaluation methods and the fit_* functions described in the issue, along with the related issue #474. The work is complete when models with uncertain parameters propagate those uncertainties into evaluated output data and fit_* calls return a Spectrum1D object with defined uncertainties.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.