bayesbay.perturbations.BirthPerturbation
- class bayesbay.perturbations.BirthPerturbation(parameter_space)
Perturbation by creating a new dimension
- Parameters:
parameter_space (ParameterSpace) – instance of
bayesbay.parameterization.ParameterSpace
Reference Details
- type
type of current perturbation (i.e. class name)
- Returns:
the name of this current class
- Return type:
str
- perturb(state)
proposes a new state by adding a dimension to the given parameter space (
self.param_space
) and calculates the log of the corresponding partial acceptance probability\[\begin{split}\underbrace{\alpha_{p}}_{\begin{array}{c} \text{Partial} \\ \text{acceptance} \\ \text{probability} \end{array}} = \underbrace{\frac{p\left({\bf m'}\right)}{p\left({\bf m}\right)}}_{\text{Prior ratio}} \underbrace{\frac{q\left({\bf m} \mid {\bf m'}\right)}{q\left({\bf m'} \mid {\bf m}\right)}}_{\text{Proposal ratio}} \underbrace{\lvert \mathbf{J} \rvert}_{\begin{array}{c} \text{Jacobian} \\ \text{determinant} \end{array}},\end{split}\]where \({\bf d}_{obs}\) denotes the observed data and \(\mathbf{J}\) the Jacobian of the transformation.
- perturb_param_space_state(ps_state)
proposes a new parameter space state from the given state and calculates the log of the corresponding partial acceptance probability
- Parameters:
state (ParameterSpaceState) – the given current parameter space state
- Returns:
the proposed new parameter space state and the partial acceptance probability
- Return type:
Tuple[State, Number]