______________
Changes made
______________
prog.cc
The function DoSampling has been
rewritten. Care has been taken to get the
acceptance ratio for Metropolis-Hastings steps
right.
Note that the sequences of hidden states as well
as the recombination parameter lambda are updated
with Gibbs sampling. Gibbs steps are always
accepted and are therefore not included in computing
the acceptance ratio.
lambda,
the parameter that determines
the transition probabilities between different tree topologies.
________________________________________________________
Changes made in class ChangeLambda,
file treemanip2.cc
________________________________________________________
ChangeLambdaMHacceptMHaccept has been replaced by the
new function SampleNewLambda.
SampleNewLambdaUpdatePosteriorBetaGenNewLambda and AdjustDeltaUpdateTPprobs(1-lambda)*P(S1)/[1-P(S0)], so the total transition
probability is P(S1|S0)= lambda*delta(S0,S1)+
(1-lambda)*P(S1)/[1-P(S0)][1-delta(S0,S1)].
For equal prior probabilities P(Si)=1/3, this reduces to
equation (5) in Husmeier, Neural Network World 4 (10), 589-595, 2000.
The advantage of this definition is that lambda can now
be given a conjugate prior of a standard form, namely the
beta distribution.
Note that tp[i][k] is the log probability for a transition from
topology i into topology k.
ChangeLambda,
file treemanip.h
New variables:
alphaPrior,
betaPrioralphaPosterior,
betaPosteriorprog.cc
Function ProposeLambda has been rewritten
to accommodate the changes described above. Note that
in the new scheme, lambda is updated with Gibbs sampling.
This implies that all sampled values will be accepted;
so there is no longer a need to determine the
acceptance ratio.
treemanip.h,
class TreeCalc:
New function UpdateLambda().
treemanip.h,
class TreeCalc:
New Bool variable updateLambda.
ChooseOptions.h:
New char[4] variable updateLambda.
ChooseOptions.cc:
Changes in ChangeOptions().
prog.cc:
Set function UpdateLambda().
Back to the beginning of this documentation.