class Engine( object ) | Source |
---|
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. -
phantoms : PhantomCollection
Collection of valid walker positions collected during engine execution -
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.
Engine( walkers, errdis, slow=None, phantoms=None, copy=None, seed=4213, verbose=0 ) |
---|
Constructor.
Only one PhantomCollection should be present for all Engines.
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. - phantoms : None or PhantomCollection
Container for all valid walkers, that have been tried. But were not kept.
To calculate the spread of the parameters vs likelihood. - seed : int
for random number generator - verbose : int
report about the engines when verbose > 4 - copy : Engine
engine to be copied
copy( ) |
---|
bestBoost( problem, myFitter=None ) |
---|
Parameters
problem : Problem
the problem at hand
myFitter : None or Fitter
None fetches LevenbergMarquardtFitter
a (non-linear) fitter
setWalker( kw, problem, allpars, logL, walker=None, fitIndex=None ) |
---|
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 -
walker : Walker or None
Copy this walker or create new one -
fitIndex : array_like
(new) fitIndex
noBoost( walker ) |
---|
doBoost( walker ) |
---|
Parameters
- walker : Walker
new walker to be checked
domain2Unit( problem, dval, kpar=None ) |
---|
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
unit2Domain( problem, uval, kpar=None ) |
---|
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.
startJourney( unitStart ) |
---|
Parameters
- unitStart : array_like
start position in npars-dimensions in unit space
calcJourney( unitDistance ) |
---|
Parameters
- unitDistance : array_like
step size in npars-dimensions in unit space
reportJourney( ) |
---|
makeIndex( np, val ) |
---|
reportCall( ) |
---|
reportSuccess( ) |
---|
reportReject( ) |
---|
reportFailed( ) |
---|
reportBest( ) |
---|
printReport( best=False ) |
---|
successRate( ) |
---|
getUnitMinmax( problem, lowLhood ) |
---|
Parameters
- problem : Problem
To extract the unit range for - lowLhood : float
low likelihood boundary
getUnitRange( problem, lowLhood ) |
---|
Parameters
- problem : Problem
To extract the unit range for - lowLhood : float
low likelihood boundary
execute( kw, lowLhood ) |
---|
Parameters
- kw : walker-id
walker to diffuse - lowLhood : float
low limit on the loglikelihood
Returns
- int : number of succesfull moves