X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=src%2Fsources%2FconstructionModelesLassoMLE.c;h=a48f7d06fb3183e69c6cb1b6c9ca2d92afdf6d2d;hp=4ab62ad628f800ec3df606318a3d7c6b4071c7ca;hb=afa07d41c7592ac0ccd55d7af23c3bfef213291e;hpb=7ea8c1e58b3ab98eda5b003ccdffe5e35222bb4f diff --git a/src/sources/constructionModelesLassoMLE.c b/src/sources/constructionModelesLassoMLE.c index 4ab62ad..a48f7d0 100644 --- a/src/sources/constructionModelesLassoMLE.c +++ b/src/sources/constructionModelesLassoMLE.c @@ -7,25 +7,25 @@ // TODO: comment on constructionModelesLassoMLE purpose void constructionModelesLassoMLE_core( // IN parameters - const double* phiInit, // parametre initial de moyenne renormalisé - const double* rhoInit, // parametre initial de variance renormalisé - const double* piInit,// parametre initial des proportions - const double* gamInit, // paramètre initial des probabilités a posteriori de chaque échantillon + const float* phiInit, // parametre initial de moyenne renormalisé + const float* rhoInit, // parametre initial de variance renormalisé + const float* piInit,// parametre initial des proportions + const float* 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 - double gamma,// valeur de gamma : puissance des proportions dans la pénalisation pour un Lasso adaptatif - const double* glambda, // valeur des paramètres de régularisation du Lasso - const double* X, // régresseurs - const double* Y, // réponse - double seuil,// seuil pour prendre en compte une variable - double tau,// seuil pour accepter la convergence + float gamma,// valeur de gamma : puissance des proportions dans la pénalisation pour un Lasso adaptatif + const float* glambda, // valeur des paramètres de régularisation du Lasso + const float* X, // régresseurs + const float* Y, // réponse + float seuil,// seuil pour prendre en compte une variable + float 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 - double* phi,// estimateur ainsi calculé par le Lasso - double* rho,// estimateur ainsi calculé par le Lasso - double* pi, // estimateur ainsi calculé par le Lasso - double* lvraisemblance, // estimateur ainsi calculé par le Lasso + float* phi,// estimateur ainsi calculé par le Lasso + float* rho,// estimateur ainsi calculé par le Lasso + float* pi, // estimateur ainsi calculé par le Lasso + float* lvraisemblance, // estimateur ainsi calculé par le Lasso // additional size parameters int n, // taille de l'echantillon int p, // nombre de covariables @@ -58,7 +58,7 @@ void constructionModelesLassoMLE_core( continue; //Xa = X(:,a) - double* Xa = (double*)malloc(n*lengthA*sizeof(double)); + float* Xa = (float*)malloc(n*lengthA*sizeof(float)); for (int i=0; idata[u*m+v] = rho[ai4(u,v,r,lambdaIndex,m,m,k,L)]; } gsl_linalg_LU_decomp(matrix, permutation, &signum); - double detRhoR = gsl_linalg_LU_det(matrix, signum); + float detRhoR = gsl_linalg_LU_det(matrix, signum); //compute Y(i,:)*rho(:,:,r,lambdaIndex) for (int u=0; u - double dotProduct = 0.0; + float dotProduct = 0.0; for (int u=0; u