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