Bonjouur,

S'il vous plait, quelqu'un peut me répondre comment on peut calculer la contribution (absolue et relative) d'une variable aux axes (composantes principales) obtenus suite à une Analyse en Composantes Principale.

Je suis débutante avec matlab, et je viens de programmer la fonction ACP et je veux calculer la contribution de chaque variable d'origine aux nouvelles composantes pour enfin choisir celles à forte contribution. Je n'ai trouvé la formule nulle part !!!

Merci pour votre aide.

-- Code Matlab:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
function [coord v f]= ACP(data)
 
reponse=data(:,1);
data(:,1)=[];
[m n]=size(data); 
%vecteur des moyennes 
moy = mean(data)' ;   
 
%vecteur des ecarts-types 
ect=std(data(:,:))' ;    
 
%Centrage des données 
vunit=linspace(1,1,m) ;    
y=data-vunit'*moy'; 
 
%Matrice diagonale des 1/ect
ds=diag(ect)^-1 ;        
 
%Matrice des données centrées et reduites 
z=y*ds;   
 
%Matrice des corrélations 
v=(z'*z)/m;     
 
 %Vecteurs propres: f        %Valeurs propres: h
[f h] = eigs(v, n);
 
%Coordonnées des individus sur les axes
coord=[reponse z*f];  
 
y=sum(h);
%percent_explained=100*h/sum(h);
percent_explained=100*h/sum(y);
pareto(sum(percent_explained))
 
% Contribution relative de la jième variable a la variance de l'axe du
% facteur alpha
cont=f.^2;
 
moy_cont=mean (cont);