X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=R%2FbasicInitParameters.R;h=980122924725ba3dfed07747c77022ce52cdcd67;hp=6090d0aa775d393e85d9856602742f826710ae1c;hb=d1531659214edd6eaef0ac9ec835455614bba16c;hpb=6bd2e869a17f3980d52820643c1c1b5f3725738e diff --git a/R/basicInitParameters.R b/R/basicInitParameters.R index 6090d0a..9801229 100644 --- a/R/basicInitParameters.R +++ b/R/basicInitParameters.R @@ -1,18 +1,28 @@ +#----------------------------------------------------------------------- +#' Initialize the parameters in a basic way (zero for the conditional mean, +#' uniform for weights, identity for covariance matrices, and uniformly distributed forthe clustering) +#' @param n sample size +#' @param p number of covariates +#' @param m size of the response +#' @param k number of clusters +#' @return list with phiInit, rhoInit,piInit,gamInit +#' @export +#----------------------------------------------------------------------- basic_Init_Parameters = function(n,p,m,k) { - phiInit = array(0, dim=c(p,m,k)) - - piInit = (1./k)*rep.int(1,k) - - rhoInit = array(0, dim=c(m,m,k)) - for(i in 1:k) - rhoInit[,,i] = diag(m) - - gamInit = 0.1*array(1, dim=c(n,k)) - R = sample(1:k,n, replace=TRUE) - for(i in 1:n) - gamInit[i,R[i]] = 0.9 - gamInit = gamInit/sum(gamInit[1,]) - - return (list(phiInit, rhoInit, piInit, gamInit)) + phiInit = array(0, dim=c(p,m,k)) + + piInit = (1./k)*rep.int(1,k) + + rhoInit = array(0, dim=c(m,m,k)) + for(i in 1:k) + rhoInit[,,i] = diag(m) + + gamInit = 0.1*array(1, dim=c(n,k)) + R = sample(1:k,n, replace=TRUE) + for(i in 1:n) + gamInit[i,R[i]] = 0.9 + gamInit = gamInit/sum(gamInit[1,]) + + return (data = list(phiInit = phiInit, rhoInit = rhoInit, piInit = piInit, gamInit = gamInit)) }