temporary fix: use R version of EMGLLF and EMGrank in package
[valse.git] / pkg / R / EMGLLF.R
CommitLineData
4fed76cc
BA
1#' EMGLLF
2#'
3#' Description de EMGLLF
4#'
c280fe59
BA
5#' @param phiInit Parametre initial de moyenne renormalisé
6#' @param rhoInit Parametre initial de variance renormalisé
7#' @param piInit Parametre initial des proportions
8#' @param gamInit Paramètre initial des probabilités a posteriori de chaque échantillon
9#' @param mini Nombre minimal d'itérations dans l'algorithme EM
10#' @param maxi Nombre maximal d'itérations dans l'algorithme EM
11#' @param gamma Puissance des proportions dans la pénalisation pour un Lasso adaptatif
12#' @param lambda Valeur du paramètre de régularisation du Lasso
13#' @param X Régresseurs
14#' @param Y Réponse
15#' @param tau Seuil pour accepter la convergence
4fed76cc 16#'
c280fe59
BA
17#' @return A list ... phi,rho,pi,LLF,S,affec:
18#' phi : parametre de moyenne renormalisé, calculé par l'EM
19#' rho : parametre de variance renormalisé, calculé par l'EM
20#' pi : parametre des proportions renormalisé, calculé par l'EM
21#' LLF : log vraisemblance associée à cet échantillon, pour les valeurs estimées des paramètres
22#' S : ... affec : ...
4fed76cc 23#'
4fed76cc
BA
24#' @export
25EMGLLF <- function(phiInit, rhoInit, piInit, gamInit,
26 mini, maxi, gamma, lambda, X, Y, tau)
27{
567a7c38
BA
28 #TEMPORARY: use R version
29 return (EMGLLF_R(phiInit, rhoInit, piInit, gamInit,mini, maxi, gamma, lambda, X, Y, tau))
30
c280fe59
BA
31 n = nrow(X) #nombre d'echantillons
32 p = ncol(X) #nombre de covariables
33 m = ncol(Y) #taille de Y (multivarié)
34 k = length(piInit) #nombre de composantes dans le mélange
35 .Call("EMGLLF",
36 phiInit, rhoInit, piInit, gamInit, mini, maxi, gamma, lambda, X, Y, tau,
37 phi=double(p*m*k), rho=double(m*m*k), pi=double(k), LLF=double(maxi),
38 S=double(p*m*k), affec=integer(n),
39 n, p, m, k,
40 PACKAGE="valse")
4fed76cc 41}