X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Fsources%2Fselectiontotale.c;fp=src%2Fsources%2Fselectiontotale.c;h=0000000000000000000000000000000000000000;hb=7f1a6cf08a4d4d67e8a95b8c1c0cc74ff3deb5a4;hp=8c1b7686f5b6927c95c18fca3ee08d568f17205f;hpb=31ef8a5c9bbaefcf40d2c2bad43b27d469c28c34;p=valse.git diff --git a/src/sources/selectiontotale.c b/src/sources/selectiontotale.c deleted file mode 100644 index 8c1b768..0000000 --- a/src/sources/selectiontotale.c +++ /dev/null @@ -1,143 +0,0 @@ -#include -#include -#include -#include "EMGLLF.h" -#include "utils.h" - -// Main job on raw inputs (after transformation from mxArray) -void selectiontotale_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 lambdaIndex'algorithme EM - int maxi, // nombre maximal d'itérations dans lambdaIndex'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 - // OUT parameters (all pointers, to be modified) - int* A1, // matrice des coefficients des parametres selectionnes - int* A2, // matrice des coefficients des parametres non selectionnes - Real* Rho,// estimateur ainsi calculé par le Lasso - Real* Pi,// estimateur ainsi calculé par le Lasso - // additional size parameters - int n,// taille de lambdaIndex'echantillon - int p,// nombre de covariables - int m,// taille de Y (multivarié) - int k,// nombre de composantes - int L) // taille de glambda -{ - // Fill outputs with zeros: they might not be assigned - for (int u=0; u maxPhi) - maxPhi = fabs(phi[ai(j,jj,r,p,m,k)]); - } - if (maxPhi > seuil) - { - selectedVariables[mi(j,cpt,p,m)] = jj+1; - atLeastOneSelectedVariable = 1; - cpt++; - } - else - { - discardedVariables[mi(j,cpt2,p,m)] = jj+1; - cpt2++; - } - } - } - free(phi); - - if (atLeastOneSelectedVariable) - { - int* vec = (int*)malloc(p*sizeof(int)); - int vecSize = 0; - for (int j=0; j