Search in sources :

Example 1 with GMRFSkyrideFixedEffectsGibbsOperator

use of dr.evomodel.coalescent.operators.GMRFSkyrideFixedEffectsGibbsOperator in project beast-mcmc by beast-dev.

the class GMRFSkyrideFixedEffectsGibbsOperatorParser method parseXMLObject.

public Object parseXMLObject(XMLObject xo) throws XMLParseException {
    double weight = xo.getDoubleAttribute(MCMCOperator.WEIGHT);
    GMRFSkyrideLikelihood gmrfLikelihood = (GMRFSkyrideLikelihood) xo.getChild(GMRFSkyrideLikelihood.class);
    MultivariateDistributionLikelihood likelihood = (MultivariateDistributionLikelihood) xo.getChild(MultivariateDistributionLikelihood.class);
    MultivariateDistribution prior = likelihood.getDistribution();
    if (prior.getType().compareTo(MultivariateNormalDistribution.TYPE) != 0)
        throw new XMLParseException("Only a multivariate normal distribution is conjugate for the regression coefficients in a GMRF");
    Parameter param = (Parameter) xo.getChild(Parameter.class);
    return new GMRFSkyrideFixedEffectsGibbsOperator(param, gmrfLikelihood, prior, weight);
}
Also used : MultivariateDistributionLikelihood(dr.inference.distribution.MultivariateDistributionLikelihood) MultivariateDistribution(dr.math.distributions.MultivariateDistribution) GMRFSkyrideLikelihood(dr.evomodel.coalescent.GMRFSkyrideLikelihood) Parameter(dr.inference.model.Parameter) GMRFSkyrideFixedEffectsGibbsOperator(dr.evomodel.coalescent.operators.GMRFSkyrideFixedEffectsGibbsOperator)

Aggregations

GMRFSkyrideLikelihood (dr.evomodel.coalescent.GMRFSkyrideLikelihood)1 GMRFSkyrideFixedEffectsGibbsOperator (dr.evomodel.coalescent.operators.GMRFSkyrideFixedEffectsGibbsOperator)1 MultivariateDistributionLikelihood (dr.inference.distribution.MultivariateDistributionLikelihood)1 Parameter (dr.inference.model.Parameter)1 MultivariateDistribution (dr.math.distributions.MultivariateDistribution)1