| 1 | #' EMGLLF |
| 2 | #' |
| 3 | #' Description de EMGLLF |
| 4 | #' |
| 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 |
| 16 | #' |
| 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 : ... |
| 23 | #' |
| 24 | #' @export |
| 25 | EMGLLF <- function(phiInit, rhoInit, piInit, gamInit, |
| 26 | mini, maxi, gamma, lambda, X, Y, tau) |
| 27 | { |
| 28 | #TEMPORARY: use R version |
| 29 | return (EMGLLF_R(phiInit, rhoInit, piInit, gamInit,mini, maxi, gamma, lambda, X, Y, tau)) |
| 30 | |
| 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") |
| 41 | } |