tensorflow / tensorflow/probability
in STS approximate inference for models with non Gaussian observations, should the observation noise scale be included?
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 4.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
In this example a linear Gaussian state space model is used over unconstrained Poisson rates. I'm wondering if this model is actually over-parameterised since it includes observation noise when the unconstrained rates aren't actually observed? That means that it's hard (impossible?) to differentiate between noise in the level/underlying processes and the "observation noise" in this model. To fix, I think it is as easy as changing:
def build_model(approximate_unconstrained_rates):
trend = tfp.sts.LocalLinearTrend(
observed_time_series=approximate_unconstrained_rates)
return tfp.sts.Sum([trend],
observed_time_series=approximate_unconstrained_rates)
to
def build_model(approximate_unconstrained_rates):
trend = tfp.sts.LocalLinearTrend(
observed_time_series=approximate_unconstrained_rates)
return trend
which seems to run fine and look sensible, also the inference with HMC now runs in about 20 seconds instead of around 50.
I'm not 100% sure about this so any input would be great.
Thanks!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked STS approximate-inference example and inspect build_model, LocalLinearTrend, and Sum. Compare the model with and without the observation noise term, then check the HMC behavior described in the issue. Done means establishing the correct model choice and updating the example or documenting why the existing form is appropriate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100