Anwendungen mit SAS: Direkt aus der Praxis! Block 2

Werbung
Anwendungen mit SAS: Direkt aus der Praxis!
Block 2
Wie können wir Mehrdimensionalität verstehen?
- Clusterverfahren und Hauptkomponentenverfahren Fachhochschule Koblenz
Fachbereich Mathematik und Technik
Dr. Denise Rey
19. Dezember 2008
1
Inhalt
1.
2.
3.
4.
5.
6.
Was ist Data Mining?
Clustering - Einführung
Clustering - Distanzen
Clustering - Hierarchisch
Clustering - Optimierung
Hauptkomponentenanalyse
Anwendungen mit SAS. Denise Rey.
2
Was ist Data Mining?
Flache Datentabelle zur Analyse:
Id
1
...
...
...
n
Y1
y11
...
...
...
1
yn
···
···
...
...
...
···
Yp
p
y1
...
...
...
p
yn
X1
x1
... 1
...
...
x1
n
···
···
...
...
...
···
Xm
xm
... 1
...
...
xm
n
Anwendungen mit SAS. Denise Rey.
3
Was ist Data Mining?
Anwendungsbereiche:
- Chemische Industrie (insb. pharmazeutische Industrie)
- Qualitätssicherung in der Produktion
- Customer Relationsship Management
- Text Mining, Web Mining
usw.
Anwendungen mit SAS. Denise Rey.
4
Was ist Data Mining?
Anwendungsbereich Text Mining und Web Mining:
-
Filter E-Mails, Spam
Cluster von Kundenbeschwerden
Vorhersage von Kundenzufriedenheit
Vorhersage von Aktienkurse anhand von Business News
Cross and Up Selling anhand Web Analyse
Anwendungen mit SAS. Denise Rey.
5
Was ist Data Mining?
Typische Herausforderungen bei dem Einsatz von Data
Mining Methoden:
-
Anzahl der Beobachtungen n gross (n >> 106 möglich)
Anzahl der Attribute m gross (>> 104 möglich)
Fehlende Werte
Ausreisser und Extremwerte
Andere Datenqualitätsprobleme
Unterschiedliche Verteilungen (binär, diskret, stetig)
Data Mining bezeichnet eine wissenschaftliche Disziplin die sich
mit Entwicklung, Implementierung und Anwendung von Verfahren
für die Analyse von grossen Datenmengen mit komplexer Struktur befasst.
Anwendungen mit SAS. Denise Rey.
6
Was ist Data Mining?
Fachbereiche die bei Data Mining eine Rolle spielen:
- Mathematische Statistik
(Multivariate Statistik, Zeitreihenanalyse usw.)
- Bildverarbeitung
(Visualisierung, Mustererkennung)
- Künstliche Intelligenz
(Neuronale Netze, Genetische Algorithmen)
- Computerlinguistik (Text Mining, Web Mining)
- Datenbanken, Data Warehouses
Anwendungen mit SAS. Denise Rey.
7
Was ist Data Mining?
Supervised Learning
- Die Analyse hat eine Zielvariable
- Dient zur Findung der signifikanten Einflussfaktoren und zur Vorhersage
Id
1
...
...
...
n
Y
y1
...
...
...
yn
X1
x11
...
...
...
x1n
···
···
...
...
...
···
Xm
xm
1
...
...
...
xm
n
Typische Verfahren: Regression, Entscheidungsbäume, Neuronale Netze, Support Vector Machines usw.
Anwendungen mit SAS. Denise Rey.
8
Was ist Data Mining?
Unsupervised Learning
- Es gibt keine Zielvariable
- Dient zur deskriptiven Analyse eines Datenbestandes und zur Mustererkennung
Id
1
...
...
...
n
X1
x11
...
...
...
x1n
···
···
...
...
...
···
Xm
xm
1
...
...
...
xm
n
Typische Verfahren: Clusteranalyse, Hauptkomponentenverfahren, Assoziationsanalyse usw.
Anwendungen mit SAS. Denise Rey.
9
Cluster - Einführung
Anwendungen mit SAS. Denise Rey.
10
Cluster - Einführung
Ziele der Clusteranalyse
- Bildung von Cluster die durch die Ähnlichkeit (bzw. Distanz)
der Beobachtungen in Bezug auf die Attribute bestimmt werden
- Einteilung der Beobachtungen in disjunkte oder non-disjunkte
Mengen, so dass sie innerhalb der Klassen in Bezug auf die Inputvariablen möglichst homogen sind und zwischen den Klassen
heterogen
- Vorstufe für ein weiteres Verfahren wie z.B. Klassifizierung oder
Vorhersage
Anwendungen mit SAS. Denise Rey.
11
12
Cluster - Distanzen
Aus der Originalmatrix mit n Beobachtungen
Id
1
...
...
...
n
X1
x1
... 1
...
...
x1
n
···
···
...
...
...
···
Xm
xm
... 1
...
...
xm
n
Anwendungen mit SAS. Denise Rey.
13
Cluster - Distanzen
wird eine Distanzmatrix erzeugt
1
2
···
n
1
2 d(1, 2)
3 d(1, 3) d(2, 3)
...
...
...
...
n d(1, n) d(2, n) d(3, n) · · ·
Anwendungen mit SAS. Denise Rey.
14
Cluster - Distanzen
Formale Definition der Metrik
Sei X eine beliebige Menge. Eine Abbildung heisst Metrik, wenn
für beliebige Elemente x, y, z ∈ X die folgenden axiomatischen
Bedingungen erfüllt sind:
1. d(x, x) = 0 (identische Punkte haben Abstand 0)
2. d(x, y) = 0 ⇒ x = y (nichtidentische Punkte haben nicht Abstand 0),
3. d(x, y) = d(y, x) (Symmetrie)
4. d(x, y) ≤ d(x, z) + d(z, y) (Dreiecksungleichung)
Anwendungen mit SAS. Denise Rey.
15
Cluster - Distanzen
Distanzmasse bei stetigen Variablen
Seien x = (x1, . . . , xm)0 und y = (y1, . . . , ym)0 zwei Beobachtungen mit m Attributen.
Euklidische
q Metrik (L2 Norm)
d(x, y) =
(x1 − y1)2 + . . . + (xn − yn)2
Manhatten
q Metrik (L1 Norm)
d(x, y) = |x1 − y1| + . . . + |x1 − y1|
Anwendungen mit SAS. Denise Rey.
16
Cluster - Distanzen
Distanzmasse bei binären Variablen
Jaccard Koeffizient, A und B zwei Mengen
|A ∩ B|
J(A, B) =
|A ∪ B|
(1)
Jaccard Metrik
J(A, B) = 1 − J(A, B) =
|A ∪ B| − |A ∩ B|
|A ∪ B|
(2)
Binäre Variablen:
B=1 B=0
A = 1 M11
M10
A = 0 M01
M00
Anwendungen mit SAS. Denise Rey.
17
Cluster - Distanzen
Distanzmasse bei binären Variablen
Jaccard Metrik für binäre Variablen:
M10 + M01
J(A, B) =
M10 + M01 + M11
(3)
Andere Metriken für binäre Variablen:
- Dice
- Match
Anwendungen mit SAS. Denise Rey.
18
Cluster - Distanzen
Distanzmasse bei nominalen Variablen
Die Variablen werden Dummy kodiert und danach wie binäre
Variablen behandelt:
Dummy1 Dummy2 Dummy3
Rot
1
0
0
Gelb
0
1
0
Schwarz
0
0
1
Anwendungen mit SAS. Denise Rey.
19
Cluster - Distanzen
Distanzmasse bei ordinalen Variablen
Transformation via Ränge auf [0, 1] und dann Vorgehen wie bei
metrischen Variablen:
ri − 1
neu
ri
=
, 1, . . . , R.
R−1
20
Anwendungen mit SAS. Denise Rey.
Cluster - Distanzen
Distanzmasse bei gemischt skalierten Variablen
D(x, y) =
m
X
j=1
wj d(xj , yj ),
m
X
wj = 1
j=1
Anwendungen mit SAS. Denise Rey.
21
Cluster - Distanzen
Proc Distance
Bis Version SAS 9.1: Makro %DISTANCE
Ab Version SAS 9.1: Proc distance
Details: http://support.sas.com/ctx/samples/index.jsp?sid=475
Syntax:
PROC DISTANCE options;
BY variables;
ID variable;
VAR level (variables opt-list) ;
Anwendungen mit SAS. Denise Rey.
22
Cluster - Distanzen
demo1 distance.sas
Anwendungen mit SAS. Denise Rey.
23
Cluster - Hierarchisch
Eigenschaften:
- Agglomerative (buttom-up) und divisive (top-down)
- Angabe der zu bildenden Clusteranzahl nicht notwendig
Algorithmus für agglomeratives Clustering
1. Beginne mit n Clustern C1, . . . , Cn. Ck = xk , i = 1, . . . , n
2. Bestimme die Clustern die zusammengefügt werden können:
min Dkl
k,l
wobei Dkl der Abstand zwischen 2 Cluster ist.
3. Definiere und ersetze Ck , Cl mit C := Ck ∪ Cl und gehe zu
Schritt 2.
Anwendungen mit SAS. Denise Rey.
24
25
26
27
28
29
Cluster - Hierarchisch
Average Linkage AVERAGE
Verzerrt in Richtung der Bildung der Clusters mit der gleichen Varianzen.
Tendiert, Clusters mit kleinen Varianzen zu Joinen. Nicht robust gegen Ausreisser.
Centroid CENTROID
Die robusteste Methode gegen Outliers unter den hierarchischen Methoden.
Gut bei unbalancierten und nonkonvexen Clusters.
Single Linkage SINGLE
Stellt keinen Bezug auf die Form der Clusters, deswegen kommt gut klar mit
irreguläre clusters. Zu empfehlen bei unbalancierten und nonkonvexen Clusters.
Ward WARD
Ward tendiert Custers mit wenigen Beobachtungen zu paaren und ist verzerrt
in Hinsicht auf Bildung balancierter Cluster. Trennscharf in diesem Fall.
Density DENSITY TWOSTAGE
Gut bei nicht-sphärischen und nonkonvexen Cluster.
Anwendungen mit SAS. Denise Rey.
30
Cluster - Hierarchisch
Proc Cluster
- Verfahren für agglomeratives hierarchisches Clustering
- Elf Verfahren zur Definition von dem Abstand zwischen 2 Cluster
- Eingangsdaten können Koordinaten oder Distanzen sein
- Wenn die Eingangsdaten Koordinaten sind, sollten diese stetig sein
- Wenn die Eingangsdaten Koordinaten sind, dann wird als Default der Euklidische Abstand benutzt (anders über proc distance zu verfahren)
- Ordinale Daten sind mit proc cluster nicht zu empfehlen
- proc cluster für sehr grosse Datenbestände nicht zu empfehlen, in diesem
Fall proc fastclus zuerst benutzen
- proc cluster liefert statistische Masse für die Auswahl der optimalen Clusteranzahl
Anwendungen mit SAS. Denise Rey.
31
Cluster - Hierarchisch
Proc Cluster
- Grafische Darstellung und weitere Bearbeitung der Ergebnisse anhand proc
tree
- Variablen mit grossen Varianzen haben mehr Einfluss auf das Clustering als
Variablen mit kleinen Varianzen, Transformationen notwendig
- Multikollineare Variablen auch nicht zulaessig, Transformationen notwendig
- SAS Prozeduren für Transformationen: std option, proc distance, proc
stdize, proc princomp, proc corresp.
- Andere Prozeduren in Zusammenhang mit proc cluster: proc tree (Darestellung des Baumes), proc candisc, proc means, proc gchart, proc gplot.
Anwendungen mit SAS. Denise Rey.
32
Cluster - Hierarchisch
Proc Cluster, Syntax
PROC CLUSTER DATA= options;
BY variables;
COPY variables;
FREQ variable;
ID variable;
RMSSTD variable (if the input data comes from proc fastclus);
VAR variables;
OUTTREE= Outputdatei für proc tree
METHOD = AVERAGE / WARD / usw.
STANDARD = Standardisierung der Variablen (Mean 0, Varianz 1)
TRIM = p Ausreisser Kontrolle. TRIM = 10 löscht 10% der Daten mit einer
geringen Dichte (benötigt Option K, Anzahl der Nachbarn)
RMSSTD = Root Mean Squared Standard Deviation. Nur für Method Average, Centroid, Ward. CCC, PSEUDO, RSQUARE, SIMPLE, SPRSQ
Anwendungen mit SAS. Denise Rey.
33
Cluster - Hierarchisch
Cubic Clustering Criterion
q
np/2
1 − E(R2)
CCC = log
1 − R2
(0.0001 + E(R2))1.2
!
Das cubic clustering criterion (CCC) testet die Hypothese:
H0 := Die Daten stammen aus einer Gleichverteilung
H1 := Die Daten stammen aus einer Mischung von mulitivariaten Normalverteilungen mit gleichen Varianzen und gleichen Gewichten.
- Werte > 2 sprechen für mehr Struktur in den Daten als unter Gleichverteilung
zu erwarten wäre, gute Clusters
- Werte zwischen 0 und 2 sind Indikatoren für mögliche Cluster. Mit Vorsicht
zu interpretieren
- Negative Werte zweigen mögliche Aussreisser
- CCC gültig nur im Unabhängigkeitsfall
Anwendungen mit SAS. Denise Rey.
34
35
Cluster - Hierarchisch
Pseudo F Statistik
P
2
n
i=1 kxi − x̄k (g − 1))
P SF = Pg
P
2
k=1 i∈Ck kxi − x̄k k (n − g)
- PSF soll maximiert werden
- PSF misst die Separation zwischen Clustern zu einem erreichten
Hierarchielevel
- Sie ist nicht F-verteilt
Anwendungen mit SAS. Denise Rey.
36
37
Cluster - Hierarchisch
Die Ausgabe der Outtree Tabelle
NCL number of the clusters
FREQ the number of observations in the current cluster
HEIGHT the distance or similarity between the last clusters joined. The variable (used by the TREE procedure as the default height axis)
ERSQ the approximate expected value of R2 under the uniform null hypothesis
RATIO equal to [(1 − ERSQ)/(1 − RSQ)] (sollte > 1)
LOGR natural logarithm of RATIO (sollte > 0)
CCC the cubic clustering criterion
Anwendungen mit SAS. Denise Rey.
38
Cluster - Hierarchisch
Die Ausgabe der Outtree Tabelle
If the input data set contains coordinates
METHOD=AVERAGE, METHOD=CENTROID, or METHOD=WARD, then
additionally:
DIST the Euclidean distance between the means of the last clusters joined
AVLINK the average pairs distance between the last clusters joined
RMSSTD the root-mean-square standard deviation of the current cluster
SPRSQ the semipartial squared multiple correlation or the decrease in the
proportion of variance accounted for due to joining two clusters to form the
current cluster
RSQ the squared multiple correlation
PSF the pseudo F statistic
PST2 the pseudo t2 statistic
Anwendungen mit SAS. Denise Rey.
39
40
Cluster - Hierarchisch
demo2 proc cluster miles.sas
demo3 proc distance cluster divorce.sas
demo4 proc cluster iris.sas
Anwendungen mit SAS. Denise Rey.
41
Clustering via Optimierung
Eigenschaften
- Vorgabe der Clusteranzahl oder a-priori Schätzung der Clusteranzahl notwendig
- Iterative Einteilung aller Objekte in Cluster (Minimierung der
Distanz von einer Beobachtung zu dem Cluster)
- Disjunkte Cluster
- Vorstufe für hierarchische Clustermethoden
- Parametrische (proc fastclus)
- Nichtparametrische (proc modeclus)
Anwendungen mit SAS. Denise Rey.
42
43
44
45
46
Clustering via Optimierung
Proc Fastclus, Eigenschaften
- Prozedur zu Erzeugung von disjunkten Cluster auf Basis der
Euklidischen Distanz zwischen quantitativen Variablen (k-means
Verfahren als theoretischer Hintergrund)
- Keine Baumstruktur
- Als Vorschritt für hierarchisches Clustering im Fall grosser
Datenmengen
- Nicht robust gegen Ausreisser, Methode gut auch zur Ausreisser Entdeckung
- Initial Seed bei proc fastlclus ist die erste Beobachtung ohne
fehlende Werte
- Standardisierung im Fall unterschiedlichen Skalen bzw. Multikollinearität (proc stdize, proc princomp usw.)
Anwendungen mit SAS. Denise Rey.
47
Clustering via Optimierung
Proc Fastclus
Syntax
PROC FASTCLUS MAXCLUSTERS=n options;
VAR variables ; (quantitative Variablen)
ID variable ; (Zeilenidentität)
FREQ variable ; (Gewichtungsvariable)
BY variables ; (Gruppenanalyse)
Optionen
CLUSTER= Neuer Name für das Cluster (z.B. Segment)
MEAN= Ausgabedatei für Statistiken
OUTSTAT= Speichert Definition der Cluster
INSTAT= Liest Ausgabe eines vorherigen Clusterings und weist Clusterzugehörigkeit
zu; für Scoring
LEAST= Abstandsmass
MAXITER= Anzahl der Iterationen in Hinsicht auf LS Minimierung
OUT= Orginalvariablen, Cluster, Distanzen SUMMARY, SHORT, DISTANCE
Anwendungen mit SAS. Denise Rey.
48
Clustering via Optimierung
Ausgabe von Proc Fastclus
Cluster Summary
RMS Std Deviation (Root mean square distance between observations in the
cluster)
Maximum Distance from Seed to Observation (the maximum distance from
the cluster seed to any observation in the cluster)
Nearest Cluster (the number of the cluster with mean closest to the mean of
the current cluster)
Centroid Distance (the distance between the centroids (means) of the current
cluster and the nearest other cluster)
Statistics for Variables
Total STD (the total standard deviation)
Innerhalb STD (the pooled within-cluster standard deviation)
R-Squared (the R2 for predicting the variable from the clustering (One-way))
RSQ/(1 - RSQ) (the ratio of between-cluster variance to within-cluster variance)
OVER-ALL (all of the previous quantities pooled across variables)
49
Clustering via Optimierung
Scoring mit Proc Fastclus
/***Cluster Definition***/
PROC FASTCLUS DATA=data options
OUTSTAT=centroids;
RUN;
/***Scoring neuer Daten***/
PROC FASTCLUS DATA=new options
INTSTAT=centroids;
OUT=scored;
RUN;
Anwendungen mit SAS. Denise Rey.
50
Clustering via Optimierung
Proc Fastclus als Vorschritt zu Proc Cluster
/***Reduktion der Daten***/
PROC FASTCLUS DATA=data
MAXC=20
MEAN=Mean
CLUSTER=preclus;
VAR variables;
RUN;
/***Suchen von besseren Cluster mit proc cluster***/
PROC CLUSTER DATA=mean OUTTREE=outtree;
VAR variables
COPY preclus;
RUN;
Anwendungen mit SAS. Denise Rey.
51
Clustering via Optimierung
demo5 proc fastclus.sas
Anwendungen mit SAS. Denise Rey.
52
53
Hauptkomponentenanalyse
Einleitung
- Mathematisch eine orthogonale lineare Transformation zu einem neuen Koordinatensystem so dass die groesse Varianz auf der ersten Koordinate projeziert wird, die zweitgroesste auf der zweiten Koordinate usw.
- Verfahren zur Reduktion der Dimensionalität
- Verfahren zur Erkennung von Strukturen in dem gegebenen Variablenraum
- Einsatz bei korrelierten quantitativen Inputvariablen
- Reduktion von vielen korrelierten Einflussvariablen zu wenigen unkorrelierten
Hauptkomponenten
- Projezierung der Beobachtungen in einem 2-dimensionalem Raum
- Grafische Darstellung aller Daten
- Methode zur Entdeckung multivariater Ausreisser
- Hauptkomponenten als Input in andere Data Mining Verfahren (neuronale
Netze, cluster usw.)
Anwendungen mit SAS. Denise Rey.
54
Hauptkomponentenanalyse
Proc Princomp
Syntax
PROC PRINCOMP options;
BY variables ;
FREQ variable ;
VAR variables;
run;
Optionen:
OUT=Ausgabe der Originalvariablen und Hauptkomponenten (z.B. in proc
cluster oder proc fastclus einzusetzen)
N=Anzahl der zu berechnenden Hauptkomponenten
STDStandardisierung
Anwendungen mit SAS. Denise Rey.
55
Hauptkomponentenanalyse
Loading Plot
- Darstellung der Originalvariablen
- Korrelierte Variablen naheliegend
- Invers korrelierte Variablen in entgegengesetzter Richtung
- Länge der Pfleile zeigt die Stärke des Einflusses
- Geometrisch, Kosinus der Winkel (Werte zwischen -1 und 1).
Score Plot
- Darstellung der Beobachtungen
- Cluster der ¨’ahnlichen Beobachtungen
- Zugehörigkeit zu den relevanten Einflussvariablen
- Koordinaten in dem neuen Raum
Anwendungen mit SAS. Denise Rey.
56
Hauptkomponentenanalyse
demo6 proc princomp.sas
demo7 pca und clustering.sas
Anwendungen mit SAS. Denise Rey.
57
Herunterladen