bridge.EM: Bridge Regression - Expectation Maximization

Description Usage Arguments Details References See Also Examples

View source: R/BridgeWrapper.R

Description

Expectation Maximization for bridge regression.

Usage

1
2
3
4
5
bridge.EM  (y, X, alpha=0.5, ratio=1.0, lambda.max=1e9*ratio, 
  tol=1e-9, max.iter=30, use.cg=FALSE, ret.solves=FALSE)

bridge.EM.R(y, X, alpha, ratio=1.0, 
  lambda.max=1e9*ratio, tol=1e-9, max.iter=30, init=NULL)

Arguments

y

An N dimensional vector of data.

X

An N x P dimensional design matrix.

ratio

The ratio tau/sigma.

alpha

A parameter.

lambda.max

A cut-off used to determine when a variable vanishes.

tol

The threshold at which the algorithm terminates.

max.iter

The maximum number of iterations to use.

use.cg

Use the conjugate gradient method.

ret.solves

Return the number of times a linear system is solved.

init

Initial value.

Details

Bridge regression is a regularized regression in which the regression coefficient's prior is an exponential power distribution. Specifically, inference on the regression coefficient beta is made using the model

y = X β + ε, ε \sim N(0, σ^2 \; I),

p(β) \propto \exp(∑_j -(|β_j|/τ)^{α}).

This procedure calculates the posterior mode of beta, given ratio=τ/σ and alpha using the expectation maximization algorithm.

References

Nicolas G. Poslon, James G. Scott, and Jesse Windle. The Bayesian Bridge. http://arxiv.org/abs/1109.2279.

See Also

bridge.reg.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Load the diabetes data...
data(diabetes, package="BayesBridge");
cov.name = colnames(diabetes$x);
y = diabetes$y;
X = diabetes$x;

# Center the data.
y = y - mean(y);
mX = colMeans(X);
for(i in 1:442){
    X[i,] = X[i,] - mX;
}

# Expectation maximization.
bridge.EM(y, X, 0.5, 1.0, 1e8, 1e-9, 30, use.cg=TRUE);

Example output

Using conjugate gradient method.
        age         sex         bmi         map          tc         ldl 
  -9.784325 -239.774890  519.864326  324.296617 -788.022455  473.628865 
        hdl         tch         ltg         glu 
  98.900975  176.127557  749.828649   67.542089 

BayesBridge documentation built on May 29, 2017, 10:40 a.m.