org.omegahat.Simulation.MCMC.Proposals
Class AdaptiveProposal

java.lang.Object
  |
  +--org.omegahat.Simulation.MCMC.Proposals.AdaptiveProposal
All Implemented Interfaces:
HastingsCoupledProposal
Direct Known Subclasses:
AdaptiveNormalMetropolisProposal, AdaptiveNormalProposal

public abstract class AdaptiveProposal
extends java.lang.Object
implements HastingsCoupledProposal

This class implements a generic ``adaptive'' Hastings-Coupled proposal. It provodes methods that simply call the adapt method, and then refer the call to the encapsulated GeneralProposal.


Field Summary
protected  PRNG prng
           
protected  GeneralProposal proposal
           
 
Constructor Summary
AdaptiveProposal()
           
 
Method Summary
abstract  void adapt(MultiState mstate)
          modify the state of the enclosed proposal distribution using information from the provided state vector
 double conditionalPDF(java.lang.Object state, java.lang.Object conditions, int which, MultiState stateVector)
          Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
 java.lang.Object generate(java.lang.Object conditions, int which, MultiState stateVector)
          Generate a new component state given the entire state vector
 GeneralProposal getProposal()
           
 double logConditionalPDF(java.lang.Object state, java.lang.Object conditions, int which, MultiState stateVector)
          Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
 double logTransitionProbability(java.lang.Object from, java.lang.Object to, int which, MultiState stateVector)
          Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
 double transitionProbability(java.lang.Object from, java.lang.Object to, int which, MultiState stateVector)
          Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

proposal

protected GeneralProposal proposal

prng

protected PRNG prng
Constructor Detail

AdaptiveProposal

public AdaptiveProposal()
Method Detail

getProposal

public GeneralProposal getProposal()

conditionalPDF

public double conditionalPDF(java.lang.Object state,
                             java.lang.Object conditions,
                             int which,
                             MultiState stateVector)
Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
Specified by:
conditionalPDF in interface HastingsCoupledProposal
Parameters:
conditions - Current value of the component state being updated
state - Proposed state of the component state being updated
which - index of the component state being updated
stateVector - entire set of states, including the state being updated

logConditionalPDF

public double logConditionalPDF(java.lang.Object state,
                                java.lang.Object conditions,
                                int which,
                                MultiState stateVector)
Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
Specified by:
logConditionalPDF in interface HastingsCoupledProposal
Parameters:
conditions - Current value of the component state being updated
state - Proposed state of the component state being updated
which - index of the component state being updated
stateVector - entire set of states, including the state being updated

generate

public java.lang.Object generate(java.lang.Object conditions,
                                 int which,
                                 MultiState stateVector)
Generate a new component state given the entire state vector
Specified by:
generate in interface HastingsCoupledProposal
Parameters:
conditions - Current value of the component state being updated
which - index of the component state being updated
stateVector - entire set of states, including the state being updated

transitionProbability

public double transitionProbability(java.lang.Object from,
                                    java.lang.Object to,
                                    int which,
                                    MultiState stateVector)
Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
Specified by:
transitionProbability in interface HastingsCoupledProposal
Parameters:
from - Current value of the component state being updated
to - Proposed state of the component state being updated
which - index of the component state being updated
stateVector - entire set of states, including the state being updated

logTransitionProbability

public double logTransitionProbability(java.lang.Object from,
                                       java.lang.Object to,
                                       int which,
                                       MultiState stateVector)
Computes the HastingsCoupled transition probability for one sub-state given the entire state vector
Specified by:
logTransitionProbability in interface HastingsCoupledProposal
Parameters:
from - Current value of the component state being updated
to - Proposed state of the component state being updated
which - index of the component state being updated
stateVector - entire set of states, including the state being updated

adapt

public abstract void adapt(MultiState mstate)
modify the state of the enclosed proposal distribution using information from the provided state vector