MonteCarlo Module
A module containing Monte Carlo Markov Chain (MCMC) methods for optimisation. An introduction to MCMC approaches is provided by [Reali, Priami, and Marchetti (2017)](https://doi.org/10.3389/fams.2017.00006)
Types and nested modules
Type/Module | Description |
Functions and values
Function or value | Description |
|
|
|
|
|
|
|
|
Full Usage:
constrainJump initial jump scaleFactor c
Parameters:
float
jump : float
scaleFactor : float
c : Constraint
Returns: float
|
|
Full Usage:
metropolisHastings' random writeOut endCondition propose tune f theta1 l1 d scale iteration
Parameters:
Random
-
`System.Random` to be used for drawing from a uniform distribution.
writeOut : LogEvent -> unit
-
side-effect function for handling `LogEvent` items.
endCondition : (float * float[]) list -> int -> bool
-
`EndCondition` that dictates when the MH algorithm ends.
propose : 'a -> float[] -> float[]
-
proposal `'scale -> 'theta -> 'theta` that generates a jump based on the scale value.
tune : int -> (float * float[]) list -> 'a -> 'a
-
parameter of type `int -> (float * 'a) list -> 'b -> 'b`, where `int` is current iteration,
f : float[] -> float
-
an objective function, `'a -> float`, to optimise.
theta1 : float[]
-
initial position in parameter space of type `'a`.
l1 : float
-
initial value of -log likelihood at theta1 in parameter space
d : (float * float[]) list
-
history of the chain, of type `(float * 'a) list`. Passing a list here allows continuation of a previous analysis.
scale : 'a
-
a scale of type `'b`, which is compatible with the scale tuning function `tune`
iteration : int
-
the current iteration number
Returns: (float * float[]) list * 'a
`(float * 'a) list * 'b` - A tuple containing a list of results, and the final scale used in
the analysis. The `(float * 'a) list` represents a list of paired -log likelihood values with
the proposed theta.
|
|
|
|
|
|
Full Usage:
toFn method interval
Parameters:
TuneMethod
interval : int
Returns: int -> (float * float[]) seq -> Matrix<float> * float -> Matrix<float> * float
|
|