Stores the prior distributions to be used for Bayesian variable selection in normal regression models. This class can be used to specify the prior on non-zero regression coefficients, the model indicator or the nuisance parameters.

1 2 3 4 5 6 7 8 9 10 | ```
momprior(tau, tau.adj=10^6, r=1)
imomprior(tau, tau.adj=10^6)
emomprior(tau, tau.adj=10^6)
zellnerprior(tau, tau.adj=10^6)
modelunifprior()
modelbinomprior(p=0.5)
modelbbprior(alpha.p=1, beta.p=1)
igprior(alpha=.01, lambda=.01)
``` |

`tau` |
Prior dispersion parameter for covariates undergoing selection |

`tau.adj` |
Prior variance in Normal prior for covariates not undergoing selection |

`r` |
MOM prior parameter is |

`p` |
Prior inclusion probability for binomial prior on model space |

`alpha.p` |
Beta-binomial prior on model space has parameters alpha.p, beta.p |

`beta.p` |
Beta-binomial prior on model space has parameters alpha.p, beta.p |

`alpha` |
Inverse gamma prior has parameters alpha/2, lambda/2 |

`lambda` |
Inverse gamma prior has parameters alpha/2, lambda/2 |

Objects can be created by calls of the form ```
new("msPriorSpec",
...)
```

, but it is easier to use creator functions.

For priors on regression coefficients use `momprior`

,
`imomprior`

or `emomprior`

.
For prior on model space `modelunifprior`

, `modelbinomprior`

or `modelbbprior`

.
For prior on residual variance use `igprior`

.

`priorType`

:Object of class

`"character"`

.`"coefficients"`

indicates that the prior is for the non-zero regression coefficients.`"modelIndicator"`

that it is for the model indicator, and`"nuisancePars"`

that it is for the nuisance parameteres. Several prior distributions are available for each choice of`priorType`

, and these can be speicified in the slot`priorDist`

.`priorDistr`

:Object of class

`"character"`

. If`priorType=="coefficients"`

,`priorDistr`

can be equal to "pMOM", "piMOM", "peMOM" or "zellner" (product moment, product inverse moment, product exponential moment or Zellner prior, respectively). If`priorType=="modelIndicator"`

,`priorDistr`

can be equal to "uniform" or "binomial" to specify a uniform prior (all models equaly likely a priori) or a binomial prior. For a binomial prior, the prior inclusion probability for any single variable must be specified in slot`priorPars['p']`

. For a beta-binomial prior, the Beta hyper-prior parameters must be in`priorPars['alpha.p']`

and`priorPars['beta.p']`

. If`priorType=="nuisancePars"`

,`priorDistr`

must be equal to "invgamma". This corresponds to an inverse gamma distribution for the residual variance, with parameters specified in the slot`priorPars`

.`priorPars`

:Object of class

`"vector"`

, where each element must be named. For`priorDistr=='pMOM'`

, there must be an element "r" (MOM power is 2r). For any`priorDistr`

there must be either an element "tau" indicating the prior dispersion or elements "a.tau" and "b.tau" specifying an inverse gamma hyper-prior for "tau". Optionally, there may be an element "tau.adj" indicating the prior dispersion for the adjustment variables (i.e. not undergoing variable selection). If not defined, "tau.adj" is set to 0.001 by default. For`priorDistr=='binomial'`

, there must be either an element "p" specifying the prior inclusion probability for any single covariate, or a vector with elements "alpha.p" and "beta.p" specifying a Beta(alpha.p,beta.p) hyper-prior on p. For`priorDistr=='invgamma'`

there must be elements "alpha" and "lambda". The prior for the residual variance is an inverse gamma with parameteres`.5*alpha`

and`.5*lambda`

.

No methods defined with class "msPriorSpec" in the signature.

When new instances of the class are created a series of check are performed to ensure that a valid prior specification is produced.

David Rossell

Johnson VE, Rossell D. Non-Local Prior Densities for Default Bayesian Hypothesis Tests. Journal of the Royal Statistical Society B, 2010, 72, 143-170

Johnson VE, Rossell D. Bayesian model selection in high-dimensional settings. Journal of the American Statistical Association, 107, 498:649-660.

See also `modelSelection`

for an example of defining an instance of the class
and perform Bayesian model selection.

1 | ```
showClass("msPriorSpec")
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.