Engine

 
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( kw, lowLhood )
Execute the engine for diffusing the parameters
 
Parameters
----------
kw : walker-id
    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
successRate()
Return percentage of success.
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.