tensorflow / tensorflow/probability

in STS approximate inference for models with non Gaussian observations, should the observation noise scale be included?

Open
#1,148 3 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.