first draft of EMGLLF.R and EMGrank.R (should work)
authorBenjamin Auder <benjamin.auder@somewhere>
Sun, 2 Apr 2017 10:18:09 +0000 (12:18 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Sun, 2 Apr 2017 10:18:09 +0000 (12:18 +0200)
pkg/R/EMGLLF.R
pkg/R/EMGrank.R

index 2b1a0af..7d9ee77 100644 (file)
@@ -2,17 +2,37 @@
 #'
 #' Description de EMGLLF
 #'
-#' @param phiInit ...
+#' @param phiInit Parametre initial de moyenne renormalisé
+#' @param rhoInit Parametre initial de variance renormalisé
+#' @param piInit Parametre initial des proportions
+#' @param gamInit Paramètre initial des probabilités a posteriori de chaque échantillon
+#' @param mini Nombre minimal d'itérations dans l'algorithme EM
+#' @param maxi Nombre maximal d'itérations dans l'algorithme EM
+#' @param gamma Puissance des proportions dans la pénalisation pour un Lasso adaptatif
+#' @param lambda Valeur du paramètre de régularisation du Lasso
+#' @param X Régresseurs
+#' @param Y Réponse
+#' @param tau Seuil pour accepter la convergence
 #'
-#' @return ...
+#' @return A list ... phi,rho,pi,LLF,S,affec:
+#'   phi : parametre de moyenne renormalisé, calculé par l'EM
+#'   rho : parametre de variance renormalisé, calculé par l'EM
+#'   pi : parametre des proportions renormalisé, calculé par l'EM
+#'   LLF : log vraisemblance associée à cet échantillon, pour les valeurs estimées des paramètres
+#'   S : ... affec : ...
 #'
-#' @examples
-#' ...
-#' ...
 #' @export
 EMGLLF <- function(phiInit, rhoInit, piInit, gamInit,
        mini, maxi, gamma, lambda, X, Y, tau)
 {
-       .Call("EMGLLF", phiInit, rhoInit, piInit, gamInit,
-               mini, maxi, gamma, lambda, X, Y, tau, PACKAGE="valse")
+       n = nrow(X) #nombre d'echantillons
+       p = ncol(X) #nombre de covariables
+       m = ncol(Y) #taille de Y (multivarié)
+       k = length(piInit) #nombre de composantes dans le mélange
+       .Call("EMGLLF",
+               phiInit, rhoInit, piInit, gamInit, mini, maxi, gamma, lambda, X, Y, tau,
+               phi=double(p*m*k), rho=double(m*m*k), pi=double(k), LLF=double(maxi),
+                       S=double(p*m*k), affec=integer(n),
+               n, p, m, k,
+               PACKAGE="valse")
 }
index 71f7c5b..e44ff7a 100644 (file)
@@ -2,15 +2,30 @@
 #'
 #' Description de EMGrank
 #'
-#' @param Pi ...
+#' @param phiInit ...
+#' @param Pi Parametre de proportion
+#' @param Rho Parametre initial de variance renormalisé
+#' @param mini Nombre minimal d'itérations dans l'algorithme EM
+#' @param maxi Nombre maximal d'itérations dans l'algorithme EM
+#' @param X Régresseurs
+#' @param Y Réponse
+#' @param tau Seuil pour accepter la convergence
+#' @param rank Vecteur des rangs possibles
 #'
-#' @return ...
+#' @return A list ...
+#'   phi : parametre de moyenne renormalisé, calculé par l'EM
+#'   LLF : log vraisemblance associé à cet échantillon, pour les valeurs estimées des paramètres
 #'
-#' @examples
-#' ...
-#' ...
 #' @export
 EMGrank <- function(Pi, Rho, mini, maxi, X, Y, tau, rank)
 {
-       .Call("EMGrank", Pi, Rho, mini, maxi, X, Y, tau, rank, PACKAGE="valse")
+       n = nrow(X) #nombre d'echantillons
+       p = ncol(X) #nombre de covariables
+       m = ncol(Y) #taille de Y (multivarié)
+       k = length(Pi) #nombre de composantes dans le mélange
+       .Call("EMGrank",
+               Pi, Rho, mini, maxi, X, Y, tau, rank,
+               phi=double(p*m*k), LLF=double(1),
+               n, p, m, k,
+               PACKAGE="valse")
 }