Linearized Bregman solver for composite conditionally likelihood of Ising model with lasso penalty.
Description
Solver for the entire solution path of coefficients.
Usage
1 2 
Arguments
X 
An nbyp matrix of variables. 
kappa 
The damping factor of the Linearized Bregman Algorithm that is defined in the reference paper. See details. 
alpha 
Parameter in Linearized Bregman algorithm which controls the steplength of the discretized solver for the Bregman Inverse Scale Space. See details. 
c 
Normalized steplength. If alpha is missing, alpha is automatically generated by

tlist 
Parameters t along the path. 
responses 
The type of data. c(0,1) or c(1,1), Default is c(1,1). 
nt 
Number of t. Used only if tlist is missing. Default is 100. 
trate 
tmax/tmin. Used only if tlist is missing. Default is 100. 
intercept 
if TRUE, an intercept is included in the model (and not penalized), otherwise no intercept is included. Default is TRUE. 
print 
If TRUE, the percentage of finished computation is printed. 
Details
The data matrix X is assumed in {1,1}. The Ising model here used is described as following:
P(x) \sim \exp(∑_i \frac{a_{0i}}{2}x_i + x^T Θ x/4)
where Θ is pbyp symmetric and 0 on diagnal. Then conditional on x_{j}
\frac{P(x_j=1)}{P(x_j=1)} = exp(∑_i a_{0i} + ∑_{i\neq j}θ_{ji}x_i)
then the composite conditional likelihood is like this:
 ∑_{j} condloglik(X_j  X_{j})
Value
A "ising" class object is returned. The list contains the call, the path, the intercept term a0 and value for alpha, kappa, t.
Author(s)
Jiechao Xiong
Examples
1 2 3 4 5 6 7 8 9 10 11  library('Libra')
library('igraph')
data('west10')
X < as.matrix(2*west101);
obj = ising(X,10,0.1,nt=1000,trate=100)
g<graph.adjacency(obj$path[,,770],mode="undirected",weighted=TRUE)
E(g)[E(g)$weight<0]$color<"red"
E(g)[E(g)$weight>0]$color<"green"
V(g)$name<attributes(west10)$names
plot(g,vertex.shape="rectangle",vertex.size=35,vertex.label=V(g)$name,
edge.width=2*abs(E(g)$weight),main="Ising Model (LB): sparsity=0.51")

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.