Description Usage Arguments Details References See Also Examples
View source: R/BridgeWrapper.R
Expectation Maximization for bridge regression.
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)
|
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. |
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.
Nicolas G. Poslon, James G. Scott, and Jesse Windle. The Bayesian Bridge. http://arxiv.org/abs/1109.2279.
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);
|
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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.