Namespaces

Types in MathNet.Numerics.Statistics.Mcmc

Type HybridMC

Namespace MathNet.Numerics.Statistics.Mcmc

Parent HybridMCGeneric<T>

A hybrid Monte Carlo sampler for multivariate distributions.

Constructors

Methods

Properties

Public Constructors

HybridMC(Double[] x0, DensityLn<T> pdfLnP, int frogLeapSteps, double stepSize, int burnInterval)

Constructs a new Hybrid Monte Carlo sampler for a multivariate probability distribution. The components of the momentum will be sampled from a normal distribution with standard deviation 1 using the default Random random number generator. A three point estimation will be used for differentiation. This constructor will set the burn interval.
Parameters
Double[] x0

The initial sample.

DensityLn<T> pdfLnP

The log density of the distribution we want to sample from.

int frogLeapSteps

Number frog leap simulation steps.

double stepSize

Size of the frog leap simulation steps.

int burnInterval

The number of iterations in between returning samples.

HybridMC(Double[] x0, DensityLn<T> pdfLnP, int frogLeapSteps, double stepSize, int burnInterval, Double[] pSdv)

Constructs a new Hybrid Monte Carlo sampler for a multivariate probability distribution. The components of the momentum will be sampled from a normal distribution with standard deviation specified by pSdv using the default Random random number generator. A three point estimation will be used for differentiation. This constructor will set the burn interval.
Parameters
Double[] x0

The initial sample.

DensityLn<T> pdfLnP

The log density of the distribution we want to sample from.

int frogLeapSteps

Number frog leap simulation steps.

double stepSize

Size of the frog leap simulation steps.

int burnInterval

The number of iterations in between returning samples.

Double[] pSdv

The standard deviations of the normal distributions that are used to sample the components of the momentum.

HybridMC(Double[] x0, DensityLn<T> pdfLnP, int frogLeapSteps, double stepSize, int burnInterval, Double[] pSdv, Random randomSource)

Constructs a new Hybrid Monte Carlo sampler for a multivariate probability distribution. The components of the momentum will be sampled from a normal distribution with standard deviation specified by pSdv using the a random number generator provided by the user. A three point estimation will be used for differentiation. This constructor will set the burn interval.
Parameters
Double[] x0

The initial sample.

DensityLn<T> pdfLnP

The log density of the distribution we want to sample from.

int frogLeapSteps

Number frog leap simulation steps.

double stepSize

Size of the frog leap simulation steps.

int burnInterval

The number of iterations in between returning samples.

Double[] pSdv

The standard deviations of the normal distributions that are used to sample the components of the momentum.

Random randomSource

Random number generator used for sampling the momentum.

HybridMC(Double[] x0, DensityLn<T> pdfLnP, int frogLeapSteps, double stepSize, int burnInterval, Double[] pSdv, Random randomSource, DiffMethod diff)

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

Double[] Sample()

Returns a sample from the distribution P.

Double[][] Sample(int n)

Returns a number of samples.
Parameters
int n

The number of samples we want.

Return
Double[][]

An array of samples.

string ToString()

Public Properties

double AcceptanceRate get;

int BurnInterval get; set;

int FrogLeapSteps get; set;

Double[] MomentumStdDev get; set;

Gets or sets the standard deviations used in the sampling of different components of the momentum.

Random RandomSource get; set;

double StepSize get; set;