Skip to content

[Feature request]: EMCEE Inference Proposal Out Of Bounds Enhancements #609

Description

@TimothyWillard

Label

enhancement, gempyor, inference

Priority Label

low priority

Is your feature request related to a problem? Please describe.

Specifically spurred by this comment:

# TODO: write a more granular method the return for a single parameter and correct the proposal like we did

In particular, when using bounded priors EMCEE seems to reject a large number of proposals for being out of bounds. An example of what this output looks like when running flepimop-calibrate is:

llik is '-48226937.65884703'
llik is '-88930698.4183363'
llik is '-106834157.6086256'
llik is '-34666500.54410425'
  0%|                                                                                                                                                                                        | 0/10 [00:00<?, ?it/s]OUT OF BOUND!!
llik is '-94323243.8932343'
OUT OF BOUND!!
OUT OF BOUND!!

Is your feature request related to a new application, scenario round, pathogen? Please describe.

No response

Describe the solution you'd like

There are two options for how to handle this (not sure of which one is more sound from a modeling perspective):

  1. Implement a custom move that is aware of the modifier upper/lower bounds. See EMCEE's Moves documentation for the API to implement.
  2. Transform the proposals from EMCEE before injecting them them into the modifiers in the InferenceParameters.inject_proposal. Would result in some challenges in doing the backwards accounting as the parameters that EMCEE records would not directly correspond to what was used by the model.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequest for improvement or addition of new feature(s).gempyorConcerns the Python core.inferenceConcerns the parameter inference framework.low priorityLow priority.

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions