Engine = class Engine(builtins.object) |
|
Engine(walkers, errdis, slow=None, copy=None, seed=4213, verbose=0)
Engine defines common properties of all Engines.
An Engine moves around a walker in a random way such that its likelood
remain above the low-likelihood-limit.
Attributes
----------
walkers : WalkerList
list of walkers to be diffused
errdis : ErrorDistribution
error distribution to be used
slow : int
If slow > 0, run this engine every slow-th iteration.
maxtrials : int
maximum number of trials for various operations
rng : numpy.random.RandomState
random number generator
verbose : int
if verbose > 4 report about the engines. (mostly for debugging)
report : list of int (read only)
reports number of succes, accepted, rejected, failed calls. Plus the total.
unitRange : array_like (read only)
present max size of the parameter cloud (in unitspace: [0,1])
unitMin : array_like (read only)
present minimum values of the parameter cloud (in unitspace: [0,1])
Author Do Kester. |
|
Constructor:
- Engine( walkers, errdis, slow=None, copy=None, seed=4213, verbose=0)
- Constructor.
Parameters
----------
walkers : list of Walker
walkers to be diffused
errdis : ErrorDistribution
error distribution to be used
slow : None or int > 0
Run this engine every slow-th iteration. None for all.
seed : int
for random number generator
verbose : int
report about the engines when verbose > 4
copy : Engine
engine to be copied
Methods defined here:
- calculateUnitRange()
- Calculate the range of the present parameter values in unit values.
For Dynamic models the range is calculated for those parameters present in all models;
it is 1.0 for other parameters.
- checkBest( problem, allpars, logL, fitIndex=None )
- Check if Ltry better than the best at .walkers[-1].
If so replace.
Parameters
----------
problem : Problem
the problem in the walker
logL : float
likelihood
allpars : array_like
parameters of problem
fitIndex : array_like
(new) fitIndex
- copy()
- Return a copy of this engine.
- domain2Unit( problem, dval, kpar=None )
- Return value in [0,1] for the selected parameter.
Parameters
----------
problem : Problem
the problem involved
dval : float
domain value for the selected parameter
kpar : None or array_like
selected parameter index, where kp is index in [parameters, hyperparams]
None means all
- execute( walker, lowLhood )
- Execute the engine for diffusing the parameters
Parameters
----------
walker : Sample
walker to diffuse
lowLhood : float
low limit on the loglikelihood
Returns
-------
int : number of succesfull moves
- makeIndex( np, val )
- printReport()
- reportBest()
- Add 1 to the number of best likelihoods found upto now.
- reportCall()
- Store a call to engine
- reportFailed()
- Add 1 to the number of failed steps: could not construct a step.
- reportReject()
- Add 1 to the number of rejected steps: logL > lowLhood.
- reportSuccess()
- Add 1 to the number of succesfull steps: logL < lowLhood.
- setWalker( kw, problem, allpars, logL, fitIndex=None )
- Update the walker with problem, allpars, LogL and logW.
Parameters
----------
walker : Sample
sample to be updated
kw : int
index in walkerlist, of the walker to be replaced
problem : Problem
the problem in the walker
allpars : array_like
list of all parameters
logL : float
log Likelihood
fitIndex : array_like
(new) fitIndex
- unit2Domain( problem, uval, kpar=None )
- Return domain value for the selected parameter.
Parameters
----------
problem : Problem
the problem involved
uval : array_like
unit value for the selected parameter
kpar : None or array_like
selected parameter indices, where kp is index in [parameters, hyperparams]
None means all.
|
|