X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Fsources%2FconstructionModelesLassoMLE.c;fp=src%2Fsources%2FconstructionModelesLassoMLE.c;h=0000000000000000000000000000000000000000;hb=7f1a6cf08a4d4d67e8a95b8c1c0cc74ff3deb5a4;hp=34e5808e37b6dda447190399d282266957251aa3;hpb=31ef8a5c9bbaefcf40d2c2bad43b27d469c28c34;p=valse.git diff --git a/src/sources/constructionModelesLassoMLE.c b/src/sources/constructionModelesLassoMLE.c deleted file mode 100644 index 34e5808..0000000 --- a/src/sources/constructionModelesLassoMLE.c +++ /dev/null @@ -1,214 +0,0 @@ -#include "EMGLLF.h" -#include "utils.h" -#include -#include -#include - -// TODO: comment on constructionModelesLassoMLE purpose -void constructionModelesLassoMLE_core( - // IN parameters - const Real* phiInit, // parametre initial de moyenne renormalisé - const Real* rhoInit, // parametre initial de variance renormalisé - const Real* piInit,// parametre initial des proportions - const Real* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon - int mini,// nombre minimal d'itérations dans l'algorithme EM - int maxi,// nombre maximal d'itérations dans l'algorithme EM - Real gamma,// valeur de gamma : puissance des proportions dans la pénalisation - //pour un Lasso adaptatif - const Real* glambda, // valeur des paramètres de régularisation du Lasso - const Real* X, // régresseurs - const Real* Y, // réponse - Real seuil,// seuil pour prendre en compte une variable - Real tau,// seuil pour accepter la convergence - const int* A1, // matrice des coefficients des parametres selectionnes - const int* A2, // matrice des coefficients des parametres non selectionnes - // OUT parameters - Real* phi,// estimateur ainsi calculé par le Lasso - Real* rho,// estimateur ainsi calculé par le Lasso - Real* pi, // estimateur ainsi calculé par le Lasso - Real* llh, // estimateur ainsi calculé par le Lasso - // additional size parameters - int n, // taille de l'echantillon - int p, // nombre de covariables - int m, // taille de Y (multivarié) - int k, // nombre de composantes - int L) // taille de glambda -{ - //preparation: phi,rho,pi = 0, llh=+Inf - for (int u=0; u 0) - { - //phi[A2[j,1,lambdaIndex],b,,lambdaIndex] = 0. - for (int mm=0; mmdata[u*m+v] = rho[ai4(u,v,r,lambdaIndex,m,m,k,L)]; - } - gsl_linalg_LU_decomp(matrix, permutation, &signum); - Real detRhoR = gsl_linalg_LU_det(matrix, signum); - - //compute Y(i,:)*rho(:,:,r,lambdaIndex) - for (int u=0; u - Real dotProduct = 0.0; - for (int u=0; u