|
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. |
|