X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Ftest%2Fgenerate_test_data%2Fhelpers%2FconstructionModelesLassoMLE.m;fp=src%2Ftest%2Fgenerate_test_data%2Fhelpers%2FconstructionModelesLassoMLE.m;h=0000000000000000000000000000000000000000;hb=46a2e676b2d85eef5a1811a6e623b65327fc451d;hp=3e852a657345c2b9c3b5968bf89554e16980cbea;hpb=ef67d338c7f28ba041abe40ca9a8ab69f8365a90;p=valse.git diff --git a/src/test/generate_test_data/helpers/constructionModelesLassoMLE.m b/src/test/generate_test_data/helpers/constructionModelesLassoMLE.m deleted file mode 100644 index 3e852a6..0000000 --- a/src/test/generate_test_data/helpers/constructionModelesLassoMLE.m +++ /dev/null @@ -1,58 +0,0 @@ -function[phi,rho,pi,llh] = constructionModelesLassoMLE(... - phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,glambda,X,Y,seuil,tau,A1,A2) - - PI = 4.0 * atan(1.0); - - %get matrix sizes - n = size(X, 1); - [p,m,k] = size(phiInit); - L = length(glambda); - - %output parameters - phi = zeros(p,m,k,L); - rho = zeros(m,m,k,L); - pi = zeros(k,L); - llh = zeros(L,2); - - for lambdaIndex=1:L - % Procedure Lasso-MLE - a = A1(:,1,lambdaIndex); - a(a==0) = []; - if length(a) == 0 - continue; - end - [phiLambda,rhoLambda,piLambda,~,~] = EMGLLF(... - phiInit(a,:,:),rhoInit,piInit,gamInit,mini,maxi,gamma,0,X(:,a),Y,tau); - - for j=1:length(a) - phi(a(j),:,:,lambdaIndex) = phiLambda(j,:,:); - end - rho(:,:,:,lambdaIndex) = rhoLambda; - pi(:,lambdaIndex) = piLambda; - - dimension = 0; - for j=1:p - b = A2(j,2:end,lambdaIndex); - b(b==0) = []; - if length(b) > 0 - phi(A2(j,1,lambdaIndex),b,:,lambdaIndex) = 0.0; - end - c = A1(j,2:end,lambdaIndex); - c(c==0) = []; - dimension = dimension + length(c); - end - - %on veut calculer l'EMV avec toutes nos estimations - densite = zeros(n,L); - for i=1:n - for r=1:k - delta = Y(i,:)*rho(:,:,r,lambdaIndex) - (X(i,a)*(phi(a,:,r,lambdaIndex))); - densite(i,lambdaIndex) = densite(i,lambdaIndex) +... - pi(r,lambdaIndex)*det(rho(:,:,r,lambdaIndex))/(sqrt(2*PI))^m*exp(-dot(delta,delta)/2.0); - end - end - llh(lambdaIndex,1) = sum(log(densite(:,lambdaIndex))); - llh(lambdaIndex,2) = (dimension+m+1)*k-1; - end - -end