pints-team / pints

Probabilistic Inference on Noisy Time Series
http://pints.readthedocs.io
Other
228 stars 33 forks source link

Transform/Transformation #1373

Closed MichaelClerx closed 3 years ago

MichaelClerx commented 3 years ago

Before we release a new version of PINTS, we need to sort out the naming of transformations, which are sometimes called "transforms".

E.g. MCMCController and OptimisationController have an argument transform. This is confusing as the object you pass in is a Transformation.

The method optimise() similarly takes a transform where it should be a transformation.

The method mcmc_sample doesn't have a transformation argument at all

The nested sampler controller doesn't take a transformation argument

chonlei commented 3 years ago

Btw, what is the TriangleWaveTransform in ./_optimisers/__init__.py?

MichaelClerx commented 3 years ago

Btw, what is the TriangleWaveTransform in ./_optimisers/__init__.py?

It adds boundaries for optimisers (like cmaes) that expect an unbounded problem. It creates a mirror version of the search space beyond its edges. Works fine unless you have an optimum near the edges and/or get the scale of the search space very very wrong, I guess