setPriors function

Set prior distributions for parameters of Bayesian mixture model for dosages

Set prior distributions for parameters of Bayesian mixture model for dosages

May be used to automatically set up vague or strong priors or explicitly set them for Bayesian finite mixture model specified as an object of class modelSegratioMM using setModel

setPriors(model, type.prior = c("strong", "vague", "strong.tau","strong.s", "specified"), mean.vague = 0.1, prec.vague = 0.1, A.vague = 0.1, B.vague = 0.1, prec.strong=400, n.individuals=200, reffect.A = 44, reffect.B = 0.8, M.sd = 0.025, STRONG.PREC=c(0.025, 0.975), UPPER = 0.995, PREC.INT=0.2, params = NULL, segRatio = NULL)

Arguments

  • model: object of class modelSegratioMM specifying model parameters, ploidy etc

  • type.prior: The type of prior required being one of strong , vague , strong.tau

    strong.s or specified . The first four prior types will automatically set prior distributions whereas for the last, namely specified , the prior distribution parameters must be set explicitly. Note that strong priors get progressively stronger from strong to strong.s

  • mean.vague: The mean of Normal priors for a vague prior

  • prec.vague: The precision of Normal priors for a vague prior

  • A.vague: The shape parameter of the Gamma prior for the precision parameters for a vague prior

  • B.vague: The rate (scale) parameter of the Gamma prior for the precision parameters for a vague prior

  • prec.strong: Precision for Normal mean parameters when type.prior is strong . Note that on logit scale default is equivalent to having a 95%CI as +/- 0.1

  • n.individuals: Used for Binomial calculations to set prior precision parameters when type.prior is strong .

  • reffect.A: The shape parameter of the Gamma prior for the precision parameter of the random.effect for a vague prior

  • reffect.B: The rate (scale) parameter of the Gamma prior for the precision parameter of the random.effect for a vague prior

  • M.sd: Approximate standard deviation for the mean segregation ratios on raw probability scale - this is set to 0.025 which would give an approximate 95% interval of 0.1 for the segregation ratio

  • UPPER: Cutoff for guessing parameters on logit scale noting that logit(1) is undefined

  • STRONG.PREC: Interval on raw probabilty scale used to set strong priors on the the precision distribution parameters of the segregation ratios by using a 95% interval on the theoretical distribution and equating this on the logit scale (Default: c(0.025, 0.975))

  • PREC.INT: Multiplier or setting prior for precision on logit scale corresponding to approx confidence region being precision*(1 - PREC.INT, 1 + PREC.INT) Default:0.2

  • params: if type.prior is specified then a list of priors parameters must be set containing components M for means, A and B for gamma prior parameters and if the model contains a random.effect then reffect.A, and reffect.B for the gamma prior for the precision of random effect taub. Note that the lengths of M, prec, A and B should be equal to the number of components

  • segRatio: If specified, this value overides the automatically generated value which is set as the expected segregation ratio given the ploidy level

Returns

Returns an object of class priorsSegratioMM which is a list with components - type: Type of prior: one of vague , strong

or specified
  • bugs.code: Text containing prior statements for BUGS file

  • random.effect: Logical indicating whether model contains random effect (Default: FALSE)

  • equal.variances: Logical indicating equal or separate variances for each component

  • params: List containing Normal means on logit scale logit.means, precision on logit scale logit.prec, and Gamma parameters A and B and finally reffect.A and reffect.B if the model contains a random effect

  • call: function call

Author(s)

Peter Baker p.baker1@uq.edu.au

See Also

setModel setInits

expected.segRatio

segRatio

setControl

dumpData dumpInits or for an easier way to run a segregation ratio mixture model see runSegratioMM

Examples

## simulate small autooctaploid data set a1 <- sim.autoMarkers(8,c(0.7,0.2,0.1),n.markers=100,n.individuals=50) ## set up model with 3 components x <- setModel(3,8) x2 <- setPriors(x) print(x2) x2b <- setPriors(x, "strong") print(x2b)