1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| % Regression
%%%%%%%%%%%%%%%%
X = [x0 x1 x3 x4 x5 x6 x8 x9 x10 x11 x12 x13 x14 x15 x16];
[l,c]= size(X) ;
y = Rating;
% initialisation des matrices (je les crée très grandes pour être sure..et
% parce que je n'ai pas envie de réfléchir à la taille qu'elles vont avoir
% :p )
mat_beta=zeros(1000,1000);
% mat_r=zeros(lx,c);
mat_stats=zeros(10000,10000);
mat_comb=zeros(1000,1000);
% mat_bint=zeros(c,c*2) ;
% mat_rint=zeros(lx,(c*2));
% mat_pval=zeros(c,1);
%
compteur=0;
for i=14:c
%
% on part de 2 --> le nombre qu'il y en a ( cad le nombre de colonne de X
% (--> c)), on insère ce "i" dans la fonction combntns pour préciser combien de
% chiffres on prend ensemble parmi la série de 1-->c (1:c) ds la fct combntns
combos = combntns(1:c,i) ; % compte les régressions)
% voir help :
% % % % combos = combntns(1:5,3)
% % % % combos =
% % % % 1 2 3
% % % % 1 2 4
% % % % 1 2 5
% % % % 1 3 4
% % % % 1 3 5
% % % % 1 4 5
% % % % 2 3 4
% % % % 2 3 5
% % % % 2 4 5
% % % % 3 4 5
[ll,cc]= size(combos) ;
% on passe en revue ligne par ligne de la combo
for j=1:ll
XX=[];
%on regarde les éléments
for m=1:cc
% on récupèré le chiffre qui est dans combo , qui est en fait un
% indice qui permet de récupérer les mesures de perf qu'on veut
ind=combos(j,m) ;
xx=X(:,ind);
XX=[XX xx] ; % on construit le XX au fur et a mesure
end
% on a maintenant une série de Mesure de perf --> on fait la régression
% et on stocke les résultats dans des autres matrices
[B,bint,r,rint,stats] = regress(y,[ones(size(XX,1),1) XX]) ;
compteur=compteur+1 ;
mat_comb(compteur,1:i)= combos(j,:);
mat_beta(1:i+1,compteur)= B ;
mat_stats = stats ; |
Partager