Clusterverfahren – bewährte statistische Technik und Basis...
Transcript of Clusterverfahren – bewährte statistische Technik und Basis...
Copyright © 2004, SAS Institute Inc. All rights reserved.
Clusterverfahren – bewährte statistische Technik und Basis für Data Mining AnalysenDr. Reinhard StrübySAS DeutschlandBusiness Competence Center Analytical Solutions
2
Cluster-Techniken mit SASVariable Selection
VARCLUS
Plot DataPRINCOMP,MDS,CANDISC
PreprocessingACECLUS
‘Fuzzy’ ClusteringFACTOR Discrete Clustering
Hierarchical ClusteringCLUSTER Optimization Clustering
Parametric ClusteringFASTCLUS
Non-Parametric ClusteringMODECLUS
3
Divisive ClusteringPROC VARCLUS nutzt Divisive Clustering um Untergruppen von Variablen zu bilden, die sich möglichst stark unterscheiden.
4
Variablen-Reduktion
PROC VARCLUS reduziert Variable, nicht Dimensionen.
5
Eigenwerte und Eigenvektoren
x1
x2
λ2
λ1
w2
w1
6
Perfekte Lösung
Qualität der Cluster-Lösung
Typische Lösung
Keine Lösung
7
Wahrscheinlichkeit der Clusterzugehörigkeit
Frequency
Gegeben durch die relativen Cluster-Häufigkeiten jeKlasse:
Probability
8
Die Chi-Quadrat Statistik
∑∑−
=i j ij
ijij
expected) expected observed( 2
2λ
The chi-square statistic (and associated probability)• Prüft auf Assoziation• Abhängig vom Stichprobenumfang• Mißt nicht die Stärke der Assoziation
9
Beurteilung der Stärke der Assoziation
WEAK STRONG0 1
CRAMER'S V STATISTIC
)1,1min(/V sCramer'
2
−−=
crnχ
Cramer’s V nimmt Werte von -1 bis 1 für 2x2-Tabellen an, Werte von 0 bis 1 sonst.
10
Das Standardisierungsproblem
Standardisierung kann Gruppendifferenzen mildern.
vorher nachher
11
Die Prozedur STDIZEAllgemeine Form:
PROC STDIZE METHOD=method <options>;VAR variables;
RUN;
PROC STDIZE METHOD=method <options>;VAR variables;
RUN;
12
Approximate Covariance Estimation forClustering (ACECLUS)
Viele Clustermethoden arbeiten gut mit näherungsweise sphärischen Clustern. Sie sind nicht optimal für irregulär geformte Cluster.
Wenn man die Inner-Cluster-Covarianzmatrix kennen würde, könnten Daten so transformiert werden, dass mehr sphärisch geformte Cluster entstehen !
Da die Cluster nicht bekannt sind, kann die Kovarianzmatrix je Cluster nicht direkt berechnet werden.
Aber es gibt Schätzmethoden: Prozedur ACECLUS (ApproximateCovariance Estimation for Clustering).
13
Die Prozedur ACECLUS
Starte mit einer Matrix A als Anfangsschätzung.Berechne die inverse Matrix M=A-1.Berechne A neu durch:
4. Wiederhole 2 und 3 bis sich die Schätzung stabilisiert.
( )( )
∑∑
∑∑
=
−
=
=
−
=
−−= n
i
i
hih
n
i
i
hhkikhjijih
jk
d
xxxxda
2
1
1
2
1
1
2
14
Hierarchical Clustering
15
The CLUSTER ProcedureGeneral form of the CLUSTER procedure:
PROC CLUSTER METHOD=name <options>;COPY variables;VAR variables;
RUN;
PROC CLUSTER METHOD=name <options>;COPY variables;VAR variables;
RUN;
16
The TREE ProcedureGeneral form of the TREE procedure:
PROC TREE OUT=SAS-data-set <options>;COPY variables;
RUN;
PROC TREE OUT=SAS-data-set <options>;COPY variables;
RUN;
17
Average LinkageDer Abstand zweier Cluster ist der mittlere Abstand von Beobachtungspaaren.
( )∑ ∑∈ ∈
=K LCi Cj
jiLK
KL xxdnn
D
,1Cluster KCluster K
Cluster LCluster L
d(xi,xj)
18
Centroid Linkage
2LKKL xxD −=
Der Clusterabstand ergibt sich aus dem quadriertenEuclidischen Abstand der Clustercentroids.
X
XDKL
Cluster KCluster K
Cluster LCluster L
19
Maximaler Abstand von Beobachtungspaaren
Complete Linkage
Cluster KCluster K
Cluster LCluster L
DKL
),( max max K jiLKL xxdCjCiD ∈∈=
20
42KLJLJK
JMDDDD −
+=
Median Linkage
DJK
DJL
Cluster JCluster J
DKL
Cluster KCluster K
Cluster LCluster LCluster MCluster M
Mittlerer Abstand zwischen externem Cluster J und jedem der Komponentencluster (CK and CL), minus ¼des Abstandes zwischen den Komponentenclustern.
21
Minimaler Abstand zwischen Beobachtungspaaren.
Single Linkage
DKL
Cluster KCluster K
Cluster LCluster L
),( min min K jiLKL xxdCjCiD ∈∈=
22
⎟⎟⎠
⎞⎜⎜⎝
⎛+
−=
LK
LKKL
nn
xxD
11
2
Ward’s Minimum-Variance
ANOVA
ANOVA
Ward’s Methode nutzt ANOVA um in sich homogeneCluster mit maximaler Trennkraft zu finden.
23
k-Means Clustering: 3-Schritt-VerfahrenWahl der Anfangscluster (Centroids).Einlesen der Beobachtungen und Update der Cluster-
Zentren.Schritt 2 wird wiederholt bis die Verschiebungen der
Clusterzentren klein werden.
Jede Beobachtung wird dem nächstgelegenenClusterzentrum zugeordnet. Dadurch entstehen die Endcluster.
24
X
XX
X
X
XX X
XX
XX
X
XX X
X
XX
X
XX XX
XX
X
… TimenTime0 Time1
MAXITER OptionDie MAXITER Option adjustiert die Centroids simultan, nachdem alle Beobachtungen eingelesen wurden.
25
X
XX
X
X
XX X
XX
XX
X
X
XX X
X
XX
X
XX XX
X
…Time0 Time1 Time2
DRIFT OptionDie DRIFT Option adjustiert den nächstgelegenenCentroid, wenn Beobachtungen hinzukommen.
26
The FASTCLUS ProcedureGeneral form of the FASTCLUS procedure:
PROC FASTCLUS <MAXC= | RADIUS=><options>;VAR variables;
RUN;
PROC FASTCLUS <MAXC= | RADIUS=><options>;VAR variables;
RUN;
27
Sarle’s Cubic Clustering Criterion
Das cubic clustering criterion (CCC) testet die Hypothesen:
H0 = Die Daten stammen aus einerGleichverteilung in einem Unterraum
H1 = Die Datenstammen aus einer Mischung von multivariaten Normalverteilungen mit gleichenVarianzen und gleichen Gewichten.
Positive Werte sprechen für mehr Struktur in den Daten alsunter Normalverteilung zu erwarten wäre.
( ) 2.122
2
)(001.02
*
1)(1lnCCC
RE
np
RRE
+⎥⎦
⎤⎢⎣
⎡−
−=
28
CCC soll maximiert werden:
Empfohlene Lösung
29
Die Pseudo F-Statistik
Die Pseudo F-Statistik (PSF) mißt die Separation zwischen Clustern zu einem erreichten Hierarchielevel.
Sie ist nicht F-verteilt.
( )
( )gn
g
g
j ciki
n
ii
k
−⎟⎟⎠
⎞⎜⎜⎝
⎛−
−⎟⎠
⎞⎜⎝
⎛−
=
∑∑
∑
= ∈
=
/
1/PSF
1
2
1
2
xx
xx
30
Pseudo F soll ebenfalls maximiert werden:
Empfohlene Lösung
31
Scoring nach FASTCLUS-Berechnungen1. Rechne eine Clusternanalyse und speichere die Centroide.
2. Lade die gespeicherten Centroide und score neueDaten.
PROC FASTCLUS OUTSTAT=centroids;PROC FASTCLUS OUTSTAT=centroids;
PROC FASTCLUS INSTAT=centroids OUT=scored;PROC FASTCLUS INSTAT=centroids OUT=scored;
32
proc fastclus data=temp maxc=3 least=2maxiter=5 out=clusout outstat=centroids;
var &inputs;run;proc fastclus data=sbankte instat=centroidsleast=2 out=scored;
var &inputs;run;
Berechnen einer k-Means Cluster-Lösung und Scoring neuer Daten
33
Scoring nach hierarchischer Clusterung1. Hierarchische Clusteranalyse
2. Cluster-Zuordnungen
(Continued)
PROC CLUSTER METHOD=method OUTTREE=tree;RUN;
PROC CLUSTER METHOD=method OUTTREE=tree;RUN;
PROC TREE DATA=tree OUT=out N=nclusters;RUN;
PROC TREE DATA=tree OUT=out N=nclusters;RUN;
34
Scoring nach hierarchischer Clusterung3. Berechnung der Clustercentroide
4. Einlesen der Centroide und Scoring
PROC MEANS DATA=out;OUTPUT OUT=centroids;
RUN;
PROC MEANS DATA=out;OUTPUT OUT=centroids;
RUN;
PROC FASTCLUS DATA=new MAXC=nclustersSEED=centroids MAXITER=0 OUT=scored;
RUN;
PROC FASTCLUS DATA=new MAXC=nclustersSEED=centroids MAXITER=0 OUT=scored;
RUN;
35
proc cluster data=distances method=ward pseudo outtree=tree;
var dist:; copy &inputs invest;run;
proc means data=treeout noprint;class cluster;var &inputs; output out=centroids mean=;
run;
proc fastclus data=sbankte seed=centroids maxc=3 maxiter=0out=scored noprint;
var &inputs;run;
Scoring nachhierarchischer Clusterung
Copyright © 2004, SAS Institute Inc. All rights reserved. 36Copyright © 2003, SAS Institute Inc. All rights reserved.