probit.spike {BoomSpikeSlab}  R Documentation 
Spike and slab probit regression
Description
MCMC algorithm for logistic regression models with a 'spikeandslab' prior that places some amount of posterior probability at zero for a subset of the regression coefficients.
Usage
probit.spike(formula,
niter,
data,
subset,
prior = NULL,
na.action = options("na.action"),
contrasts = NULL,
drop.unused.levels = TRUE,
initial.value = NULL,
ping = niter / 10,
clt.threshold = 5,
proposal.df = 3,
sampler.weights = c(.5, .5),
seed = NULL,
...)
Arguments
formula 
Formula for the maximal model (with all variables
included). This is parsed the same way as a call to

niter 
The number of MCMC iterations to run. Be sure to include enough so you can throw away a burnin set. 
data 
An optional data frame, list or environment (or object coercible by 'as.data.frame' to a data frame) containing the variables in the model. If not found in 'data', the variables are taken from 'environment(formula)', typically the environment from which probit.spike' is called. 
subset 
An optional vector specifying a subset of observations to be used in the fitting process. 
prior 
An object inheriting from 
na.action 
A function which indicates what should happen when
the data contain 
contrasts 
An optional list. See the 
drop.unused.levels 
A logical value indicating whether factor levels that are unobserved should be dropped from the model. 
initial.value 
Initial value for the MCMC algorithm. Can either
be a numeric vector, a 
ping 
If positive, then print a status update to the console
every 
clt.threshold 
When the model is presented with binomial data
(i.e. when the response is a twocolumn matrix) the data
augmentation algorithm can be made more efficient by updating a
single, asymptotically normal scalar quantity for each unique value
of the predictors. The asymptotic result will be used whenever the
number of successes or failures exceeds 
proposal.df 
The degrees of freedom parameter to use in MetropolisHastings proposals. See details. 
sampler.weights 
A twoelement vector giving the probabilities of drawing from the two base sampling algorithm. The first element refers to the spike and slab algorithm. The second refers to the tailored independence Metropolis sampler. TIM is usually faster mixing, but cannot change model dimension. 
seed 
Seed to use for the C++ random number generator. It
should be 
... 
Extra arguments to be passed to 
Details
Model parameters are updated using a composite of two MetropolisHastings updates. A data augmentation algorithm (Albert and Chib 1993) updates the entire parameter vector at once, but can mix slowly.
The second algorithm is an independence Metropolis sampler centered on
the posterior mode with variance determined by posterior information
matrix (Fisher information plus prior information). If
proposal.df > 0
then the tails of the proposal are inflated so
that a multivariate T proposal is used instead.
At each iteration, one of the three algorithms is chosen at random. The auxiliary mixture sampler is the only one that can change the dimension of the coefficient vector. The MH algorithm only updates the coefficients that are currently nonzero.
Value
Returns an object of class probit.spike
, which inherits from
lm.spike
. The returned object is a list with the following
elements
beta 
A 
prior 
The prior used to fit the model. If a 
Author(s)
Steven L. Scott
See Also
lm.spike
SpikeSlabPrior
,
plot.probit.spike
,
PlotProbitSpikeFitSummary
PlotProbitSpikeResiduals
summary.logit.spike
,
predict.logit.spike
.
Examples
if (requireNamespace("MASS")) {
data(Pima.tr, package = "MASS")
data(Pima.te, package = "MASS")
pima < rbind(Pima.tr, Pima.te)
model < probit.spike(type == "Yes" ~ ., data = pima, niter = 500)
plot(model)
plot(model, "fit")
plot(model, "residuals")
plot(model, "size")
summary(model)
}