tune_lamb {TensorClustering} | R Documentation |
Parameter tuning in enhanced E-step in DEEM
Description
Perform parameter tuning through BIC in DEEM.
Usage
tune_lamb(X, K, seqlamb, initial = TRUE, vec_x = NULL)
Arguments
X |
Input tensor (or matrix) list of length |
K |
Number of clusters. |
seqlamb |
A sequence of user-specified |
initial |
Whether to initialize algorithm with K-means clustering. Default value is |
vec_x |
Vectorized tensor data. Default value is |
Details
The tune_lamb
function adopts a BIC-type criterion to select the tuning parameter \lambda
in the enhanced E-step. Let \widehat{\bm{\theta}}^{\lambda}
be the output of DEEM
with the tuning parameter fixed at \lambda
, tune_lamb
looks for the value of \lambda
that minimizes
\mathrm{BIC}(\lambda)=-2\sum_{i=1}^n\log(\sum_{k=1}^K\widehat{\pi}^{\lambda}_kf_k(\mathbf{X}_i;\widehat{\bm{\theta}}_k^{\lambda}))+\log(n)\cdot |\widehat{\mathcal{D}}^{\lambda}|,
where \widehat{\mathcal{D}}^{\lambda}=\{(k, {\mathcal{J}}): \widehat b_{k,{\mathcal{J}}}^{\lambda} \neq 0 \}
is the set of nonzero elements in \widehat{\bm{B}}_2^{\lambda},\ldots,\widehat{\bm{B}}_K^{\lambda}
. The tune_lamb
function intrinsically selects the initial point and return the optimal estimated labels.
Value
opt_lamb |
Tuned |
opt_bic |
BIC value. |
opt_y |
Estimated labels fitted by DEEM with tuned |
Author(s)
Kai Deng, Yuqing Pan, Xin Zhang and Qing Mai
References
Mai, Q., Zhang, X., Pan, Y. and Deng, K. (2021). A Doubly-Enhanced EM Algorithm for Model-Based Tensor Clustering. Journal of the American Statistical Association.
See Also
Examples
dimen = c(5,5,5)
nvars = prod(dimen)
K = 2
n = 100
sigma = array(list(),3)
sigma[[1]] = sigma[[2]] = sigma[[3]] = diag(5)
B2=array(0,dim=dimen)
B2[1:3,1,1]=2
y = c(rep(1,50),rep(2,50))
M = array(list(),K)
M[[1]] = array(0,dim=dimen)
M[[2]] = B2
vec_x=matrix(rnorm(n*prod(dimen)),ncol=n)
X=array(list(),n)
for (i in 1:n){
X[[i]] = array(vec_x[,i],dim=dimen)
X[[i]] = M[[y[i]]] + X[[i]]
}
mytune = tune_lamb(X, K=2, seqlamb=seq(0.01,0.1,by=0.01))