pypomp.proposals.mvn_rw_adaptive

pypomp.proposals.mvn_rw_adaptive(rw_sd: dict[str, float] | None = None, rw_var: ndarray | None = None, param_names: list[str] | None = None, scale_start: int = 200, scale_cooling: float = 0.999, shape_start: int = 200, target: float = 0.234, max_scaling: float = 50.0) MVNRWAdaptive[source]

Construct an adaptive MVN random-walk proposal (Roberts & Rosenthal 2009).

Provide exactly one of rw_sd (diagonal initialisation) or rw_var (full initial covariance).

Parameters:
  • rw_sd (dict, optional) – Named dict of per-parameter random-walk SDs.

  • rw_var (array_like, optional) – Full initial covariance matrix.

  • param_names (list of str, optional) – Required when rw_var is supplied.

  • scale_start (int, default 200) – Iteration at which to begin scale adaptation.

  • scale_cooling (float, default 0.999) – Cooling base for the scale update (in (0, 1]).

  • shape_start (int, default 200) – Number of accepted proposals before switching to empirical covariance.

  • target (float, default 0.234) – Target Metropolis acceptance ratio.

  • max_scaling (float, default 50.0) – Upper bound for the scaling factor.

Returns:

A MVNRWAdaptive instance.

Return type:

MVNRWAdaptive