gprior-class {BMS} | R Documentation |

## Class "gprior"

### Description

An object pertaining to a coefficient prior

### Objects from the Class

A `gprior`

object holds descriptions and subfunctions pertaining to coefficent 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 shrinakge 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.

### Author(s)

Martin Feldkircher and Stefan Zeugner

### 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

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

[Package

*BMS* version 0.3.1

Index]