predict.Bvs {BayesVarSel}R Documentation

Bayesian Model Averaged predictions

Description

Samples of the model averaged objective predictive distribution

Usage

## S3 method for class 'Bvs'
predict(object, newdata, n.sim = 10000, ...)

Arguments

object

An object of class Bvs

newdata

A data frame in which to look for variables with which to predict

n.sim

Number of simulations to be produced

...

Further arguments to be passed (currently none implemented).

Details

The distribution that is sampled from is the discrete mixture of the (objective) predictive distribution with weights proportional to the posterior probabilities of each model. That is, from

latex

The models used in the mixture above are the retained best models (see the argument n.keep in Bvs) if x was generated with Bvs and the sampled models with the associated frequencies if x was generated with GibbsBvs. The formula for the objective predictive distribution within each model latex is taken from Bernardo and Smith (1994) page 442.

Value

predict returns a matrix with n.sim rows with the simulations. Each column of the matrix corresponds to each of the configurations for the covariates defined in newdata.

Author(s)

Gonzalo Garcia-Donato and Anabel Forte

Maintainer: <anabel.forte@uv.es>

References

Bernardo, J. M. and Smith, A. F. M. (1994)<DOI:10.1002/9780470316870> Bayesian Theory. Chichester: Wiley.

See Also

See Bvs and GibbsBvs for creating objects of the class Bvs.

Examples


## Not run: 

#Analysis of Crime Data
#load data
data(UScrime)

crime.Bvs<- Bvs(formula= y ~ ., data=UScrime, n.keep=1000)
#predict a future observation associated with the first two sets of covariates
crime.Bvs.predict<- predict(crime.Bvs, newdata=UScrime[1:2,], n.sim=10000)
#(Notice the best 1000 models are used in the mixture)

#Here you can use standard summaries to describe the underlying predictive distribution
#summary(crime.Bvs.predict)
#
#To study more in deep the first set:
plot(density(crime.Bvs.predict[,1]))
#Point prediction
median(crime.Bvs.predict[,1])
#A credible 95% interval for the prediction:
#lower bound:
quantile(crime.Bvs.predict[,1], probs=0.025)
#upper bound:
quantile(crime.Bvs.predict[,1], probs=0.975)


## End(Not run)


[Package BayesVarSel version 2.2.5 Index]