Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stochastic Acceptance Step #197

Merged
merged 255 commits into from
Nov 5, 2019
Merged

Stochastic Acceptance Step #197

merged 255 commits into from
Nov 5, 2019

Conversation

yannikschaelte
Copy link
Member

@yannikschaelte yannikschaelte commented Oct 23, 2019

  • Introduce acceptor.StochasticAcceptor to encode the stochastic acceptance step replacing the standard uniform criterion.
  • Introduce distance.StochasticKernel to encode noise distributions, with several concrete implementations already (Gauss, Binomial).
  • Introduce epsilon.Temperature to capture the temperature replacing the traditional epsilons. In addition, multiple concrete TemperatureSchemes were implemented what handle the calculation of the next temperature value.

The goal of this implementation to be low-invasive, yet clear in the design and easily customizable. There are still a few flaws,

  • e.g. that StochasticKernels are not really a subclass of Distance functions concept-wise, could be generalized to a general Comparator class.
  • The information/data exchange between ABCSMC, Acceptor, Distance, Epsilon is not optimal yet and should be abstracted.

Doing these things better would however require deeper changes in the infrastructure and may thus remain for later.

Why is this no major release? I would prefer to go little steps (since this is not API breaking) and move to 0.10 series when the new functionality is mature.

Fixes #57, #58, #59, #60, #61, #192, #201

Copy link
Member

@elbaraim elbaraim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor comments

pyabc/acceptor/acceptor.py Show resolved Hide resolved
pyabc/acceptor/acceptor.py Show resolved Hide resolved
pyabc/distance/kernel.py Show resolved Hide resolved
pyabc/distance/kernel.py Outdated Show resolved Hide resolved
pyabc/distance/kernel.py Outdated Show resolved Hide resolved
pyabc/epsilon/temperature.py Show resolved Hide resolved
pyabc/epsilon/temperature.py Outdated Show resolved Hide resolved
pyabc/epsilon/temperature.py Outdated Show resolved Hide resolved
pyabc/epsilon/temperature.py Outdated Show resolved Hide resolved
pyabc/epsilon/temperature.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@EmadAlamoudi EmadAlamoudi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good

pyabc/epsilon/base.py Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants