Page d'accueil

Espace Pro      
 Mon CV                      
  CV intéractif              
  CV Classique          
  CV imprimable        
  Téléchargement      
 Mes Projets              
  Statistiques              
  C.A.O.                        
  Programmation       
  Contact                     
Espace Perso  
 Liste DVD                  
Retour accueil projet SAS

5. Classifications hiérarchiques

  5.1. Proc cluster
    5.1.1 Méthode Average
       Programme | Résultats
    5.1.2 Méthode Complete
       Programme | Résultats
    5.1.3 Méthode Median
       Programme | Résultats
    5.1.4 Méthode Single
       Programme | Résultats
    5.1.5 Méthode Ward
       Programme | Résultats
    5.1.5 conclusion

5. Classifications hiérarchiques

5.1. Proc Cluster

Après une brève analyse des données, nous allons commencer la question 1, en effectuant des classifications hiérarchiques. La procédure SAS qui effectue cette fonction est Proc Cluster. On peut changer les paramètres de cette procédure de manière à avoir différents critères.

5.1.1 Méthode Average

Méthode du saut moyen

Le programme SAS est le suivant : Proc Cluster Average.sas

PROC CLUSTER
DATA=Proj
METHOD=AVERAGE
OUTTREE=ProjClusterAverage
NOSQUARE ;
VAR v1-v7 ;
ID nom ;
RUN ;

PROC TREE
DATA=ProjClusterAverage
OUT=ProjTreeAverage
NCL=5 ;
ID nom ;
RUN ;

PROC SORT DATA=ProjTreeAverage;
BY CLUSTER;
RUN;

PROC PRINT
DATA=ProjTreeAverage ;
RUN ;

symbol1 v='1' c=blue;
symbol2 v='2' c=cyan;
symbol3 v='3' c=red;
symbol4 v='4' c=pink;
symbol5 v='5' c=black;
symbol6 v='6' c=brown;
symbol7 v='7' c=green;
symbol8 v='8' c=yellow;
symbol9 v='9' c=gray ;
symbol10 v='10' c=magenta;

proc gplot data=ProjTreeAverage ;
symbol interpol=none value=dot;
plot Cluster*nom = Cluster;
run;
quit;

PROC CHART
DATA=ProjTreeAverage ;
VBAR Cluster / group=CLUSNAME;
PIE Cluster ;
STAR Cluster ;
HBAR Cluster / group=CLUSNAME;
RUN;

DATA MeansClusterAverage ;
merge Proj ProjTreeAverage; ;
RUN;

PROC MEANS
DATA = MeansClusterAverage ;
BY CLUSTER ;
RUN;

Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph

Sur l’arbre de classification on remarque quatre groupes distincts plus un comté isolé qui est Highland, nous en avons déjà parlé auparavant dans la méthode ACP.

On a donc cinq groupes différents et on se sert de l’option NCL=5 (nombre de clusters)

Si on ne tient pas compte du comté Highland, les cinq groupes trouvés ont environ le même nombre de comtés.

En fusionnant la table SAS qui contient les données du début à analyser et la table qui contient les noms des comtés et les groupes dans lesquels elles sont rangées (par PROC TREE) on obtient une nouvelle table où l'on applique une nouvelle fois la procédure PROC MEANS. On peut ainsi voir les moyennes de v1 à v7 pour chaque groupe, et voir de quelle manière les groupes ont été assemblés.

Les graphiques et diagrammes suivants nous permettent de voir la répartition des différents groupes.

5.1.2 Méthode Complete

Saut maximum

Le programme SAS est le suivant : Proc Cluster Complete.sas

PROC CLUSTER
DATA=Proj
METHOD=COMPLETE
OUTTREE=ProjClusterComplete
NOSQUARE
NOPRINT ;
VAR v1-v7 ;
ID nom ;
RUN ;

PROC TREE
DATA=ProjClusterComplete
OUT=ProjTreeComplete
NCL=4 ;
RUN ;

PROC SORT DATA=ProjTreeComplete;
BY _NAME_;
RUN;

PROC PRINT
DATA=ProjTreeComplete;
RUN ;

DATA MeansClusterComplete ;
merge Proj ProjTreeComplete(rename=(_NAME_=nom));
RUN;

Proc sort DATA=MeansClusterComplete ;
BY cluster ;
run ;

PROC PRINT
DATA=MeansClusterComplete;
RUN ;

PROC MEANS
DATA = MeansClusterComplete
NOPRINT ;
BY Cluster;
VAR v1-v7 ;
OUTPUT OUT=MeanSeedComplete ;
RUN;

PROC SORT DATA=MeanSeedComplete ;
BY _STAT_ ;
RUN;

DATA ttt ;
SET MeanSeedComplete (FIRSTOBS=5 KEEP=_STAT_ v1-v7) ;
RUN;
DATA SeedComplete ;
SET ttt (OBS=4) ;
RUN ;
PROC PRINT
DATA=SeedComplete ;
RUN ;

PROC FASTCLUS
DATA=Proj
MAXCLUSTERS=4 CLUSTER=clus1 OUT=Fastclus1 SEED=SeedComplete;
VAR v1-v7 ;
ID nom ;
RUN ;

proc candisc data=Fastclus1 out=Can noprint ;
class clus1 ;
var v1-v7 ;

legend1 frame cframe=ligr label=none cborder=black position=center value=(justify=center);
axis1 label=(angle=90 rotate=0) minor=none;
axis2 minor=none;

proc gplot data=Can;
plot Can2*Can1=Clus1/frame cframe=ligr legend=legend1 vaxis=axis1 haxis=axis2;
run;

Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph

Ici nous avons quatre groupes différents, contrairement à la méthode précédente, le comté Highland a été intégré à un groupe, mais on constate sur l’arbre que le comté Highland est le comté le plus éloigné dans son groupe, de même pour Hocking même si la distance est moins importante que pour Highland.

Par contre le fait d’avoir intégré Highland dans l'un des groupes, a fait augmenter l’écart-type d’un des groupes. En effet, entre la méthode Average et la méthode Complete, trois des quatre groupes ont quasiment les mêmes variances sauf un des groupes de la méthode Complete qui est plus important.

Avec cette méthode, nous trouvons six groupes. Par rapport à la méthode Complete qui n’en a que quatre, on constate encore une fois des différences avec les variances des groupes trouvés.

On constate aussi que dans ces quatre groupes, le nombre de comtés est à peu près le même.

5.1.3 Méthode Median

Algorithme de la médiane de Gower (1967), ici cette méthode travaille par défaut sur les carrés de l'indice (nous avons retiré l’option NOSQUARE).

Le programme SAS est le suivant : Proc Cluster Median.sas

PROC CLUSTER
DATA=Proj
METHOD=MEDIAN
OUTTREE=ProjClusterMedian ;
/*NOSQUARE ;*/
VAR v1-v7 ;
ID nom ;
RUN ;

PROC TREE
DATA=ProjClusterMedian
OUT=ProjTreeMedian
NCL=6 ;
RUN ;

PROC SORT DATA=ProjTreeMedian;
BY CLUSTER;
RUN;

PROC PRINT
DATA=ProjTreeMedian ;
RUN ;

symbol1 v='1' c=blue;
symbol2 v='2' c=cyan;
symbol3 v='3' c=red;
symbol4 v='4' c=pink;
symbol5 v='5' c=black;
symbol6 v='6' c=brown;
symbol7 v='7' c=green;
symbol8 v='8' c=yellow;
symbol9 v='9' c=gray ;
symbol10 v='10' c=magenta;

proc gplot data=ProjTreeMedian ;
symbol interpol=none value=dot;
plot Cluster*_NAME_ = Cluster;
run;
quit;

PROC CHART
DATA=ProjTreeMedian ;
VBAR Cluster / group=CLUSNAME;
PIE Cluster ;
STAR Cluster ;
HBAR Cluster / group=CLUSNAME;
RUN;

DATA MeansClusterMedian ;
merge Proj ProjTreeMedian(rename=(_NAME_=nom));
RUN;

PROC MEANS
DATA = MeansClusterMedian;
BY CLUSTER ;
RUN;

Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph

Avec cet algorithme, nous trouvons six groupes, dont deux sont des comtés isolés. On retrouve toujours le comté Highland qui ne rentre pas avec les autres comtés. Mais cette fois-ci, on a aussi le comté Hocking qui ne rentre pas avec les autres comtés, en effet ce comté a deux valeurs sur six qui sont très éloignées des valeurs médianes et moyennes, notamment pour v7 (Hocking =4.79) qui sont très faibles (v7 a une moyenne de 25 et possède seulement quatre valeurs qui sont en dessous de 10 et une seule, Hocking, qui est en dessous de 7)

Avec la méthode Median, les comtés Highland et Hocking forment des groupes à eux tous seuls et on constate que deux des groupes de la méthode Median ont des variances plus faibles que la méthode Complete (on ne tient pas compte des groupes formés pas les comtés Highland et Hocking qui n'ont pas de variance car ils n’ont qu’un seul élément).

Le nombre d'éléments dans les groupes restent sensiblement le même.

Sinon les autres groupes sont assez bien répartis.

5.1.4 Méthode Single

Saut minimum

Le programme SAS est le suivant : Proc Cluster Single.sas

PROC CLUSTER
DATA=Proj
METHOD=SINGLE
OUTTREE=ProjClusterSingle
NOSQUARE ;
VAR v1-v7 ;
ID nom ;
RUN ;

PROC TREE
DATA=ProjClusterSingle
OUT=ProjTreeSingle
NCL=13 ;
RUN ;

PROC SORT DATA=ProjTreeSingle;
BY CLUSTER;
RUN;

PROC PRINT
DATA=ProjTreeSingle ;
RUN ;

symbol1 v='1' c=blue;
symbol2 v='2' c=cyan;
symbol3 v='3' c=red;
symbol4 v='4' c=pink;
symbol5 v='5' c=black;
symbol6 v='6' c=brown;
symbol7 v='7' c=green;
symbol8 v='8' c=yellow;
symbol9 v='9' c=gray ;
symbol10 v='10' c=magenta;

proc gplot data=ProjTreeSingle ;
symbol interpol=none value=dot;
plot Cluster*_NAME_ = Cluster;
run;
quit;

PROC CHART
DATA=ProjTreeSingle ;
VBAR Cluster / group=CLUSNAME;
PIE Cluster ;
STAR Cluster ;
HBAR Cluster / group=CLUSNAME;
RUN;

DATA MeansClusterSingle ;
merge Proj ProjTreeSingle(rename=(_NAME_=nom)) ;
RUN;

PROC MEANS
DATA = MeansClusterSingle ;
BY CLUSTER ;
RUN;

Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph

Cette méthode permet une moins bonne classification que les précédentes. En effet, on y distingue bien les quatre sous-groupes, mais il y a de nombreux comtés qui ne rentrent pas dans ces sous-groupes.

De plus la méthode Single propose un nombre important de groupes, mais contrairement aux cas précédents, ici la variance ne diminue pas (on tient compte seulement des quatre principaux groupes en terme de fréquence), au contraire, il y a un groupe où la variance est plus importante que celle obtenue par la méthode Complete.

5.1.5 Méthode Ward

Saut de Ward

Le programme SAS est le suivant : Proc Cluster Ward.sas

PROC CLUSTER
DATA=Proj
METHOD=WARD
OUTTREE=ProjClusterWard
NOSQUARE
NOPRINT ;
VAR v1-v7 ;
ID nom ;
RUN ;

PROC TREE
DATA=ProjClusterWard
OUT=ProjTreeWard
NCL=4 ;
RUN ;

PROC SORT DATA=ProjTreeWard ;
BY _NAME_;
RUN;

/* rsr*/
PROC PRINT
DATA=MeansClusterWard;
RUN ;

DATA MeansClusterWard ;
merge Proj ProjTreeWard(rename=(_NAME_=nom));
RUN;

/* rsr*/
PROC PRINT
DATA=MeanClusterWard ;
RUN ;

Proc sort DATA=MeansClusterWard ;
BY cluster ;
run ;

PROC PRINT
DATA=MeansClusterWard;
RUN ;

PROC MEANS
DATA = MeansClusterWard
NOPRINT ;
BY Cluster;
VAR v1-v7 ;
OUTPUT OUT=MeanSeedWard ;
RUN;

PROC SORT DATA=MeanSeedWard ;
BY _STAT_ ;
RUN;

PROC PRINT
DATA=MeanSeedWard;

Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph

Ici on retrouve bien les quatre principaux groupes, les comtés hi et ho sont intégrés dans des groupes.
Les variances sont sensiblement égales à la méthode Complete qui proposait elle aussi quatre groupes.

5.1.5 Conclusion

Tout dépend de ce que l’on recherche, si on cherche des méthodes qui forment des groupes qui englobent même les points aberrants, on préfèrera les méthodes Complete et Ward, si on veut mettre en évidence les valeurs les plus aberrantes on prendra les méthodes Average ou Median. Et enfin si on veut enlever le plus de valeurs aberrantes, on choisira la méthode Single. Par contre dans l’exemple étudié ici, bien que la méthode Single élimine les valeurs aberrantes, elle ne fait pas baisser la variance des groupes.