Class MCMCParams2

java.lang.Object
Localiser.algorithms.genericLocaliser.MCMC.MCMCParams2
All Implemented Interfaces:
Serializable, Cloneable, ManagedParameters
Direct Known Subclasses:
MimplexParams

public class MCMCParams2 extends Object implements Serializable, Cloneable, ManagedParameters
Paramters for running a Marklov chain Monte Carlo algorithm.
Author:
Jamie Macaulay
See Also:
  • Field Details

    • serialVersionUID

      public static final long serialVersionUID
      See Also:
    • jumpSize

      public double[] jumpSize
      The size of Gaussian distribution for the jump in each dimension;
    • numberOfJumps

      public int numberOfJumps
      The number of jumps in each Markov chain to attempt. (not the total successful jumps that should be reached before the chain ends)
    • chainStartDispersion

      public double[][] chainStartDispersion
      Where in parameter space the chains should start. Each value in the array is for one dimension. When chains start a random number between the two numbers is chosen as the start position in that dimension for the chain.
    • numberOfChains

      public int numberOfChains
      The number of seperate chains to use in the simulation
    • cylindricalCoOrdinates

      public boolean cylindricalCoOrdinates
      Use cylindrical jumps.
    • chainAnalysis

      public int chainAnalysis
      Parameters for analysis of chains
    • GELMAM_RUBIN_DIAGNOSIS

      public static final int GELMAM_RUBIN_DIAGNOSIS
      See Also:
    • IGNORE_PERCENTAGE

      public static final int IGNORE_PERCENTAGE
      See Also:
    • MEDIAN

      public static final int MEDIAN
      See Also:
    • percentageToIgnore

      public double percentageToIgnore
    • clusterAnalysis

      public int clusterAnalysis
      The type of cluster analysis to use to merge the different chains if they converge on the same or ambiguous results. See K_MEANS and NONE constants.
    • NONE

      public static final int NONE
      Do not attempt to cluster the chains.
      See Also:
    • K_MEANS

      public static final int K_MEANS
      Use K_MEANS to cluster the different chains
      See Also:
    • nKMeans

      public Integer nKMeans
    • maxClusterSize

      public double maxClusterSize
    • kmeanAttempts

      public int kmeanAttempts
      The number of times to perform a k-means algorithm on results The algorithm starts clusters at random locations.
    • kmeansIterations

      public int kmeansIterations
      The number of iterations for each k-means attempt. K-means converges to a result but requires a certain number of iteration to do so.
  • Constructor Details

    • MCMCParams2

      public MCMCParams2()
      Constructor for MCMC params.
  • Method Details

    • setJumpSize

      public void setJumpSize(double jumpsize, int nDim)
      Set the chain jump size- sets the jump size of all dimensions to the input jump size.
      Parameters:
      jumpsize - the jump size for all dimensions.
      nDim - the number of dimensions.
    • setChainDispersion

      public double[][] setChainDispersion(double dispersion, int nDim)
      Set chain start dispersion to one value for all dimensions. The start dispersion is a random number centered on zero and from a distribution with a size defined by the dispersion input parameter.
      Parameters:
      dispersion - the chain start dispersion for all dimensions.
    • clone

      public MCMCParams2 clone()
      Timing error to add to time delays. This is here for legacy reasons.
    • getParameterSet

      public PamParameterSet getParameterSet()
      Description copied from interface: ManagedParameters
      Get a set of data that describes all of the parameters in a class
      Specified by:
      getParameterSet in interface ManagedParameters
      Returns:
      description of the parameters in a class.