mvMPQRateMatrix - Rate-matrix updates and reversible-jump proposals for dnNucleotideRateMatrixMixture
| Q : | RateGenerator (<stochastic> pass by reference) |
| The general nucleotide rate matrix on which this move operates. | |
| tune : | Bool (pass by value) |
| Should we tune the scaling factor during burnin? | |
| Default : TRUE | |
| tuneModelPrior : | Bool (pass by value) |
| Should the prior on the model indicator be adapted toward equal time in the two models? This changes the target distribution, so it must only be done during burnin: run the burnin with a tuningInterval, then do the production run without one. The tilt that was reached is reported as lnPriorOdds by the operator summary, and the Bayes factor is recovered from it as BF_NR = (p_N/p_R) * exp(lnPriorOdds). Note that this has no effect unless tune=TRUE, since that is what makes the MCMC call the move's tuning function at all. | |
| Default : FALSE | |
| polyhedronAlpha : | RealPos (pass by value) |
| Concentration of the point drawn from the polyhedron when jumping between models. At one the draw is uniform over the polyhedron, which is an independence proposal and mixes badly when the data are informative about the rate matrix. Above one it concentrates near the time-reversible center, making the jump a small move; below one it spreads toward the facets. Which direction helps depends on the data, so monitor Q.getU() to see where the non-reversible model sits and read the jump acceptance rates from the operator summary. This affects the acceptance rate only, never the target. | |
| Default : 1 | |
| polyhedronCenter : | RealPos[] (pass by value) |
| The point (u1,u2,u3) in the polyhedron about which the jump proposal is centred, or an empty vector to use the time-reversible point (1/2,1/2,1/2). Establish it with a short run confined to the non-reversible model, monitoring Q.getU(), and pass the posterior mean. Because the polyhedron changes shape with every proposal, a centre it cannot accommodate is pulled back along the line toward the time-reversible point for that proposal only; the value given here is kept and tried afresh each time. | |
| Default : [ ] | |
| weight : | RealPos (pass by value) |
| The weight determines the relative frequency with which this move will be attempted. For details, see the description of the 'moveschedule' parameter on the documentation page for 'mcmc()'. | |
| Default : 1 |
Q ~ dnNucleotideRateMatrixMixture(alpha=v(1,1,1,1), lnPriorOdds=0.0)
moves = VectorMoves()
# Default proposal with adaptation disabled.
moves.append(mvMPQRateMatrix(Q, weight=10,
tune=FALSE, tuneModelPrior=FALSE))
# Alternative proposal with a specified center and concentration.
# In an analysis, choose the proposal settings appropriate to the data.
shifted_move = mvMPQRateMatrix(Q, weight=10,
tune=FALSE, tuneModelPrior=FALSE,
polyhedronCenter=v(0.56,0.54,0.34),
polyhedronAlpha=10.0)