X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Ftest%2Fgenerate_test_data%2Fhelpers%2FconstructionModelesLassoRank.m;fp=src%2Ftest%2Fgenerate_test_data%2Fhelpers%2FconstructionModelesLassoRank.m;h=0000000000000000000000000000000000000000;hb=ef67d338c7f28ba041abe40ca9a8ab69f8365a90;hp=6279416b7f105a0a8d9f9d3ec0636ffdaa075e5b;hpb=c3bc47052f3ccb659659c59a82e9a99ea842398d;p=valse.git diff --git a/src/test/generate_test_data/helpers/constructionModelesLassoRank.m b/src/test/generate_test_data/helpers/constructionModelesLassoRank.m deleted file mode 100644 index 6279416..0000000 --- a/src/test/generate_test_data/helpers/constructionModelesLassoRank.m +++ /dev/null @@ -1,40 +0,0 @@ -function[phi,llh] = constructionModelesLassoRank(Pi,Rho,mini,maxi,X,Y,tau,A1,rangmin,rangmax) - - PI = 4.0 * atan(1.0); - - %get matrix sizes - [n,p] = size(X); - [~,m,k,~] = size(Rho); - L = size(A1, 2); %A1 est p x m+1 x L ou p x L ?! - - %On cherche les rangs possiblement intéressants - deltaRank = rangmax - rangmin + 1; - Size = deltaRank^k; - Rank = zeros(Size,k,'int64'); - for r=1:k - %On veut le tableau de toutes les combinaisons de rangs possibles - %Dans la première colonne : on répète (rangmax-rangmin)^(k-1) chaque chiffre : ca remplit la colonne - %Dans la deuxieme : on répète (rangmax-rangmin)^(k-2) chaque chiffre, et on fait ca (rangmax-rangmin)^2 fois - %... - %Dans la dernière, on répète chaque chiffre une fois, et on fait ca (rangmin-rangmax)^(k-1) fois. - Rank(:,r) = rangmin + reshape(repmat(0:(deltaRank-1), deltaRank^(k-r), deltaRank^(r-1)), Size, 1); - end - - %output parameters - phi = zeros(p,m,k,L*Size); - llh = zeros(L*Size,2); - for lambdaIndex=1:L - %On ne garde que les colonnes actives - %active sera l'ensemble des variables informatives - active = A1(:,lambdaIndex); - active(active==0) = []; - if length(active) > 0 - for j=1:Size - [phiLambda,LLF] = EMGrank(Pi(:,lambdaIndex),Rho(:,:,:,lambdaIndex),mini,maxi,X(:,active),Y,tau,Rank(j,:)); - llh((lambdaIndex-1)*Size+j,:) = [LLF, sum(Rank(j,:) .* (length(active)-Rank(j,:)+m))]; - phi(active,:,:,(lambdaIndex-1)*Size+j) = phiLambda; - end - end - end - -end