Class MetropolisHastings
java.lang.Object
org.episteme.core.mathematics.statistics.montecarlo.MetropolisHastings
Metropolis-Hastings Markov Chain Monte Carlo (MCMC).
Samples from complex probability distributions. Essential for statistical physics and Bayesian inference.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic doubleeffectiveSampleSize(double[] samples) Effective sample size (accounts for autocorrelation).static doublemean(double[] samples) Compute mean of samples.double[]sample1D(Function<Double, Double> logProbability, Function<Double, Double> proposal, double initial, int samples, int burnIn) Run Metropolis-Hastings sampling.double[][]sampleND(Function<double[], Double> logProbability, double[] proposalStd, double[] initial, int samples, int burnIn) Multi-dimensional Metropolis-Hastings.static doublevariance(double[] samples) Compute variance of samples.
-
Constructor Details
-
MetropolisHastings
public MetropolisHastings() -
MetropolisHastings
public MetropolisHastings(long seed)
-
-
Method Details
-
sample1D
public double[] sample1D(Function<Double, Double> logProbability, Function<Double, Double> proposal, double initial, int samples, int burnIn) Run Metropolis-Hastings sampling.- Parameters:
logProbability- Log probability of target distribution (unnormalized OK)proposal- Proposal distribution: given current state, generate candidateinitial- Initial statesamples- Number of samples to generateburnIn- Number of initial samples to discard- Returns:
- Array of samples from the target distribution
-
sampleND
public double[][] sampleND(Function<double[], Double> logProbability, double[] proposalStd, double[] initial, int samples, int burnIn) Multi-dimensional Metropolis-Hastings.- Parameters:
logProbability- Log probability of target distributionproposalStd- Standard deviation for Gaussian random walk proposalinitial- Initial state vectorsamples- Number of samplesburnIn- Burn-in period- Returns:
- 2D array [sample_index][dimension]
-
mean
public static double mean(double[] samples) Compute mean of samples. -
variance
public static double variance(double[] samples) Compute variance of samples. -
effectiveSampleSize
public static double effectiveSampleSize(double[] samples) Effective sample size (accounts for autocorrelation).
-