BMS (version 0.3.4)

gprior-class: Class "gprior"

Description

An object pertaining to a coefficient prior

Arguments

Objects from the Class

A gprior object holds descriptions and subfunctions pertaining to coefficient priors. Functions such as bms or zlm rely on this class to 'convert' the output of OLS results into posterior expressions for a Bayesian Linear Model. Post-processing functions such as density.bma also resort to gprior objects. There are currently three coefficient prior structures built into the BMS package, generated by the following functions (cf. Feldkircher and Zeugner, 2009) : gprior.constg.init: creates a Zellner's g-prior object with constant g. gprior.eblocal.init: creates an Empricial Bayes Zellner's g-prior. gprior.hyperg.init: creates a hyper g-prior with a Beta-prior on the shrinkage parameter. The following describes the necessary slots

Slots

gtype:
A string with a human-readable identifier of the prior.
is.constant:
Boolean whether the gprior relies on a constant scalar g (that is not dependent on a model)
return.g.stats:
Boolean for whether to collect posterior statistics on shrinkage.
g:
Shold hold the value of g when is.constant==TRUE.
lprobcalc:
A list with a least two sub-functions:
just.loglik(ymy, k, ...):
returns scalar posterior log-likelihood based on residual sum of squares ymy and number of parameters k
lprob.all(ymy, k, bhat, diag.inverse, ...):
Takes output from an OLS model (bhat: OLS coefficients, diag.inverse: diagonal of the matrix inv(t(X)*X)), and returns a list with log-likelihood and posterior moments.

Methods

As for now, there are no methods defined with class "gprior" in the signature.

References

Feldkircher, M. and S. Zeugner (2009): Benchmark Priors Revisited: On Adaptive Shrinkage and the Supermodel Effect in Bayesian Model Averaging, IMF Working Paper 09/202.

See Also

bms and zlm for creating bma or zlm objects. Check the appendix of vignette(BMS) for a more detailed description of built-in priors. Check http://bms.zeugner.eu/custompriors.php for examples.

Examples

Run this code

data(datafls)
mm1=bms(datafls[,1:10], g="EBL")
gg=mm1$gprior.info # is the g-prior object, augmented with some posterior statistics

mm2=bms(datafls[,1:10], g=gg) #produces the same result

mm3=bms(datafls[,1:10], g=BMS:::.gprior.eblocal.init) 
#this passes BMS's internal Empirical Bayes g-prior object as the coefficient prior 
# - any other obejct might be used as well


Run the code above in your browser using DataLab