Clusterbildung von seismischen Signalen mittels Principal
Transcription
Clusterbildung von seismischen Signalen mittels Principal
• • • • • ••••••••••••••• • ••••••••••••••• • ••••••••••••••••••••••••• • •••••••••••••••••••• • • ••••••••••••••••• • • ••••• •• ••••• • • ••••••••• • • • • • • Universität Stuttgart Institut für Geophysik Professor Dr. M. Joswig Institut für Systemtheorie und Bildschirmtechnik Lehrstuhl für Systemtheorie und Signalverarbeitung Professor Dr.-Ing. B. Yang Diplomarbeit D1083 Clusterbildung von seismischen Signalen mittels Principal Component Analysis und selbstorganisierender Karten Clustering of seismic signals by principal component analysis and self-organizing maps Autor: Benjamin Sick Matr.-Nr.: 2252610 Ausgabe: 22.01.2010 Abgabe: 31.08.2010 Betreuer: Prof. Dr. Manfred Joswig Prof. Dr.-Ing. Bin Yang Stichworte: self-organizing Map, SOM, Kohonen Map, PCA, Hauptkomponentenanalyse, Seismologie, Cluster, Merkmalsextraktion, Dimensionsreduktion 31. August 2010 ¨ Danksagung Ich möchte mich herzlich bei allen bedanken, die mir bei dieser Arbeit geholfen haben: Bei Prof. Manfred Joswig für die Hauptbetreuung meiner Arbeit. Für die Geduld, die Freiheit für selbständiges Arbeiten und die richtigen Ratschläge um meinen Fokus in die richtige Richtung zu lenken. Bei Prof. Bin Yang für die Zweitbetreuung und die Möglichkeit als Elektrotechniker eine fächerübergreifende Diplomarbeit zu schreiben. Bei den Mitarbeitern des Instituts für Geophysik für eine sehr schöne Arbeitsatmosphäre und viele wertvolle Tipps und Ratschläge. Außerdem für die ein oder andere Ablenkung. Bei den Korrekturlesern für die Bereitschaft meine Arbeit in ihrer unpolierten Form durchzulesen und zu korrigieren. Bei Matthias Guggenmos für die gute Vorarbeit auf diesem Gebiet. Bei meiner Freundin und meinen Freunden für das Verständnis, dass ich in der Schlussphase der Diplomarbeit nicht so viel Zeit für sie gehabt habe. Kurzfassung In dieser Diplomarbeit werden zwei Methoden des maschinellen Lernens, die selbstorganisierenden Karten und die Principal Component Analysis, auf seismische Signale angewendet, um diese in verschiedene Cluster einzuordnen. Die untersuchten seismischen Signale stammen aus einem frei verfügbaren Datensatz von einer seismisch aktiven Region in Chile. Dieser Datensatz wurde bereits in fünf Kategorien von Ereignissen eingeteilt, deren Clusterung in dieser Arbeit untersucht wird. Es wird unter anderem untersucht, welche Arten des Preprocessing der Signale die Clusterbildung verbessern. Dabei wurde eine Amplitudennormalisierung und eine spezielle Distanzfunktion entwickelt. Außerdem werden mit Hilfe der Principal Component Analysis die Parameter untersucht, welche verantwortlich für die Clusterung der selbstorganisierenden Karte sind. Weiterhin wird die Möglichkeit einer Unterdrückung bestimmter Parameter durch die Filterung einzelner Principal Components gezeigt. Abstract In this diploma thesis two methods of machine learning are used, self-organizing Maps and Principal Component Analysis, to cluster seismic signals. The seismic signals are taken from a free available dataset of a seismic active region in Chile. This dataset was already separated into five different categories of events of which the clustering is analyzed in this thesis. It was analyzed which kind of pre-processing of the signals improves the clustering of the data. Therefore an amplitude normalization and a special distance function was developed. Furthermore the parameters which are responsible for the clustering of the self-organizing Map are analyzed with the Principal Component Analysis. Additionaly the possibility of suppressing certain parameters by filtering single principal components is shown. Inhaltsverzeichnis Abbildungsverzeichnis v Tabellenverzeichnis ix 1. Einleitung 1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 3 2. Grundlagen 2.1. Maschinelles Lernen . . . . . . 2.1.1. Lernmethoden . . . . . 2.1.2. Mustererkennung . . . . 2.1.3. Clusteranalyse . . . . . 2.2. Seismologie . . . . . . . . . . . 2.2.1. Aufzeichnung . . . . . . 2.2.2. Übertragungsfunktion . 2.2.3. Rauschen . . . . . . . . 2.2.4. Signalformen . . . . . . 2.2.5. Magnitude . . . . . . . 2.2.6. S-P-Laufzeitdifferenz . . 2.2.7. Sprengung vs. Erdbeben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Sonogramme 3.1. Allgemeine Spektrogramme . . . . . . . . 3.1.1. Short-Time-Fourier-Transformation 3.1.2. Spektrale Leistungsdichte . . . . . 3.1.3. Fensterfunktionen . . . . . . . . . 3.1.4. Beispiel . . . . . . . . . . . . . . . 3.2. Sonogramme . . . . . . . . . . . . . . . . 3.2.1. Farbpalette . . . . . . . . . . . . . 3.2.2. Skalierung . . . . . . . . . . . . . 3.2.3. Rausch-Anpassung . . . . . . . . . 3.2.4. Muting . . . . . . . . . . . . . . . 3.2.5. Anpassung der Standardabweichung 3.2.6. Zusammenfassung . . . . . . . . . 3.3. Dimensionsreduktion . . . . . . . . . . . . 4. Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 6 6 6 7 8 9 11 14 14 14 . . . . . . . . . . . . . 15 16 16 17 18 18 18 19 19 20 20 21 21 21 23 ii Inhaltsverzeichnis 4.1. 4.2. 4.3. 4.4. Berechnung . . . . . . . . . . . . . . . . . . . . Rücktransformation . . . . . . . . . . . . . . . . Optimierung . . . . . . . . . . . . . . . . . . . . Visualisierung . . . . . . . . . . . . . . . . . . . 4.4.1. Daten entlang der Principal Components 4.4.2. Scree-Plot . . . . . . . . . . . . . . . . . 4.5. 2D-PCA . . . . . . . . . . . . . . . . . . . . . . 5. Selbstorganisierende Karten 5.1. Künstliche Neuronale Netze . . . . . . 5.2. Selbstorganisierende Karten . . . . . . 5.3. Lernen bei selbstorganisierenden Karten 5.3.1. Initialisierung . . . . . . . . . . 5.3.2. Gewinner . . . . . . . . . . . . 5.3.3. Nachbarbestimmung . . . . . . 5.3.4. Adaption . . . . . . . . . . . . 5.3.5. Zusammenfassung . . . . . . . 5.4. Konvergenz . . . . . . . . . . . . . . . 5.5. Visualisierung . . . . . . . . . . . . . . 5.6. Label . . . . . . . . . . . . . . . . . . 5.7. Anwendung . . . . . . . . . . . . . . . 5.8. Analytische Vergleichsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 25 25 26 26 26 27 . . . . . . . . . . . . . 29 29 30 31 32 33 33 34 34 34 35 35 36 36 6. Datensatz PISCO’94 39 6.1. Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.2. Klasseneinteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7. Spezifische Merkmalsextraktion 7.1. Trainings- und Testdatensatz . . . . . . . . . . . . . . . . . 7.2. Messverfahren für Qualität der Clusterung . . . . . . . . . . 7.2.1. Abstand zu Cluster . . . . . . . . . . . . . . . . . . 7.2.2. Silhouettenkoeffizient . . . . . . . . . . . . . . . . 7.2.3. Visualisierung mittels Principal Component Analysis 7.3. Amplitudennormierung . . . . . . . . . . . . . . . . . . . . 7.4. Länge der Ereignisse und spezifische Rauschadaption . . . . 7.5. Spektrale Leistungsdichte . . . . . . . . . . . . . . . . . . . 7.6. Distanzfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. Ergebnisse 8.1. Vergleich der Clusterung . . . . . . . . . . . . . . . . . . . . . . . 8.1.1. Visualisierung auf den ersten beiden Principal Components . 8.1.2. Selbstorganisierende Karte . . . . . . . . . . . . . . . . . . 8.1.3. Ansicht mit Sonogrammen . . . . . . . . . . . . . . . . . . 8.1.4. Untersuchung einzelner Principal Components . . . . . . . 8.1.5. Filterung von Principal Components . . . . . . . . . . . . . 8.1.6. Scree Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2. Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 46 46 47 49 49 50 54 54 . . . . . . . . 59 59 59 61 61 63 64 65 67 Inhaltsverzeichnis iii 8.3. Initialisierung der Prototypen mittels PCA . . . . . . . . . . . . . . . . . . . 67 8.4. Clusterqualität mit transformierten Daten - Eigensonogramme . . . . . . . . 68 9. Software 9.1. Motivation . . . . . . . . . . . . . . . . 9.2. Existierende Software . . . . . . . . . . 9.3. GeophysSuite . . . . . . . . . . . . . . 9.4. Vorgängersoftware . . . . . . . . . . . 9.5. Lesen von Daten . . . . . . . . . . . . 9.5.1. GeophysSuite . . . . . . . . . . 9.5.2. PGM-Dateien . . . . . . . . . . 9.6. Geschwindigkeit . . . . . . . . . . . . 9.7. Konfiguration . . . . . . . . . . . . . . 9.8. Funktionsauflistung . . . . . . . . . . . 9.8.1. Amplitudennormalisierungen . 9.8.2. Sonogramme anzeigen . . . . . 9.8.3. Selbstorganisierende Karten . . 9.8.4. Klassifikation . . . . . . . . . . 9.8.5. Principal Component Analysis . 9.8.6. Diagramme . . . . . . . . . . . 9.9. Übertragbarkeit . . . . . . . . . . . . . 9.10. Neue Datenformatunterstützung . . . . 9.11. Verwendete Java-Software-Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 74 75 75 76 76 76 77 77 79 79 80 80 80 80 81 81 81 82 10. Zusammenfassung und Ausblick 85 10.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 10.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 10.2.1. Neue Methoden des Maschinellen Lernens . . . . . . . . . . . . . . 87 Literaturverzeichnis 89 A. Nanoseismic Monitoring 93 Abbildungsverzeichnis 1.1. Kumulative Datenmenge die von IRIS bis zum 31. August 2008 archiviert wurde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. FDSN Station Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Elektromagnetischer Geschwindigkeits- und Kraftwandler . . . . . . . . . 2.3. Amplitudenübertragungsfunktionen eines mechanischen und eines elektromagnetischen Seismometers . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Das Hintergrundrauschmodell des USGS . . . . . . . . . . . . . . . . . . 2.5. Seismogramm mit markiertem P-, S-Wellen Einsatz und den Bereichen der Rayleigh- und Love-Wellen . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6. Bewegungsformen von P-, S-, Rayleigh- und Love-Wellen . . . . . . . . . . . 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. . . . . . . . . . Seismogramm eines Beispielereignisses aus dem PISCO Datensatz Vereinfachte schematische Darstellung der STFT . . . . . . . . . Kosinusquadrat-Fensterfunktion . . . . . . . . . . . . . . . . . . Spektrogramm des Beispielereignis des PISCO Datensatzes . . . . Sonogramm Farbpalette . . . . . . . . . . . . . . . . . . . . . . . Sonogramm erster Schritt . . . . . . . . . . . . . . . . . . . . . . Sonogramm zweiter Schritt . . . . . . . . . . . . . . . . . . . . . Sonogramm dritter Schritt . . . . . . . . . . . . . . . . . . . . . Sonogramm vierter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 7 8 . 10 . 11 . 12 . 13 15 16 18 19 19 20 20 21 21 4.1. Zweidimensionaler Beispieldatensatz mit den ersten beiden Principal Components PC1 und PC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.1. Künstliches Neuronales Netz . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Beispieldatensatz mit dreidimensionalen Daten und drei eindeutig separierbaren Clustern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Beispiel einer möglichen selbstorganisierenden Karte des Beispieldatensatzes. 5.4. Veranschaulichung der Nachbarschaftsfunktion der selbstorganisierenden Karte 5.5. Training einer selbstorganisierenden Karte . . . . . . . . . . . . . . . . . . . 5.6. Verschiebungen von Clustern bei selbstorganisierenden Karten . . . . . . . . 30 31 32 33 34 37 6.1. Aufzeichnungsgebiet in Südamerika . . . . . . . . . . . . . . . . . . . . . 6.2. Ozeanische Platten und Kontinentalplatten mit Bewegungsrichtungen in Südamerika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Subduktionsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4. Untersuchungsgebiet mit Anzahl und tiefe von Ereignissen . . . . . . . . . 6.5. Sonogramme und Seismogramme der einzelnen Klassen . . . . . . . . . . 40 41 42 43 . 40 . . . . vi Abbildungsverzeichnis 7.1. Distanzen aller Ereignisse zu allen Clustern . . . . . . . . . . . . . . . . . . 7.2. 2 Ereignisse der Klasse Main mit jeweils Lokalmagnitude ML = 1, 6, nicht amplitudennormiert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3. 2 Ereignisse der Klasse Main mit jeweils Lokalmagnitude ML = 1, 6, amplitudennormiert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4. 5 Ereignisse jeder Klasse amplitudennormiert . . . . . . . . . . . . . . . . . 7.5. Zwei identische Beben der Klasse Main mit unterschiedlicher Sonogrammlänge 7.6. Beispiel eines Sonograms mit 200 Sekunden Länge bei dem bereits ein zweites Ereignis folgt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7. Silhouettenkoeffizient der einzelnen Ereignisklassen für Zeiten von 30 bis 140 Sekunden in 10 Sekundenschritten . . . . . . . . . . . . . . . . . . . . . 7.8. Silhouettenkoeffizient aller Ereignisklassen für Zeiten von 30 bis 140 Sekunden in 10 Sekundenschritten mit verschiedenen Rauschadaptionslängen . . . 7.9. Vektorbildung aus Sonogrammen . . . . . . . . . . . . . . . . . . . . . . . . 7.10. Koordinatenvergleich bei zweidimensionaler Distanzfunktion im Vektor . . . 7.11. Koordinatenvergleich bei zweidimensionaler Distanzfunktion . . . . . . . . . 7.12. Silhouettenkoeffizient für einzelne Ereignisklassen und Distanzfunktionen . . 7.13. Abstand der Cluster Qualitätsmerkmal für einzelne Ereignisklassen und Diszanzfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1. Trainingsdatensatz auf die ersten beiden Principal Components projiziert . . 8.2. Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen und Zurordnung der einzelnen Klassen . . . . . . . . . . . . . . . . . . . . 8.3. Neuronen der trainierten Karte auf die ersten beiden Principal Components projiziert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4. Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen, Neuronen als Sonogramme gezeichnet . . . . . . . . . . . . . . . . . . . . 8.5. Anordnung der Sonogramme des Trainingsdatensatz auf den ersten beiden Principal Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6. Auswirkungen der ersten fünf Principal Components auf die Sonogramme . 8.7. Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen und Zurordnung der einzelnen Klassen, erste Principal Component gefiltert 8.8. Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen, Neuronen als Sonogramme gezeichnet, erste Principal Component gefiltert . 8.9. Scree Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.10. Untrainierte selbstorganisierende Karte entlang der ersten beiden Principal Components initialisiert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.11. Trainierte selbstorganisierende Karte entlang der ersten beiden Principal Components initialisiert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.12. Neuronen der trainierten selbstorganisierenden Karte die entlang der ersten beiden Principal Components initialisiert wurde . . . . . . . . . . . . . . . 8.13. Silhouettenkoeffizient in Abhängigkeit der Anzahl der Principal Components mit derer der Trainingsdatensatz transformiert wurde . . . . . . . . . . . . 8.14. Jeweils ein Beben jeder Klasse für unterschiedliche Zahlen von verwendeten Principal Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.15. Trainingsdatensatz auf die ersten drei Principal Components projiziert . . . 48 50 50 50 51 51 52 53 54 55 56 57 58 . 60 . 61 . 62 . 62 . 63 . 64 . 65 . 65 . 66 . 68 . 68 . 69 . 71 . 71 . 72 Abbildungsverzeichnis vii 9.1. 9.2. 9.3. 9.4. 9.5. CLUSTER Software . . . . . . . . . . . . . . . . . . . . . . . . . . . Komponenten der GeophysSuite . . . . . . . . . . . . . . . . . . . . . Auswahl von Ereignissen in SonoView . . . . . . . . . . . . . . . . . . Beispiel einer PGM Datei mit zugehörigem Sonogramm . . . . . . . . Dauer des Trainings einer selbstorganisierenden Karte in Abhängigkeit Epochenzahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6. SEED Datenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zur . . . . . . . . 74 75 76 77 . 78 . 82 A.1. Seismic Navigation System . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 A.2. Aufbau eines Supersonogramms . . . . . . . . . . . . . . . . . . . . . . . . 94 Tabellenverzeichnis 2.1. Unterschiedliche Erdbeben nach Entfernung . . . . . . . . . . . . . . . . . . 2.2. Annahmen für die Berechnung der Übertragungsfunktion . . . . . . . . . . . 8 9 6.1. Anzahl der Ereignisse pro Klasse . . . . . . . . . . . . . . . . . . . . . . . . 44 7.1. Zahl der Ereignisse im Trainings- und Klassifikationsdatensatz . . . . . . . . 45 7.2. Parameter der selbstorganisierenden Karte für Tests. . . . . . . . . . . . . . . 46 7.3. Distanzfunktionen mit zugehörigen Formeln . . . . . . . . . . . . . . . . . . 56 8.1. Konfusionsmatrix der Klassifikation des Testdatensatzes . . . . . . . . . . . 67 9.1. Format der ASCII Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 1. Einleitung 1.1. Motivation Wie in vielen anderen Gebieten fallen auch in der Seismologie immer mehr Daten an. Dies kommt zum einen daher, dass mehr Messnetzwerke als früher aufgebaut werden. Der hauptsächliche Grund ist aber, dass die Messverfahren immer genauer werden. So steigt die Häufigkeit von Erdbeben mit jeder Magnitudenstufe um den Faktor acht [1]. Diese riesigen Datenmengen können von Menschen ohne maschinelle Hilfe nicht mehr ausgewertet werden. Alleine das Internationale Überwachungsystem (IMS) der CTBTO1 produziert täglich 16 Gigabyte an Daten, die ausgewertet werden müssen [2]. Neben diesem Netzwerk bestehen noch viele weitere, so dass die insgesamt täglich angehäuften Datenmengen weit darüber liegen. Zum Beispiel archivierte das größte öffentliche Datenarchiv für Erdbebendaten, das IRIS2 Data Management Centre bis zum August 2008 über 70 Terabyte an Daten [3], siehe Abbildung 1.1. Die Datenmengen, die große Erdöl oder Erdgas Explorationsfirmen sammeln, übersteigen dies noch bei weitem. Um nun diese riesigen Datenmengen überblicken zu können, müssen intelligente Algorithmen entwickelt werden, die dem Menschen bei der Auswertung helfen können. Abbildung 1.1.: Kumulative Datenmenge die von IRIS bis zum 31. August 2008 archiviert wurde Seismologische Daten müssen außerdem oftmals in einem knappen Zeitlimit ausgewertet werden. So benötigt man zum Beispiel beo von Erdbeben ausgelösten Tsunamis Warnsysteme, um sofort gefährdete Gebiete zu evakuieren. Dort können Unterschiede von Sekunden 1 Organisation des Vertrags über das umfassende Verbot von Nuklearversuchen (http://www.ctbto.org). Die CTBTO ist eine Internationale Organisation, die die Einhaltung des Kernwaffenteststopp-Vertrages überwachen wird sobald dieser von allen Mitgliedstaaten ratifiziert wurde. 2 Incorporated Research Institutions for Seismology (http://www.iris.edu) 2 Einleitung bei der Auswertung über einen sehr großen Schaden entscheiden. Ein anderes konkretes Beispiel ist die CTBTO. Hier muss innerhalb kurzer Zeit entschieden werden ob ein bestimmtes seismisches Signal von einer nuklearen Sprengung stammt oder ein Erdbeben ist beziehungsweise andere antropogene Quellen als Ursache in Frage kommen. Wird dies nicht Zeitnah entschieden, kann es sein, dass kein endgültiger Nachweis für eine nukleare Sprengung mehr erbracht werden kann, da die Nachwirkungen dieser Sprengung verschwunden sind. Sowohl Frühwarnsysteme als auch die Auswertung der CTBTO sind ohne die seismologische Signalverarbeitung nicht mehr möglich. Die Unterscheidung zwischen verschiedenen seismischen Signalen, die sogenannte Klassifizierung kann sich unter Umständen als sehr schwierig erweisen. Hierbei müssen verschiedenste Parameter der Entstehung des Signals, wie Entfernung, Stärke und Herdmechanismus betrachtet werden. Außerdem spielen lokale Gegebenheiten durch unterschiedliche Eigenschaften des Erdinnerens auf dem Weg des Signals von der Quelle zur Messstation eine große Rolle. Für jedes Gebiet muss daher eine Einschätzung über diese Parameter gemacht werden und die automatischen Algorithmen entsprechend justiert werden. Weiterhin ist dem eigentlichen Signal ein seismisches Rauschen überlagert, welches ebenso stark varriieren kann. 1.2. Aufgabenstellung In einer Vorgängerarbeit [4] konnte bereits gezeigt werden, dass es prinzipiell möglich ist, aus einem großen Datensatz Ereignisse zu extrahieren und damit eine selbstorganisierende Karte zu trainieren. Es wurde dort auch die Nützlichkeit einer Darstellung mittels einer selbstorganisierenden Karte gezeigt. Durch eine selbstorganisierende Karte erhält man einerseits eine Übersicht über einen großen Datensatz, bei der verschiedene Cluster (Ballungen ähnlicher Ereignisse) gruppiert werden. Durch diese Ansicht kann man sofort sehen welche Typen von Ereignissen vorhanden sind und, je nach Clustergröße, wie häufig diese Typen vorkommen. Andererseits können die einzelnen Felder der selbstorganisierenden Karte als Prototypen für eine weitere Mustererkennung dienen, da sie einen bestimmten Typ von Ereignis sehr gut repräsentieren. Für die Erstellung wurden die in Kapitel 3 dargestellten Sonogramme [5] und [6] verwendet. Die Sonogramme sind Spektrogramme des seismischen Signals, die mit mehreren signalverarbeitenden Schritten so verbessert wurden, dass sie eine optimale Darstellung für die Ereignisdetektion bilden. Ziel dieser Arbeit war es nun die erstellten selbstorganisierenden Karten zu verbessern und besser zu verstehen. Dafür sollte eine weitere Methode der Clusteranalyse verwendet werden, die Principal Component Analysis. Da die Methode der selbstorganisierenden Karten eine Methode der künstlichen Intelligenz ist und auf Neuronalen Netzen aufbaut, kann nicht vollständig erklärt werden, warum eine bestimmte Anordnung der Karte erfolgt. Die Principal Component Analysis kann hier mit ihrer Fähigkeit der Dimensionsreduktion mehr Aufschluss auf die Verteilung der Daten geben und so einen tieferen Einblick in die Arbeitsweise der selbstorganisierenden Karten ermöglichen. 1.3 Gliederung 3 1.3. Gliederung Nach dieser Einleitung folgen die Grundlagen in Kapitel 2. In diesem wird versucht, sowohl für Elektrotechniker als auch für Geophysiker verständlich die Wissensbasis für die folgenden Kapitel zu vermitteln. Darauf folgt in Kapitel 3 die Vorstellung der Sonogramme. Diese werden als Grundlage für die weitere Clusteranalyse benötigt und bilden die erste Merkmalsextraktion aus den Seismogrammen. In Kapitel 4 und 5 werden die beiden verwendeten Verfahren der Clusteranalyse, selbstorganisierende Karten und Principal Component Analysis, näher erklärt. Daraufhin wird in Kapitel 6 der verwendete Datensatz, der die Grundlage für die verwendeten Signale bildet, näher vorgestellt. In Kapitel 7 werden die ermittelten spezifischen Mermalsextraktionen für die seismischen Signale gezeigt. Im folgenden Kapitel 8 werden dann die beiden zuvor vorgestellten Verfahren Principal Component Analysis und selbstorganisierende Karten in Relation gebracht und die Ergebnisse vorgestellt. in Kapitel 9 wird die im Rahmen der Diplomarbeit programmierte Software, die in Java geschrieben wurde, gezeigt. Als letztes Kapitel 10 wird noch eine Zusammenfassung und ein Ausblick gegeben. 2. Grundlagen 2.1. Maschinelles Lernen Maschinelles Lernen befasst sich mit der Entwicklung von intelligenten Algorithmen, die in der Lage sind, ihr Verhalten an empirische Daten anzupassen. Ein künstliches System generiert hierbei Wissen aus Erfahrung. In der sogenannten Trainingsphase werden dem System Beispiele vorgelegt aus denen es Gesetzmäßigkeiten ableitet. Diese können dann auf neue, unbekannte Daten angewendet werden. 2.1.1. Lernmethoden Beim maschinellen Lernen werden die folgende Lernmethoden unterschieden. Überwachtes Lernen Beim überwachten Lernen lernt der Algorithmus indem zu jeder Eingabe die richtige Ausgabe geliefert wird. Die berechnete Ausgabe wird mit der gegebenen richtigen verglichen und eine automatische Anpassung des Algorithmus erfolgt. Unüberwachtes Lernen Hier erzeugt der Algorithmus ein Modell der eingegebenen Daten, es wird versucht darzustellen wie die Eingabedaten organisiert sind. Eine Art von unüberwachtem Lernen ist das Clustering, bei dem versucht wird, die Daten in einzelne Kategorien einzuteilen, die sich durch charakteristische Muster voneinander unterscheiden. Die in dieser Arbeit benutzte Methode der selbstorganisierenden Karten ist ein typisches Beispiel für unüberwachtes Lernen. Der Unterschied zum überwachten Lernen ist, dass dem Algorithmus zu Beginn keine Klasseninformationen gegeben werden. So ist es möglich, auch unbekannte Klassen zu finden. Bestärkendes Lernen Hier lernt der Algorithmus dadurch, dass zu konkreten Ergebnissen eine Belohnung oder eine Bestrafung gegeben wird. Die konkrete richtige Ausgabe ist hier nicht wie beim überwachten Lernen bereits vorhanden. Jedoch weiß man ob eine Ausgabe des Algorithmus richtig oder falsch ist. 6 Grundlagen 2.1.2. Mustererkennung Die Mustererkennung versucht durch geeignete Merkmalsextraktion, Eingaben in verschiedene Kategorien einzuordnen. Sie bildet die Basis für die Lernalgorithmen des maschinellen Lernens, manche gehen sogar soweit zu sagen, dass Mustererkennung und maschinelles Lernen nur zwei Facetten des gleichen Fachbereichs sind [7]. Wichtig hierbei ist, bei der Merkmalsextraktion genau solche Merkmale zu verwenden, die es ermöglichen unterschiedliche Kategorien bestmöglich zu unterscheiden. 2.1.3. Clusteranalyse Der Begriff Clusteranalyse wurde zuerst von Tryon [8] erwähnt. Er bezeichnete die Clusteranalyse noch als „Faktorenanalyse der armen Leute“. Die Clusteranalyse ist ein multivariates, Strukturen entdeckendes Verfahren, dass eine Vielzahl von Algorithmen umfasst, um ähnliche Objekte in Gruppen (Cluster) einzuteilen. Durch die Clusteranalyse lassen sich Daten klassifizieren und Muster erkennen. Die Clusteranalyse verwendet die Lernmethode des unüberwachten Lernens. Bei der Clusteranalyse werden die zu untersuchenden Objekte als Zufallsvariablen aufgefasst. Jede dieser Variablen entspricht einem Punkt in einem Vektorraum, dessen Dimension der Anzahl von Eigenschaften der zu untersuchenden Objekte entspricht. Cluster entsprechen in diesem Vektorraum einer Anhäufung von Punkten. Von essentieller Bedeutung hierbei ist die Distanzmethode und die Methode zur Mittelpunktsbestimmung eines Clusters, die benutzt wird, um diese Anhäufungen zu bestimmen. Ein Beispiel einer Distanzfunktion ist die euklidische Distanz, zur Berechnung des Mittelpunkts eines Clusters kann zum Beispiel der Mittelwert der einzelnen Elemente des entsprechenden Clusters berechnet werden. Für weitere Ausführungen zu Zufallsvariablen siehe [9]. 2.2. Seismologie Der Erdboden und das Erdinnere befinden sich in ständiger Bewegung. Normalerweise spürt man dies nicht, doch zum Beispiel bei starken Erdbeben wird diese Bewegung so stark, dass sie auch von Menschen gespürt werden kann. Erdbeben entstehen durch verschiedenste Prozesse bei denen Spannungen im Erdinnern plötzlich freigegeben werden. Diese Spannungsveränderungen bringen unter anderem sogenannte elastische P- und S-Wellen hervor, siehe Kapitel 2.2.4, die zur Erdoberfläche wandern und diese in Bewegung versetzen. Im Jahre 1875 wurde von F. Cecchi das erste Instrument entwickelt, um diese seismischen Schwingungen als Zeitfunktion aufzuzeichnen. Dies war der Beginn der Seismologie, die sich mit den seismischen Wellen, deren Quellen und dem Medium das sie durchlaufen, befasst. Die Seismologie hat viele mathematische Modelle der Inversion hervorgebracht, da man hier versucht Rückschlüsse auf eine Quelle und Strukturinformationen durch entfernt aufgezeichnete Daten zu ziehen. Man kann sich die Seismologie als Stethoskop für das Erdinnere vorstellen, dass es einem Seismologen ermöglicht die Prozesse im Erdinneren zu „hören“. Durch die Anwendung der 2.2 Seismologie 7 Theorie elastischer Wellen und weiteren Verfahren konnten in den letzten Jahrzehnten immer genauere Informationen aus den Seismogrammen gezogen werden. Es kann somit die Position und Stärke von Erdbeben bestimmt werden, außerdem werden Schichtmodelle der Welleneigenschaften des Erdinnerns erstellt. Weiterhin wird die tiefgehende Exploration von Rohstoffen ermöglicht. Es können außerdem künstliche Sprengungen, wie zum Beispiel unterirdische Atombombentests, erkannt werden. Durch diese wichtigen Anwendungsgebiete hat sich die Seismologie schnell in eine Hightech Forschungsdisziplin entwickelt. Abbildung 2.1 zeigt zum Beispiel die Verteilung der seismologischen Stationen der International Federation of Digital Seismograph Networks (FDSN)1 . All diese Stationen zeichnen permanent die Bodenunruhe unserer Erde auf. Abbildung 2.1.: FDSN Station Map [10] 2.2.1. Aufzeichnung Aufgezeichnet werden die seismischen Signale durch einen Seismographen. Dieser besteht aus dem Seismometer, der Aufnehmereinheit, die die Bodenbewegung in ein elektrisches Signal umsetzt und der Registriereinheit, die das Signal früher auf Papier, heute auf einen elektronischen Datenträger aufzeichnet. In der Seismologie werden Beben unter anderem nach ihrer Entfernung unterschieden, was in Tabelle 2.1 veranschaulicht ist. Bei teleseismischen Beben werden zum Beispiel hauptsächlich Frequenzen von 10 Hertz bis hinunter zu 0,3 Millihertz aufgezeichnet [11]. In dieser Arbeit werden Lokalbeben untersucht. Früher wurden Aufzeichnungen mechanisch gemessen, indem eine sogenannte seismische Masse an einer Feder aufgehängt wurde. Ihre Bewegungsrichtung wurde dabei auf eine Achse beschränkt um zum Beispiel nur vertikale Schwingungen aufzuzeichnen. Um jedoch Ver1 http://www.fdsn.org/ 8 Grundlagen Name Entfernung Lokalbeben < 100 km Regionalbeben 10 - 1400 km Teleseismisches Beben > 1400 km Tabelle 2.1.: Unterschiedliche Erdbeben nach Entfernung schiebungen im Nanometerbereich zu messen, werden heutzutage elektrodynamische Wandler als Seismometer eingesetzt. Ein vereinfachtes Schema eines solchen Wandlers ist in Abbildung 2.2 dargestellt. Als Masse wird hier eine Kupferdrahtspule verwendet. Diese befindet sich zwischen den Polen eines fixierten Magneten. Durch Bewegungen des Kupferdrahtes wird eine Spannung induziert, diese wird elektronisch verstärkt und aufgezeichnet. Dies funktioniert allerdings nur für Signale mit hoher Frequenz. Möchte man Signale mit niedrigen Frequenzen aufzeichnen wird die differentielle kapazitive Abstandsmessung verwendet. Hierbei wird ausgenutzt, dass man die Entfernung zwischen zwei leitfähigen Teilchen über die zwischen ihnen bestehende Kapazität bestimmen kann. Es werden hierfür drei Metallplättchen isoliert übereinander mit einem Abstand von einigen Zehntel Millimetern angebracht, wobei die mittlere beweglich ist. Abbildung 2.2.: Elektromagnetischer Geschwindigkeits- und Kraftwandler [12] 2.2.2. Übertragungsfunktion Jedes Seismometer hat eine Übertragungsfunktion, diese wird hier nach Wielandt [12] vorgestellt. Typische Übertragungsfunktion eines mechanischen und eines elektrischen Seismometers sind in Abbildung 2.3 dargestellt. Man kann sie sich aus der Schwingungsgleichung eines Federpendels mit viskoser Dämpfung herleiten. Geht man von einer harmonischen Bewegungen in der Zeit aus und wenn die Zuordnungen aus Tabelle 2.2 gelten, kann Gleichung 2.1 für die Verschiebung, 2.2 für die Geschwindigkeit und 2.3 für die Beschleunigung angenommen werden. 2.2 Seismologie 9 Beschreibung Bezeichnung Ansprechempfindlichkeit der Spule E Frequenzvariable der Fourier Transformation ω Eigenfrequenz der Masse ω0 = T2π0 Numerische Dämpfung h Meter γ Empfindlichkeit in Volt Tabelle 2.2.: Annahmen für die Berechnung der Übertragungsfunktion H̃d (ω) := − jω3 E −ω2 + 2 jωω0 h + ω20 (2.1) H̃v (ω) := −ω2 E −ω2 + 2 jωω0 h + ω20 (2.2) jωE + 2 jωω0 h + ω20 (2.3) H̃a (ω) := −ω2 2.2.3. Rauschen Der Erdboden ist nie komplett in Ruhe, es gibt ständig ein seismisches Hintergrundrauschen. Rauschen kann durch seismische Aktivität, aus der Umgebung oder durch das Aufzeichnugsgerät selbst entstehen. Seismisches Rauschen Das minimale seismische Rauschen wird vom USGS2 berechnet und ist in Abbildung 2.4 dargestellt. Es stellt das globale minimale Rauschen dar und setzt sich hauptsächlich aus der sogenannten Meeresmikroseismik zusammen. Dies ist das Rauschen, dass durch die Gezeiten der Meere und die Brandungswellen entsteht. Umgebungsrauschen Umgebungsrauschen äußert sich meist durch eine leichte Verkippung der Seismometer. Diese kann zum Beispiel durch Verkehr, Wind, Temperatur, Magnetfelder oder Druckunterschiede in der Atmosphäre hervorgerufen werden. Diesem Rauschen wird durch ein gut isoliertes und druckdichtes Gehäuse entgegengewirkt. Außerdem wird versucht Seismometer an Orten mit möglichst wenig antropogenen Rauschquellen aufzustellen. 2 United States Geological Service http://www.usgs.gov/ 10 Grundlagen Abbildung 2.3.: Amplitudenübertragungsfunktionen eines mechanischen Seismometers (Federpendel, links) und eines elektromagnetischen Seismometers (Geophon, rechts). Die normalisierte Frequenz ist die Signalfrequenz dividiert durch die Eigenfrequenz (Eckfrequenz) des Seismometers [12]. 2.2 Seismologie 11 Abbildung 2.4.: Das minimale Hintergrundrauschmodell des USGS. Beide Spitzen in der Mitte sind auf die Meeresmikroseismik zurückzuführen [13]. Instrumentelles Rauschen Das instrumentelle Rauschen des Gerätes selbst kann durch mechanische oder elektrische Komponenten entstehen. Hier kann bei sehr genauen Geräten sogar die Brownsche Wärmebewegung der seismischen Masse eine Rolle spielen. 2.2.4. Signalformen Seismische Aufzeichnungen sind also Bodenbewegungen als Funktion der Zeit. Ein typisches Signal eines Erdbebens ist in Abbildung 2.5 zu sehen. Hierbei fallen zwei markante Spitzen in der Amplitude auf. Dies sind die Einsätze der sogenannten P- und S-Wellen. Außerdem sind noch weitere Wellen nach der Sekundärwelle zu sehen, dies sind die Oberflächenwellen Rayleigh- und Love-Wellen. Alle vier Wellentypen sind in Abbildung 2.6 dargestellt. Für weitere Theorie zur Wellenberechnung sei [1], [14] und [15] empfohlen. P-Wellen Bei einem Erdbeben entstehen sowohl Longitudinalwellen als auch Transversalwellen. Longitudinalwellen breiten sich schneller aus und werden daher in der Seismologie als Primärwellen oder P-Wellen bezeichnet. Die Amplituden von P-Wellen sind generell kleiner und haben höhere Frequenzen als S- und Oberflächenwellen. P-Wellen in einer Flüssigkeit oder einem Gas sind Druckwellen (auch Tonwellen). Die Geschwindigkeit einer P-Welle berechnet sich nach Gleichung 2.4. Hierbei ist K der Kompressionsmodul, µ der Schermodul und ρ die Dichte des die Welle durchlaufenden Materials. s vp = K + 43 µ ρ (2.4) 12 Grundlagen Abbildung 2.5.: Seismogramm mit markiertem P-, S-Wellen Einsatz und den Bereichen der Rayleigh- und Love-Wellen [16] S-Wellen Die Transversalwellen treffen nach den P-Wellen ein und werden daher als Sekundärwellen beziehungsweise Scherwellen oder S-Wellen bezeichnet. S-Wellen bewegen sich nicht durch Flüssigkeiten und sind deshalb auch nicht im äußeren Erdkern (wird als flüssiges Eisen angenommen), in der Luft oder im Wasser vorhanden. Die Geschwindigkeit einer S-Welle berechnet sich nach Gleichung 2.5. Wobei wieder gilt, dass µ der Schermodul und ρ die Dichte des die Welle durchlaufenden Materials ist. vS = r µ ρ (2.5) Rayleigh- und Love-Wellen Rayleigh- und Love-Wellen sind Oberflächenwellen, die entstehen wenn die P- und SRaumwellen an die Oberfläche treten. Beide Wellentypen existieren an der Oberfläche der Erde und nehmen mit zunehmender Tiefe an Amplitude ab. Das Auftreten von Rayleigh-Wellen und die Teilchenbewegungen sind ähnlich einer Wasserwelle. Rayleigh-Wellen sorgen mit Längs- und Vertikalbewegungen für den meisten Schaden nach einem Erdbeben. Beide Typen von Oberflächenwellen unterliegen starker Dispersion, die Geschwindigkeit 2.2 Seismologie Abbildung 2.6.: Bewegungsformen von P-, S-, Rayleigh- und Love-Wellen [16] 13 14 Grundlagen verändert sich also mit der Frequenz. Normalerweise breiten sie sich bei niedrigen Frequenzen schneller aus. 2.2.5. Magnitude Die Magnitude beschreibt die Stärke eines Ereignisses, sie wird indirekt über die freigegebene Energie eines Ereignisses bestimmt. Die Magnitude sollte nicht mit der Intensität eines Erdbebens verwechselt werden. Die Intensität gibt an wie stark ein Ereignis lokal Zerstörungen hervorruft. Die Magnitude wird arabisch nummeriert, die Intensität römisch [17]. Charles Richter hat hierzu einen sehr schönen Vergleich zu Radiowellen gebracht: So sei die Magnitude wie die Stärke an Kilowatt, mit der eine Radiostation sendet. Die lokale Intensität entspricht hingegen der Signalstärke des Radiosignals an einer bestimmten Stelle. Charles Richter war es auch, der zusammen mit Beno Gutenberg die wohl bekannteste Magnitudenskala einführte, die Lokalmagnitude ML (Richterskala). Hierbei ist ein Ereignis, welches in einer Entfernung von 100 km eine Bodenbewegung von A0 = 10−3 µm auslöst mit ML = 0 definiert. Daraus kann man nun eine Formel für ML in Abhängigkeit von der maximalen Amplitude A [µm] und der Distanz ∆ [km] erstellen welche in Gleichung 2.6 beschrieben ist. ML = log10 A − 2,48 + 2,76 log10 ∆ (2.6) Die Distanz berechnet sich hierbei vom lokalen Messpunkt zum sogenannten Epizentrum. Das Epizentrum ist die vertikale Projektion des Erdbebenherds (Hypozentrum) auf die Erdoberfläche. Da die Lokalmagnitude nur bei Distanzen zwischen 10 und 600 km gültig ist, wurden weitere Magnituden wie zum Beispiel die Raumwellenmagnitude mb , die Oberflächenmagnitude MS , und die Momenten-Magnitude MW eingeführt. Auch jede dieser Magnituden hat jedoch ihre eigenen Schwächen und wird nur für bestimmte Situationen eingesetzt. 2.2.6. S-P-Laufzeitdifferenz Obwohl die Wellengeschwindigkeiten um das zehnfache oder mehr innerhalb der Erde variieren können, ist das Verhältnis zwischen P- und S-Wellengeschwindigkeit in etwa konstant. Dies ermöglicht es Seismologen eine schnelle, vernünftige Abschätzung der Entfernung eines Erdbebens durch den Laufzeitunterschied der beiden Wellentypeneinsätze zu erhalten. Hierfür muss die S-P-Zeit, also der Zeitunterschied der Einsätze in Sekunden mit dem Faktor multipliziert werden, um den ungefähren Abstand in Kilometern zu bekommen. 8 km s 2.2.7. Sprengung vs. Erdbeben Erdbeben entstehen durch einen Bruch, bei dem die unterschiedlichen Wellenarten entstehen. Sprengungen dagegen haben theoretisch eine isotrope Wellenabstrahlung, die keine Sekundärwellen erlaubt. In der Praxis ist es jedoch so, dass Sekundärwellen zwar entstehen, jedoch schwächer ausfallen als bei Erdbeben. 3. Sonogramme Für eine digitale Clusteranalyse seismischer Signale eignen sich die Seismogramme nur sehr schlecht, da zuviele Merkmale im Signal vorhanden sind. Die Dimensionalität der Daten würde daher die Rechenkapazitäten überschreiten und es würden sehr viele für einen Computer unerhebliche oder sogar hinderliche Informationen benutzt. In dieser Arbeit werden daher nicht die eigentlichen Seismogramme als Eingabe für die Cluster-Algorithmen benutzt werden, sondern eine stark modifizierte Form des Spektrogramms, das Sonogramm. Dieses wird in diesem Kapitel kurz erklärt. Für weitere Informationen zu Sonogrammen kann [5] oder [6] herangezogen werden. Viele Arbeiten gehen bei der Merkmalsextraktion so vor, dass sie nur spezifische, vorher festgelegte Merkmale extrahieren wie zum Beispiel die S-P-Zeit, die Amplitude oder den Erwartungswert [18]. Die Methode der Sonogramme hat im Gegensatz dazu den Vorteil, dass sie eine Art kontinuierliche Merkmalsextraktion darstellt. Es können sich hierbei sehr spezielle Merkmalskombinationen für ein bestimmtes Ereignis bilden, was in Form von Mustern auch für das menschliche Auge sichtbar ist. Das Sonogramm stellt die Vielzahl an Informationen die in einem Seismogramm stecken in einer Form dar, die es erlaubt Muster zu erkennen. Dies gilt sowohl für die menschliche Wahrnehmung als auch für die rechnergestützte. Anstatt eine eindimensionale Funktion und Zeit-Amplituden Darstellung wie beim Seismogramm, wird hier eine zweidimensionale Funktion der Energie über Zeit und Frequenz benutzt. Dies erlaubt es viel mehr Informationen auf gleichem Raum zu zeigen. Außerdem wurde für die Darstellung der Sonogramme eine für das menschliche Auge optimierte Farbskala gewählt, so dass Ereignisse besonders gut aus dem Rauschen heraus stechen. Die typischen Muster die sich bei den Sonogrammen für ähnliche Ereignisse bilden sind außerdem sehr robust gegenüber Rauschen und anderen unerwünschten Einflüssen. In den folgenden Kapiteln wird die Berechnung der Sonogramme erläutert. Als Beispielereignis für dieses Kapitel wird ein Erdbeben aus dem PISCO’94 Datensatz benutzt. Dieser Datensatz wird in Kapitel 6 näher erläutert. Das Seismogramm dieses Beispielereignisses ist in Abbildung 3.1 zu sehen. Das Signal hat eine Abtastrate von 100 Hz. Abbildung 3.1.: Seismogramm eines Beispielereignisses aus dem PISCO Datensatz 16 Sonogramme 3.1. Allgemeine Spektrogramme Die Berechnung eines Spektrogramms soll hier kurz erläutert werden, da sie die Basis für die Sonogramme bildet. Ein Spektrogramm ist eine Funktion der Energie über Zeit und Frequenz. Normalerweise wird auf der horizontalen Achse die Zeit und auf der vertikalen Achse die Frequenz dargestellt, die Stärke der Energie wird durch die Intensität der Farbe am entsprechenden Punkt repräsentiert. Die Achsen können entweder linear oder logarithmisch sein. Bei seismischen Signalen wird normalerweise eine logarithmische Frequenzachse und eine lineare Zeitachse gewählt. Für die eigentliche Berechnung wird die Short-Time-FourierTransformation benutzt. 3.1.1. Short-Time-Fourier-Transformation Eine schematische Darstellung der Spektrogrammberechnung ist in Abbildung 3.2 zu sehen. Die Berechnung der Short-Time-Fourier-Transformation (STFT) setzt sich aus den folgenden Schritten zusammen, wobei alle Signale als diskret angenommen werden. Abbildung 3.2.: Vereinfachte schematische Darstellung der STFT 1. Gemäß Gleichung 3.1 werden L Werte aus dem Eingabesignal x eingelesen. ∆ xm (n) = x(n − mR), n = −l, . . . , l ∆ (3.1) Dabei ist xm der m-te Block des Eingabesignals und L = 2l + 1 die Blocklänge. R beschreibt die Anzahl Samples die von einem zum nächsten Block gesprungen wird, hierüber lässt sich die Überlappung bestimmen. 3.1 Allgemeine Spektrogramme 17 2. Nun werden die Blockdaten nach Gleichung 3.2 punktweise mit einer Fensterfunktion w(n), n = −l, . . . , l der Länge L multipliziert um das mte Fenster zu bekommen. Beispiele für Fensterfunktionen werden in Kapitel 3.1.3 gegeben. ∆ x̃m (n) = xm (n)w(n), n=− L−1 L−1 ,... , 2 2 (3.2) 3. Weiterhin wird x̃m für die spätere Fast Fourier Transformation1 (FFT) nach Gleichung 3.3 mit Nullen aufgefüllt um auf die FFT-Größe N zu kommen. Dabei ist N die nächst größere Zweierpotenz von L. x̃ (n), |n| ≤ L−1 2 m ∆ 0 L−1 0, < n ≤ L2 − 1 x̃m (n) = (3.3) 2 0, − N ≤ n < − L−1 2 2 4. Als nächstes wird die FFT mit der Länge N von x̃m0 berechnet, um die STFT zur Zeit m zu bekommen. N/2−1 X 0 jωk x̃m (e ) = x̃m0 (n)e−jωk nT s (3.4) n=−N/2 Hierbei ist ωk = 2πk fs . N fs = 1 Ts ist die Abtastrate in Hz. Das gesamte Spektrogramm setzt sich nach Gleichung 3.5 aus den quadrierten Werten der einzelnen STFTs zusammen. Jedes der Zeitfenster entspricht im Spektrogramm einer horizontalen Linie, die einer Funktion der Energie über die Frequenz zu einem bestimmten Zeitpunkt entspricht. Diese horizontalen Linien werden aneinandergereiht, um das vollständige Spektrogramm zu bilden. 2 spectrogram {x(t)} ≡ x̃m0 (ejωk ) (3.5) Für Sonogramme wird die STFT mit einer Fensterlänge von L = 2,56 Sekunden durchgeführt. Die Sprungweite von Fenster zu Fenster beträgt R = 1,25 Sekunden, was einer Überlappung der Fenster von knapp 50% entspricht. 3.1.2. Spektrale Leistungsdichte Um eine Aussage darüber zu bekommen, wie die Energie eines Signals über die Frequenz pro Zeitfenster verteilt ist, benutzt man für die FFT die Autokorrelation der Funktion, die in Gleichung 3.6 beschrieben ist. R xx (q) = X 0 x̃n0 x̃n−q (3.6) n Hiermit bekommt man durch die Fouriertransformation die sogenannte spektrale Leistungsdichte (engl. Power Spectral Density, PSD) des Signals. 1 Die Fast Fourier Transformation ist ein Algorithmus zur effizienten Berechnung der Werte einer diskreten Fourier-Transformation (DFT) 18 Sonogramme 3.1.3. Fensterfunktionen Bei der Berechnung muss ein Kompromiss zwischen der Genauigkeit der Auflösung beider Achsen gefunden werden. Wird das Zeitfenster für die Frequenztransformation vergrößert, verbessert sich die Auflösung der Frequenzachse, die der Zeitachse wird jedoch geringer und umgekehrt. Es muss daher ein Wert gewählt werden der beide Achsen für entsprechende Anforderungen genügend auflöst. Als Fensterfunktionen bieten sich glatte, also stetig differenzierbare Funktionen im Zeitbereich an, da unstetige Funktionen im Frequenzbereich zu einer Verbreiterung des Spektrums des Hauptmaximums führen. Für Sonogramme wird die Kosinusquadrat-Funktion wie in Abbildung 3.3 dargestellt als Fensterfunktion benutzt, welche ein sehr schmales Frequenzspektrum des Hauptmaximums hat, wenn man nur schwache Amplituden betrachtet. Abbildung 3.3.: Kosinusquadrat-Fensterfunktion 3.1.4. Beispiel In Abbildung 3.4 ist das Spektrogramm des Beispielereignisses zu sehen. Es wurde mit der frei verfügbaren Software Obspy2 erstellt. Es hat eine Überlappung von 80 % der Fensterlänge und benutzt ein Hanning Fenster. Die Samplingrate beträgt 100 Hz. 3.2. Sonogramme Für die Sonogrammberechnung wurden eine Vielzahl von Überlegungen auf die Spektrogramme angewendet, um sie für eine Mustererkennung zu optimieren. So wurde versucht das Wissen eines Seismologen in die Musterbildung mit einzubeziehen. Ähnliche seismische Ereignisse sollen hierbei ähnliche Muster produzieren. Durch die zweidimensionale Darstellung der Sonogramme können Methoden des maschinellen Sehens (engl. Computer Vision) angewendet werden. Ein entscheidendes Kriterium für die Detektion sind vorhandene Frequenzen und die zeitlichen Änderungen dieser, außerdem das zusammenhängende Auftreten von Welleneinsätzen. Folgende Überlegungen wurden für die Seismograme gemacht. 2 http://www.obspy.org 3.2 Sonogramme 19 Abbildung 3.4.: Spektrogramm des Beispielereignis des PISCO Datensatzes 3.2.1. Farbpalette Die aus dem Spektrogrammen in Abbildung 3.4 bekannte Farbpalette entspricht nicht dem auf Kontraste spezialisierten Erkennungsprozess des Menschen, da schwache und starke Energien zwar eine unterschiedliche Farbe haben aber einen ähnlichen Helligkeitswert aufweisen. Für die Sonogramme wurde eine Farbpalette entwickelt, die bessere Kontrastwerte hat, diese ist in Abbildung 3.5 zu sehen. Abbildung 3.5.: Sonogramm Farbpalette, hierbei wird den Werten 0 bis 11 eine Farbe zugeordnet. Die Berechnung der Sonogramme ist so skaliert, dass Werte über 11 nicht weiter relevant für eine Ereignisdetektion sind. Somit werden alle Werte größer 11 ebenfalls Schwarz gefärbt. 3.2.2. Skalierung Logarithmische Frequenzskalierung Wie bereits in Kapitel 3.1.2 erwähnt, wird für die Amplituden die spektrale Leistungsdichte (PSD) verwendet, welche schon einen erheblichen Beitrag zur besseren Ereignisdetektion bildet. Weiterhin ist es so, dass die menschliche Wahrnehmung es ermöglicht visuell zwischen niedrigen Frequenzen wie zum Beispiel 1 bis 2 Hertz sehr gut zu unterscheiden, zwischen höheren Frequenzen wie zum Beispiel von 10 und 11 Hertz kann jedoch fast nicht unterschieden werden. Deshalb wird die Frequenzachse logarithmisch skaliert. Für die rechnergestützte Mustererkennung wird davon ausgegangen, dass es Sinn macht, wenn möglich, die gleichen Präferenzen für die Signalverarbeitung zu setzen, wie auch für den Menschen. Die Aufteilung der Frequenzbänder geschieht hierbei in 13 Halboktav-Schritten. 20 Sonogramme Logarithmische Energieskalierung Für die Unterscheidung von verschiedenen Ereignissen ist es weniger wichtig, wenn diese bei hohen Amplituden unterschiedlich sind. Veränderungen bei niedrigen Amplituden sind jedoch sehr wichtig für eine Unterscheidung [19]. Deshalb wird auch für die Amplitude eine logarithmische Skalierung gewählt. Dies ermöglicht die Farbpalette aus Kapitel 3.2.1. Nach der logarithmischen Frequenz- und Energieskalierung und mit der entsprechenden Farbpalette entspricht unser Beispielsonogramm Abbildung 3.6. Abbildung 3.6.: Sonogramm erster Schritt, Spektrogramm mit logarithmischer Frequenzund Energieskalierung und spezieller Farbpalette. 3.2.3. Rausch-Anpassung Für eine bessere Ereignisdetektion ist es essentiell, das stationäre Rauschen zu unterdrücken. Das Rauschen wird in der logarithmischen Skalierung als gaussverteilt über die Energie angenommen. Eine solche Gauss-Verteilung ermöglicht es eine Beschreibung dieser über Erwartungswert und Standardabweichung zu erreichen. Erwartungswert und Standardabweichung werden hierbei durch eine Median-Statistik bestimmt. Die Bestimmung erfolgt pro Frequenzband. Für die Sonogramme wird nun pro Frequenzband der Erwartungswert subtrahiert [20]. In Abbildung 3.7 ist das Signal aus Abbildung 2.5 nach den Schritten STFT, Frequenzskalierung und Rausch-Anpassung mit der erklärten Farbpalette zu sehen. Abbildung 3.7.: Sonogramm zweiter Schritt, Rausch-Adaption. 3.2.4. Muting Ein weiterer Schritt in der Sonogrammberechnung ist das sogenannte Muting. Um einen besseren Kontrast gegenüber dem stationären Rauschen zu ermöglichen, werden Werte, die kleiner sind als die Summe aus der Standardabweichung und des Erwartungswertes des Rauschens, komplett in der Detektion ignoriert. Das Ergebnis ist in Abbildung 3.8 zu sehen. 3.3 Dimensionsreduktion 21 Abbildung 3.8.: Sonogramm dritter Schritt, Muting. 3.2.5. Anpassung der Standardabweichung Als letzter Schritt wird vom Signal noch die Standardabweichung des logarithmischen Rauschens subtrahiert, was das endgültige Sonogramm aus Abbildung 3.9 ergibt. Abbildung 3.9.: Sonogramm vierter Schritt, Anpassung der Standardabweichung. 3.2.6. Zusammenfassung Sei S(ω, m) die Amplitude der STFT für den Zeitblock m und die Frequenz ω und µ(ω) der Erwartungswert und σ(ω) die Standardabweichung für das Frequenzband ω, so lässt sich für die Sonogrammberechnung die Formel nach Gleichung 3.7 aufstellen. Für S(ω, m) > µ(ω) + σ(ω): Sonogramm(ω, m) = (int) log2 (S(ω, m) − µ(ω)) − (int) log2 (σ( f )) + 1 (3.7) 3.3. Dimensionsreduktion Die Darstellung mittels Sonogrammen bietet bereits eine gute Merkmalsreduktion aus einem Zeitsignal, was folgende Rechnung veranschaulicht. Hat man ein Zeitsignal mit einer Abtastfrequenz von 100 Hz so ergeben sich für 70 Sekunden Dauer die Dimensionen nach Gleichung 3.8 für ein Seismogramm und nach Gleichung 3.9 für ein Sonogramm. Dies entspricht bei 100 Hz Abtastrate einer Reduktion um knapp den Faktor zehn. 100 Hz · 70 s = 7000 (3.8) 70 s Zeitwerte · 13 Frequenzwerte = 728 1,25 s (3.9) Weiterhin variieren die Amplitudenwerte beider Darstellung sehr stark, man kann davon ausgehen, dass ein Seismogramm in der Amplitude eine Auflösung von 16 bit = 215 hat. Ein Sonogramm benötigt jedoch nur 12 Farbwerte. Somit sind Sonogramme bei der digitalen Speicherung sehr viel sparsamer, was sich auch auf Rechenzeiten auswirkt. 4. Principal Component Analysis Die Principal Component Analysis1 (PCA) [21] ist ein Verfahren der multivariaten Statistik. Durch die PCA ist es möglich multidimensionale Datensätze zu strukturieren, zu vereinfachen und zu veranschaulichen. Dies geschieht durch eine orthogonale lineare Transformation eines Datensatzes in ein neues Koordinatensystem, dessen Anordnung der Koordinatenachsen der Abnahme der Varianz der jeweiligen Koordinaten im Datensatz entspricht. Die Verteilung entlang der ersten Komponente (erste Hauptkomponente) entspricht nach der Transformation also der größten Varianz. Es wird in dieser Arbeit davon ausgegangen, dass eine größere Varianz einer größeren Information entspricht. Somit entspricht die erste Principal Component der Dimension mit dem größten Informationsgehalt. In Abbildung 4.1 ist ein zweidimensionaler Beispieldatensatz mit seinen ersten beiden Principal Components gezeigt. 1.5 1 Y 0.5 0 −0.5 Data PC1 PC2 −1 −1.5 −1.5 −1 −0.5 0 X 0.5 1 1.5 Abbildung 4.1.: Zweidimensionaler Beispieldatensatz mit den ersten beiden Principal Components PC1 und PC2 1 Deutsche Bezeichnung Hauptkomponentenanalyse, weitere Bezeichnungen sind Karhunen-LoèveTransformation oder Hoteling-Transformation 24 Principal Component Analysis 4.1. Berechnung Wir nehmen einen Datensatz mit M Beobachtungen, die jeweils die Dimension N haben an. Dieser Datensatz kann in einem N-dimensionalen Raum RN mit M Punkten dargestellt werden. Jede dieser Beobachtungen kann als Zufallsvariable X mit Länge N aufgefasst werden (entspricht einem Vektor mit N Dimensionen). Um nun eine Principal Component Analysis durchzuführen sind folgende Schritte nötig: 1. Normierung: Von allen Zufallsvariablen X i wird ihr Erwartungswert (umgangssprachlich Mittelwert) µi abgezogen um eine Zufallsvariable Φ i mit dem Erwartungswert von 0 zu bekommen. Φ i = X i − µi wobei µi = N 1X X ik N k=1 (4.1) 2. Matrixbildung: Es wird eine Matrix A mit Zeilenzahl M und der Spaltenzahl N gebildet, in der jede Zeile einer Zufallsvariablen entspricht. A = Φ1 Φ2 ... ΦM (4.2) 3. Kovarianzmatrix: Nun wird die Kovarianzmatrix C von A mit Zeilen- und Spaltenzahl M gebildet. Gleichung 4.3 zeigt die Berechnung der Kovarianz zwischen den zwei noch nicht Erwartungswert angepassten Zufallsvektoren X i und X j . Die Kovarianz gibt an, inwiefern sich zwei Zufallsvektoren in diesselbe Richtung entwickeln. Ist die Kovarianz positiv verhalten sich beide Zufallsvektoren ähnlich, ist sie negativ verhalten sie sich verschieden. Cov(X i , X j ) = (X i − µi )(X j − µ j ) N−1 (4.3) Die Kovarianzmatrix beschreibt nun für jedes Paar von zwei Zufallsvektoren die Kovarianz untereinander und ist nach Gleichung 4.4 gegeben. Cov(X 1 , X 1 ) · · · Cov(X 1 , X n ) 1 .. .. .. C = . . . N−1 Cov(X n , X 1 ) · · · Cov(X n , X n ) (4.4) In unserem Fall kann die Kovarianzmatrix durch Matrixmultiplikation nach Gleichung 4.5 gebildet werden, da unsere Daten bereits um den Erwartungswert normiert sind. C = 1 AAT N−1 (4.5) 4.2 Rücktransformation 25 4. Eigenvektormatrix: Als nächster Schritt werden die Eigenvektoren u i und Eigenwerte λi der Kovarianzmatrix mittels der Eigenwertzerlegung berechnet. Der Betrag der Eigenwerte ist dabei ein Maß für die Varianz des betreffenden Zufallsvektors. Die resultierenden Eigenvektoren werden absteigend nach ihren Eigenwerten zeilenweise in die Eigenvektormatrix U geschrieben (Gleichung 4.6). Somit ist in der obersten Reihe der Eigenvektor, entlang dessen die Daten die größte Varianz aufweisen. u 1 u2 U = .. . uM (4.6) 5. Transformation: Um nun unsere Daten sortiert nach den Hauptkomponenten zu erhalten, wird die Eigenvektormatrix mit der Datenmatrix nach Gleichung 4.7 multipliziert. A new = U A (4.7) 4.2. Rücktransformation Möchte man seine Daten wieder auf die ursprünglichen Achsen zurück transformieren so ist dies folgendermaßen möglich. Nach Gleichung 4.7 gilt auch Gleichung 4.8. A = A old = U −1 A new (4.8) Da die Matrix U aus den Einheitseigenvektoren der Kovarianzmatrix besteht und somit orthogonal ist, vereinfacht sich Gleichung 4.8 zu Gleichung 4.9. A = A old = U T A new (4.9) Benutzt man hierfür alle Principal Components sind die Daten nach Addition des ursprünglichen Erwartungswertes wieder hergestellt. Es ist nun jedoch auch möglich bestimmte Principal Components zu unterdrücken, indem man sie zu Null setzt. Dies kann nützlich sein, um die Daten zu komprimieren oder, wie in dieser Arbeit, um bestimmte Unterschiede der Eingaben zu filtern. Mit jeder unterdrückten Komponente geht Information verloren. Geht man wieder davon aus, dass eine größere Varianz einer größeren Informationsverteilung entspricht, geht also mit den letzten Komponenten nur sehr wenig Information verloren. Dieser Effekt kann sehr gut für eine Datenkompression beziehungsweise Dimensionsreduktion benutzt werden. 4.3. Optimierung Die Rechenzeit bei der Principal Component Analysis besteht hauptsächlich aus der Eigenwertzerlegung der Kovarianzmatrix. Diese hat eine Größe von N × N. Hat man nur wenige 26 Principal Component Analysis Beobachtungen M mit einer sehr hohen Dimensionszahl N sind N − M Eigenwerte der Kovarianzmatrix null. Die Eigenwertzerlegung lässt sich dann auf eine Kovarianzmatrix der Größe M × M anwenden. Man kann sich dies so vorstellen, hat man einen N-dimensionalen Vektorraum mit M Beobachtungen lässt sich dieser Vektorraum ohne Informationsverlust auf M Dimensionen reduzieren, da N − M Dimensionen redundant sind. Der Vektorraum wird also anstatt mit N, nur mit M Komponenten aufgespannt, ohne dass dabei Informationen verloren gehen. Mathematisch lässt sich dies folgendermaßen zeigen, es sei C = A A T die Kovarianzmatrix der Größe N × N und L = A T A die Kovarianzmatrix der Größe M × M. Die Eigenvektoren von L seien v i , i = 1, ..., M mit Dimension M und λi die entsprechenden Eigenwerte. Da L v i = λi v i gilt, gelten auch die Gleichungen 4.10, 4.11 und 4.12. A L v i = λi A v i (4.10) A A T A v i = λi A v i (4.11) C A v i = λi A v i (4.12) Setzt man nun u i = A v i so sind u i die M Eigenvektoren mit Dimension N und λi die Eigenwerte von C was zu beweisen war [22]. 4.4. Visualisierung Beide hier beschriebenen Visualisierungen können in Kapitel 8 gesehen werden. 4.4.1. Daten entlang der Principal Components Sind die Daten nun nach ihren Hauptkomponenten sortiert, kann ein anschauliches zweidimensionales oder dreidimensionales Diagramm mit den ersten Komponenten gezeichnet werden. Clusterstrukturen treten normalerweise deutlich in den ersten beiden Principal Components hervor, da ein Großteil der Gesamtvarianz bereits zu tragen kommt, so dass in einem zweidimensionalen Diagramm eine gute Abschätzung getroffen werden kann, wie gut sich die Daten clustern lassen. Je größer die Prozentzahl der Gesamtvarianz in den ersten beiden Principal Components ist, desto ähnlicher ist die Clusterung der tatsächlichen Clusterung im N-dimensionalen Raum. Für diese Überprüfung eignet sich der in Kapitel 4.4.2 beschriebene Scree-Plot. 4.4.2. Scree-Plot Beim Scree-Plot handelt es sich um ein Diagramm, in dem der Prozensatz der Gesamtvarianz pro Principal Component aufgezeichnet ist. Außerdem kann die kumulative Varianz mit zunehmender Principal Component Anzahl zusätzlich aufgezeigt werden. Möchte man 4.5 2D-PCA 27 eine bestimmte Prozentzahl der Varianz in den rücktransformierten Daten bekommen, kann man sehr schnell über den Scree-Plot bestimmen, wie viele Principal Components hierfür mindestens nötig sind. 4.5. 2D-PCA Außer der zuvor gezeigten Principal Component Analysis wurden noch weitere Versionen dieses Algorithmus, die in den letzten Jahren entwickelt wurden, analysiert. So wurden Abwandlungen der Principal Component Analysis entwickelt, die die Zweidimensionalität der Daten besser mit einbeziehen und Geschwindigkeitsvorteile erbringen können [23]. Diese wurden allerdings in einer weiteren Publikation mit dem älteren Verfahren der Line-Based oder Block-Based-PCA verglichen und es wurde entdeckt, dass es die gleichen Verfahren sind [24]. Deswegen werden diese Verfahren hier nicht weiter betrachtet. 5. Selbstorganisierende Karten Die selbstorganisierenden Karten (engl. Self-Organizing Maps, SOM) oder Kohonen-Karten, nach ihrem Erfinder Teuvo Kohonen [25] sind eine Art von künstlichen Neuronalen Netzen und eine Methode des unüberwachten Lernens. Die selbstorganisierende Karte erstellt eine diskretisierte, niedrigdimensionale (wir beschränken uns hier auf zweidimensionale) Repräsentation ihres Eingaberaumes. Es wird dabei versucht, ähnlich wie bei einem Gehirn, multidimensionale Daten auf eine planare Struktur zu überführen. Im Gehirn werden Reize mit ähnlichen Merkmalen auf nahe beieinander liegende Bereiche abgebildet, deshalb spricht man dort auch von einer Merkmalskarte. Dies ist auch das Prinzip der selbstorganisierenden Karten. Die Abbildung der Karte bildet die Merkmale der Eingaben topologieerhaltend ab, hierdurch bilden sich Cluster im zweidimensionalen Raum der Karte, die wiederum den Clustern im Eingaberaum entsprechen. Eine selbstorganisierende Karte vollzieht also eine Vektorquantisierung, wobei sie prototypische Repräsentationen der Daten findet. Außerdem wird eine Vektorprojektion, die eine nichtlineare topologieerhaltende Abbildung eines hochdimensionalen Eingaberaums auf einen normalerweise zweidimensionalen Ausgaberaum, die Karte, projiziert, somit wird eine Dimensionsreduktion vorgenommen. In dieser Arbeit wird die erstellte Karte immer im zweidimensionalen Raum erstellt. Theoretisch wären beliebige Dimensionen kleiner oder gleich dem Eingaberaum möglich, jedoch sind nur zwei beziehungsweise drei Dimensionen sinnvoll, um ein manuelles Betrachten der Karte zu ermöglichen. 5.1. Künstliche Neuronale Netze Neuronale Netze sollen hier nur kurz angesprochen werden, eine gute Übersicht zu Neuronalen Netzen bietet zum Beispiel Kriesel [26], für eine tiefergehende Abhandlung sei [27] oder [28] empfohlen. Künstliche Neuronale Netze wurden entwickelt, um die Funktionsweise von erfolgreich arbeitenden biologischen Systemen in einem Computer zu nutzen. Bei biologischen Systemen wird sehr große Rechenleistung nicht durch sehr schnelle Reaktionszeiten, sondern hauptsächlich durch massive Parallelisierung gewonnen. Es werden sehr viele einfache Nervenzellen verwendet, die lernfähig sind. Die Funktionen eines künstlichen Neuronalen Netzes werden nicht direkt einprogrammiert, sondern durch ein Training angelernt. Das Ziel eines Trainings ist es einem künstlichen Neuronalen Netz eine Generalisierungsfähigkeit zu verschaffen, so dass auch neue Beispiele, die nicht im Trainingssatz vorhanden waren, eingeordnet werden können. Eine Schwierigkeit hierbei ist, dass man das trainierte Wissen nicht direkt analysieren kann. Man erhält zu einer bestimmten Eingabe eine Ausgabe, jedoch sind die Gründe der Ausgabe in den Zwischenschichten des Neuronalen Netzes kodiert. 30 Selbstorganisierende Karten Ein künstliches Neuronales Netz (Abbildung 5.1) besteht aus mehreren Schichten, der Eingabeschicht, beliebig vielen versteckten Schichten und der Ausgabeschicht. In jeder Schicht befindet sich eine Anzahl von Neuronen, dies sind die Recheneinheiten des Netzes. Jedes Neuron erzeugt aus seiner Eingabe über eine Propagierungsfunktion eine Ausgabe. Alle Neuronen einer Schicht sind (bei einem vollverknüpften Netzwerk) mit allen Neuronen der darüber und darunterliegenden Schicht verbunden. Jede dieser Verbindungen besitzt eine Gewichtung, die bestimmt, wie stark oder schwach eine Verbindung Daten zwischen Neuronen überträgt. Alle Gewichtungen eines Netzes zusammen sind das Gedächtnis, welches das gesamte Wissen eines Neuronalen Netzes beherbergt. Abbildung 5.1.: Künstliches Neuronales Netz mit einer Eingabeschicht, einer versteckten Schicht und einer Ausgabeschicht. Beim Training werden Eingaben, deren gewollte Ausgabe bereits bekannt ist, in ein Netz gegeben und überprüft ob die Ausgabe des Netzes der gewünschten Ausgabe entspricht. Es gibt hierfür verschiedene Funktionen, die meist die Rückkopplung aus der Ausgabe des Netzes verknüpft mit der gewünschten Ausgabe verwenden, um die Anpassung der Gewichte vorzunehmen. Wird in ein trainiertes Netz nun eine neue Eingabe gegeben, wird angenommen, dass das Netz durch das vorige Training soweit generalisiert wurde, dass es auch für neue Eingaben eine korrekte Ausgabe produziert. 5.2. Selbstorganisierende Karten Vom Prinzip entspricht eine selbstorganisierende Karte einem künstlichen Neuronalen Netz mit einer Eingabeschicht und einer Ausgabeschicht die voll verknüpft sind. Jedoch ist die Absicht und Anordnung bei selbstorganisierenden Karten sehr verschieden von Neuronalen 5.3 Lernen bei selbstorganisierenden Karten 31 Netzen und sie kann daher eher als Weiterentwicklung gesehen werden. Bei einer selbstorganisieren Karte entspricht der Zustand des Netzes der Ausgabe. Dies ist eine weitere Annäherung an die Biologie, im Gehirn wird auch keine direkte Ausgabe geschaffen, vielmehr verändern sich die Verknüpfungen im Gehirn durch Erfahrung und bilden hierdurch Wissen. Somit entsteht bei den selbstorganisierenden Karten bereits das Ergebnis nach dem Training in der Ausgabeschicht. Zur Erklärung ist in Abbildung 5.2 ein Beispieldatensatz mit einer möglichen selbstorganisierenden Karte in Abbildung 5.3 gezeigt. Dabei sind die Cluster unterschiedliche markiert um eine Referenz zwischen den Abbildungen zu bekommen. Die selbstorganisierende Karte kennt beim Training noch keine Clusterzuordnungen. Prinzipiell sieht man, dass die Elemente aus dem Datensatz mit weniger Elementen, den Neuronen, auf der Karte dargestellt werden. Es ist außerdem zu sehen, dass auch auf der Karte Cluster gebildet werden. Jedes Element des Datensatzes wird als Vektor mit Dimension N angenommen, die Dimension hier ist N = 3. Jedes Neuron besitzt wiederum einen Vektor derselben Dimension N, den Gewichtsvektor. Wie diese Karte nun genau entsteht wird in den folgenden Kapiteln Schritt für Schritt erklärt. x3 5 0 0 1 2 x1 3 4 0 0.5 1 1.5 2.5 2 x2 3 3.5 4 Eins Zwei Drei Abbildung 5.2.: Beispieldatensatz mit dreidimensionalen Daten und drei eindeutig separierbaren Clustern 5.3. Lernen bei selbstorganisierenden Karten Das Lernen einer selbstorganisierenden Karte geschieht unüberwacht. Das heißt, dass es hier keine Rückkopplung gibt, die das Netz in eine Richtung weist. Die Karte erstellt selbstständig in den Daten erkennbare Cluster, ohne Wissen über die Zuordnung einzelner Cluster. So ist es möglich eine Art von Cluster in Daten zu entdecken, die zuvor noch nicht bekannt war. Beim Training wird jedes Element des zu untersuchenden Datensatzes nacheinander als Vektor eingespielt. Es wird nun das Gewinnerneuron gefunden, dessen Gewichtsvektor dem Vek- 32 Selbstorganisierende Karten Abbildung 5.3.: Beispiel einer möglichen selbstorganisierenden Karte des Beispieldatensatzes. tor des Elements im Eingaberaum mit der Dimension N am nächsten liegt. Für den Eingaberaum muss daher eine Funktion definiert sein, die eine Distanz zwischen zwei Vektoren berechnet, die Distanzfunktion. Daraufhin werden dann die Gewichtsvektoren des Gewinnerneurons und seiner Nachbarn auf der Karte nach einer später folgenden Formel angepasst, was dem Lernen entspricht. Beim Lernen gibt es zwei wichtige Zyklen, zum einen den inneren Zyklus, bei dem die Schritte Gewinner, Nachbarbestimmung und Adaption für jeden Eingabevektor durchgeführt werden, zum anderen den äußeren Zyklus, die Epoche t, bei dem die Schritte des inneren Zyklus mehrere Male wiederholt werden. Bei jeder Wiederholung spielt jedoch eine Funktion, die sogenannte Lernrate α(t), eine entscheidende Rolle (Gleichung 5.1 zeigt eine typische Lernrate). Die Lernrate gibt an inwieweit bei einem inneren Zyklus die Anpassung der Neuronen stattfindet. Sie sollte monoton fallend sein, um bei späteren Lernzyklen eine Entfaltung und damit eine Konvergenz der Karte zu ermöglichen. α(t) = 1 − t T Max (5.1) 5.3.1. Initialisierung Zu Beginn muss die Karte initialisiert werden, dabei muss zuerst die Anzahl der Neuronen, also die Größe der Karte festgelegt werden. Geht man von einer zweidimensionalen Karte aus, muss also Höhe und Breite bestimmt werden. Außerdem muss die Art der Gitterpunkte bestimmt werden, oft werden hier diskrete quadratische Punkte oder ein hexagonales Gitter gewählt, in dieser Arbeit wird ersteres verwendet. 5.3 Lernen bei selbstorganisierenden Karten 33 Jedes Neuron besitzt also einen Gewichtsvektor und eine Position auf der Karte. Jeder Gewichtsvektor wird mit der Dimension des Eingaberaums N initialisiert. Dies kann zufällig geschehen, es ist jedoch von Vorteil für die Geschwindigkeit der Konvergenz der Karte, wenn man eine Initialisierung nach den ersten beiden Principal Components der Eingabedaten vornimmt [29]. Diese Initialisierung wird in Kapitel 8 näher erklärt. Die zufällige Initialisierung wurde in den Anfängen der selbstorganisierenden Karten nur gewählt, da noch demonstriert werden sollte, dass sich die Karte vollkommen selbstständig entfaltet und keine gewichtete Initialisierung benötigt [30], also auch kein Vorwissen über den verwendeten Datensatz. 5.3.2. Gewinner Nun wird aus der Trainingsmenge, zufällig gleichverteilt, ein Trainingsvektor gewählt. Dieser wird über die Distanzfunktion (zum Beispiel euklidische Distanz) des Eingaberaums mit allen Gewichtsvektoren der Karte verglichen. Das Neuron, dass die kürzeste Distanz hat, wird als Gewinnerneuron markiert (winner-takes-it-all). 5.3.3. Nachbarbestimmung Als nächstes wird ein Faktor, der die Nachbarschaft auf der Karte zum Gewinnerneuron beschreibt, berechnet. Dabei können verschiedene zweidimensionale nach außen hin abnehmende Nachbarschaftsfunktionen wie zum Beispiel die Gaußglocke (Gleichung 5.2) gewählt werden. Durch die Nachbarschaftsfunktion entsteht die eigentliche Topologieerhaltung auf der Karte, da hierdurch nah beieinander liegende Neuronen zusammen adaptiert werden, also von denselben Eingaben lernen. Dies ist in Abbildung 5.4 veranschaulicht. h(r, t) = e − r2 2·σ2 (t) (5.2) Abbildung 5.4.: Veranschaulichung der Nachbarschaftsfunktion der selbstorganisierenden Karte. j0 ist das Gewinnerneuron. Mit zunehmender Distanz zu j0 (A → D) lernen die Neuronen weniger. Neuronen im Bereich D würden hier überhaupt nicht mehr lernen [4]. 34 Selbstorganisierende Karten 5.3.4. Adaption Am Ende jedes inneren Zyklus geschieht die eigentliche Adaption der Neuronen. Hierbei wird nach Gleichung 5.3 jedes Neuron der Karte mi ∈ Rn an den im Moment eingespielten Eingabevektor x ∈ Rn angeglichen. Dabei ist r die Distanz des momentan betrachteten Neurons mi (t) zu dem Gewinnerneuron auf der Karte und t die jeweilige Epoche. mi (t + 1) = mi (t) + α(t) h(r, t) (x(t) − mi (t)) (5.3) 5.3.5. Zusammenfassung Der gesamte Lernprozess ist noch einmal in Abbildung 5.5 zusammengefasst. Es ist also ein Algorithmus gegeben, der noch einige Parameter zur Variation offen lässt. Die Eigenschaften einer selbstorganisierenden Karte können sehr stark durch Variationen der Größe der Karte (auch das Seitenverhältnis), Nachbarschaftsfunktion und Lernrate beeinflusst werden. x2 x2 9 2 7 7 3 6 4 5 9 7 8 3 4 5 7 8 1 4 8 2 2 x3 5 1 1 9 3 7 1 4 x1 6 x3 5 8 2 3 6 x3 1 9 2 xi 3 6 4 x2 x1 5 8 1 2 3 6 4 5 6 9 7 8 9 x1 Abbildung 5.5.: Training einer selbstorganisierenden Karte mit neun Neuronen [4]. Oben ist der Eingaberaum gezeigt, unten der Raum der Karte. In der ersten Spalte sind alle Gewichtsvektoren zufällig im Eingaberaum verteilt. In der zweiten Spalte wird nun eine Eingabe x i eingegeben. Neuron Nummer 6 wird als Gewinnerneuron bestimmt, da dessen Gewichtsvektor im Eingaberaum die kleinste Distanz zum Eingabevektor hat. Die Neuronen 3, 5 und 9 werden durch die Nachbarschaft auf der Karte bestimmt. Die Nachbarschaftsfunktion ist hier so gewählt, dass nur direkte Nachbarn eines Gewinnerneurons adaptiert werden. In der dritten Spalte sind die Gewichtsvektoren der Neuronen 3, 5, 6 und 9 nun angepasst, wobei das Gewinnerneuron 6 am stärksten angepasst wurde. 5.4. Konvergenz Beobachtet man die Neuronen im Eingaberaum während des Trainings, kann eine sogenannte Entfaltung der Karte im Eingaberaum beobachtet werden. Dies ist auf die abnehmende 5.5 Visualisierung 35 Adaption mit fortschreitenden Epochen, also auf die Lernrate α zurückzuführen. Zu Beginn werden die Gewichtsvektoren der Neuronen im Eingaberaum noch sehr stark in Richtung der Eingaben adaptiert. In späteren Epochen schwächer. So ziehen sich zu Beginn die Gewichtsvektoren aller Neuronen im Eingaberaum sehr stark zu einer Eingabe und bilden dort eine dichte Punktwolke. In späteren Epochen vergrößert sich diese Punktwolke bis zu einer Art Stagnation, bei dem die Gewichtsvektoren sich nahezu nicht mehr adaptieren. In diesem Zustand ist die Karte konvergiert. 5.5. Visualisierung Es gibt eine Vielzahl von Möglichkeiten eine selbstorganisierende Karte darzustellen. Zum einen kann die Dimensionszahl des Ausgaberaumes frei gewählt werden. Soll die Karte jedoch von Menschen betrachtet werden, sind ein bis drei Dimensionen am sinnvollsten. Außerdem kann die Struktur der Karte frei gewählt werden. Die zwei häufigsten Strukturen sind hier das kartesische oder das hexagonale Gitter. Oft genutzt wird auch die sogenannte U-Matrix, in der die einzelnen Abstände der Neuronen im Eingaberaum auch auf der Karte visualisiert werden [31]. Den Visualisierungen sind keine Grenzen gesetzt, so gibt es zum Beispiel auch Strukturen wie die Metro Map in Anlehnung an eine Straßenbahnkarte [32]. Um der starren Verteilung der selbstorganisierenden Karte zu entgehen, können die Gewichtsvektoren auch in den Raum der ersten beiden Principal Components transformiert werden. Hier kann dann genau gesehen werden, wieweit zwei Nachbarn der Karte auseinanderliegen und ob sich noch weitere Cluster abzeichnen, die in der festen Anordnung nicht zum tragen kamen. 5.6. Label Die nun fertig trainierte Karte enthält zwar Cluster, man hat aber keine Informationen über die Zuordnung zu einzelnen Klassen des Eingaberaumes, falls diese existieren. Ein erfahrener Betrachter wird die Cluster den Klassen zuordnen können, jedoch kann hier das Labeling benutzt werden, damit dies automatisch gemacht wird. Beim Labeling wird davon ausgegangen, dass die Klassenzugehörigkeiten des Trainingsdatensatzes bekannt sind. Es gibt nun mehrere Methoden: • Während des Trainings kann für jede Klasse zu jedem Neuron ein Zähler hinzugefügt werden, wie oft dieses Neuron bei dieser Klasse das Gewinnerneuron war. • Nach dem Training kann der gleiche Trainingsdatensatz noch einmal auf die Karte aufgespielt werden. Dabei wird wieder für jede Trainingseingabe überprüft welches Neuron das Gewinnerneuron ist und wieder ein Zähler für jedes Neuron für jede Art von Klasse hochgezählt. Ist der Trainingsdatensatz nun durchgespielt, wird für jedes Neuron überprüft, ob es eine eindeutige Zuordnung zu einer Klasse gibt. Ist ein Klassenname signifikant öfter vorgekommen als alle anderen, kann dieser Klassenname dem Neuron zugeteilt werden. Sind mehrere Klassen ähnlich oft für dieses Neuron angeklungen, wird dies speziell markiert (discarded), 36 Selbstorganisierende Karten genauso wenn zu wenige Eingaben für ein Neuron angeklungen sind, um dies zuzuordnen (not assigned). 5.7. Anwendung Die fertig trainierte Karte bietet nun mehrere Anwendungen. Durch die Nachbarschaftfunktion wird eine Karte erzeugt, in der ähnliche Eingaben in denselben Regionen auf der Karte angezeigt werden. Man erkennt in der erstellten Karte die quantitative Verteilung verschiedener Cluster. Sind auf der Karte mehr Repräsentanten eines bestimmten Clustertyps, lässt dies auch auf mehr Eingaben aus diesem Cluster schließen. Da oft sehr große Datensätze vorhanden sind, die nicht schnell zu überblicken sind, bietet die Karte hier eine gute Übersicht. Außerdem kann die Karte für eine Klassifikation von neuen Daten verwendet werden. 5.8. Analytische Vergleichsmethoden Ändert man die Parameter einer selbstorganisierenden Karte, ist es schwer festzustellen, inwiefern sich die Karte nun dahingehend verbessert hat, was man erreichen wollte. Dies ist in Abbildung 5.6 gezeigt. Hier wurde versucht das Chainlink-Problem, das nur durch Topologiebrüche auf eine Ebene projeziert werden kann, in einer selbstorganisierenden Karte darzustellen [33]. Es ist klar zu sehen, dass für zwei Karten sehr verschiedene Neuronen an den Bruchpunkten der beiden Kettenglieder sind. Solche Probleme sind nur schwer zu erkennen. Die bekannteste Methode für die Qualität einer Karte ist der Quantisierungsfehler. Dieser berechnet den durchschnittlichen Abstand der Eingabevektoren zu den Clusterzentren auf der Karte. Das Problem hierbei ist, dass die Größe der Karte nicht mit in Betracht gezogen wird. Vergrößert man die Karte wird der Quantisierungsfehler automatisch kleiner, da es mehr Clusterzentren gibt, die dementsprechend näher an den Eingabevektoren liegen. Andere Methoden wie zum Beispiel das Topographische Produkt berechnen, inwieweit die Karte eine Topographie der Eingabevektoren beibehält. Alle Methoden haben jedoch ihre Schwächen, eine umfassendere Übersicht findet sich in [34]. Praktisch ist es, die Karte mit einem Testdatensatz zu überprüfen. Hierbei wird ein neuer Datensatz auf die Karte aufgespielt und für jedes Ereignis daraus das Gewinnerneuron der Karte bestimmt. Das Ereignis aus dem Testdatensatz wird dann mit der Klasse des Gewinnerneurons markiert. Aus allen Ereignissen wird nun jeweils eine Statistik erstellt, die dieselben Zuordnungen macht wie das Labeling: • Wieviele Ereignisse wurden richtig markiert • Wieviele wurden nicht markiert: – Da kein Gewinnerneuron gefunden werden konnte, das eine genügend geringe Distanz hat (not assigned) – Da mehrere Neuronen verschiedener Klassen eine ähnlich kurze Distanz hatten (discarded) 5.8 Analytische Vergleichsmethoden 37 An der Erfolgsquote der richtigen Klassifizierungen kann die Qualität der Karte gemessen werden. Hierbei muss beachtet werden, dass für mehrere Durchläufe oder einen anderen Testdatensatz andere Ergebnisse erzielt werden können. Es sollte daher ein möglichst allgemeiner Testdatensatz verwendet werden. Abbildung 5.6.: Verschiebungen von Clustern bei selbstorganisierenden Karten. Hier das Chainlink-Problem bei dem versucht wird, zwei mehrdimensionale Ringe im zweidimensionalen darzustellen [33]. 6. Datensatz PISCO’94 Um nun die zuvor vorgestellten Verfahren an seismischen Signalen zu testen, wird der Datensatz PISCO1 benutzt. PISCO war ein Teilprojekt zu Deformationsprozessen in den Anden. Dabei wurden vom 02.02.1994 bis 11.05.1994 mit bis zu 32 Stationen seismologische Daten auf einer Fläche von circa 200 mal 200 km aufgezeichnet. Diese Daten wurden im Rahmen des GEOFON Projekts des Geoforschungszentrums Potsdam im Internet veröffentlicht [35]. In einer Vorgängerarbeit am Institut für Geophysik der Universität Stuttgart wurde bereits dieser Datensatz verwendet [4]. In dieser Vorgängerarbeit können noch weitere geophysikalische Hintergrundinformationen zu dem Datensatz nachgelesen werden. Außerdem wurde dort ein Teil der Daten bereits in Klassen eingeteilt. Diese Klassen sollen auch hier verwendet werden. Das Aufzeichnungsgebiet und die grobe Klasseneinteilung sind in Abbildung 6.1 gezeigt. Es gab viele Gründe, um wieder diesen Datensatz zu analysieren. Zum einen ist der Datensatz kostenlos verfüg- und verwendbar. Ereignisse dieses Datensatzes wurden bereits extrahiert [36], in Cluster eingeteilt und erste selbstorganisierende Karten damit erstellt [4]. Außerdem stehen die Messgeräte in einer Region mit sehr geringer Zivilisationsdichte, trockenem Klima und karger Vegetation, weshalb die seismischen Ereignisse in diesem Gebiet mit sehr wenig Rauschen überlagert sind und für die Clusteranalyse sehr gut zu verwenden sind. Weiterhin gibt es pro Tag mehrere Ereignisse, was eine Vielzahl von Trainings- und Testdaten liefert. 6.1. Beschreibung Eine kurze Beschreibung der Prozesse in den Anden soll auch hier gegeben werden. In Abbildung 6.2 sind die ozeanischen Platten und Kontinentalplatten der Erde mit zugehöriger Bewegungsrichtungen in Südamerika gezeigt. Hierbei sieht man deutlich, dass sich die ozeanische Nazcaplatte auf die kontinentale Südamerikaplatte zubewegt. Hierdurch entstanden auch die Anden (und werden weiterhin geformt). Da diese ozeanische Platte zum Großteil aus vulkanischem Basalt besteht und somit dichter und schwerer ist als die kontinentale Platte, wird diese subduziert, das heißt sie wird unter die kontinentale Platte geschoben, siehe Abbildung 6.3. Bei diesem Prozess sind seismische Ereignisse sehr häufig und die Zone, in der diese auftreten, nennt sich Benioff-Zone. 1 Proyecto de Investigación Sismológica de la Cordillera Occidental - Projekt zur seismologischen Untersuchung der westlichen Cordillere 40 Datensatz PISCO’94 Abbildung 6.1.: Links die Position des Aufzeichnungsgebietes in Südamerika. Rechts eine Vergrößerung des Gebietes mit vier seismischen Stationen in grün und einer groben Umrandung der Regionen für die einzelnen Klassen in gelb. [4]. Abbildung 6.2.: Ozeanische Platten und Kontinentalplatten mit Bewegungsrichtungen in Südamerika 6.2 Klasseneinteilung 41 Abbildung 6.3.: Subduktionsprozess, die abtauchende Platte schmilzt ab einer gewissen Tiefe. Durch das Abtauschen der ozeanischen Platte wird auch viel Wasser mit in die Tiefe gezogen. Dieses wird im Untergrund stark erhitzt, wodurch es einen Druck nach oben gibt. Dadurch steigt wiederum Magma auf und führt zu einem typischen magmatischen Bogen [37]. 6.2. Klasseneinteilung Insgesamt sind in dem PISCO’94-Datensatz 5343 Ereignisse in einem sogenannten Bulletin, einem Katalog mit den Ereignissen festgehalten. In der Aufzeichnungszeit fanden noch weit mehr Ereignisse statt (alle 5 bis 10 Minuten), die jedoch nicht zur Verfügung standen. In der Vorgängerarbeit wurde eine statistische Analyse des Datensatzes gemacht, dabei wurden Herdorte, Herdzeiten und Magnituden untersucht. Dabei gibt es noch eine Besonderheit im Registriergebiet zu beachten, die Kupfermine mit der größten Gesamtproduktion der Welt, die Chuquicamata-Mine. Diese Mine produziert sehr viele künstliche Ereignisse auf den Seismogrammen durch Sprengungen in einer Tiefe von circa 6 bis 14 km. Von den Magnituden, die hierbei bestimmt wurden, ist die minimale 0,5 ML und die maximale 4,9 ML . Auf Basis dieser Analyse wurden in der Vorgängerarbeit fünf Klassen ausgewählt, die zusammen mit ihrer räumlichen Verteilung in Abbildung 6.4 zu sehen sind. Außerdem ist dort die Position der Station A04, die in dieser Arbeit verwendet wird, eingetragen. Weiterhin sind in dieser Abbildung die Positionen aller katalogisierten Ereignisse und deren Tiefe eingetragen. Der Prozess der Subduktion begründet die nach Osten hin tieferen Ereignisse der Deep-Klasse. • Crust, Krustenbeben, sehr geringe Tiefe, südöstlich der Main-Beben (Tiefe ca. 50 km) • Main, mitteltiefe Beben im Zentrum des Untersuchungsgebietes (Tiefe ca. 100 km) • North, gleiche Charakteristik wie Main, jedoch am nördlichen Rand des Untersu- 42 Datensatz PISCO’94 chungsgebietes, um eine reine Unterscheidung nach Epizentrum zu haben (Tiefe ca. 100 km) • Deep, tiefe Beben, am östlichen Rand des Untersuchungsgebietes (Tiefe ca. 200 km) • Quarry, Minensprengungen, ohne S-Einsatz der Welle und sehr flach (Tiefe ca. 10 km) Abbildung 6.4.: Untersuchungsgebiet mit den Aufzeichnungsstationen A03 und A04 in Blau, den Regionen für die fünf Cluster in Grün und der Anzahl der Ereignisse für jeden Rasterpunkt. Hierbei beschreibt die rötliche Tönung die Tiefe der Ereignisse, je dunkler desto tiefer [4]. Typische Sonogramme dieser fünf Klassen sind in Abbildung 6.5 gezeigt. Man kann sehr schön sehen, dass alle Ereignistypen außer den Minensprengungen einen starken P- und SEinsatz besitzen. Dieser Unterschied von Sprengungen zu Erdbeben wurde bereits im Kapitel 2 erklärt. Außerdem sieht man eine deutliche Energiezunahme der tiefen Frequenzen bei der Sprengung nach dem Ersteinsatz, während bei den Erdbeben die tiefen Frequenzen nach den P- und S-Einsätzen zuerst einmal abnehmen. Innerhalb der Ereignistypen gibt es einen großen Unterschied zwischen der S-P-Laufzeitdifferenz. So haben Krustenbeben erwartungsgemäß die kürzeste Laufzeitdifferenz. Main-Ereignisse haben eine etwas kürzere Laufzeitdifferenz als die North-Ereignisse, was sich rein auf die Epizentraldistanz zurückführen lässt. 6.2 Klasseneinteilung 43 Die weiteste Laufzeitdifferenz haben die Deep-Ereignisse, da sie zum einen eine große Epizentraldistanz haben und zum anderen die größte Tiefe vorweisen. Hier zeigen sich jedoch auch schon die ersten Probleme, vergleicht man ein südliches Crust Ereignis mit einem Main Ereignis, das näher an der Station A04 ist, kann es vorkommen, dass die S-P-Laufzeit exakt dieselbe ist, was zu einer Erschwerung der Clusterung führen wird. Außerdem ist die Gesamtereignislänge ein entscheidendes Kriterium, wobei in den Beispielen die North- und Deep-Ereignisse die längste Gesamtereignislänge aufweisen. Ein weiteres wichtiges Unterscheidungskriterium sind die Frequenzanteile, man sieht auch hier einen typischen Effekt, dass bei tiefen Beben die hohen Frequenzen stark gedämpft sind. Abbildung 6.5.: Sonogramme und Seismogramme der einzelnen Klassen mit Angabe zu Epizentraldistanz (EpiDist), Tiefe (Depth) jeweils in Kilometern und Magnitude (Magn), welche eine Lokalmagnitude ist [4]. Bei einem Datensatz aus einer Feldmessung kann man nicht von einer Gleichverteilung der Ereignisse der einzelnen Klassen ausgehen. So ist auch hier die Verteilung der auftretenden Ereignisse sehr unterschiedlich. Für diese Arbeit wurden die 308 vorhandenen Ereignisse der Station A04 benutzt, die bereits klassifiziert waren. Die Verteilung auf die einzelnen Klassen ist in Tabelle 6.1 dargestellt, dazu noch die minimale und maximale Magnitude pro Klasse soweit diese bestimmt wurden. Es wurde sowohl versucht eine große Anzahl an Ereignissen zu verwenden als auch eine Gleichverteilung der Klassen zu erreichen, was aber nicht möglich war, da die Häufigkeitsverteilung im Datensatz zu unterschiedlich ist. 44 Datensatz PISCO’94 Klasse Anzahl Crust 15 Main 179 North 23 Deep 81 Quarry 10 Minimale Amplitude 0,5 1,1 2,4 2,5 1,4 Maximale Amplitude 4,1 4,0 4,2 4,9 2,1 Tabelle 6.1.: Anzahl der Ereignisse pro Klasse 7. Spezifische Merkmalsextraktion Um nun Cluster der seismischen Ereignisse mittels eines Algorithmus zu finden, müssen möglichst die Merkmale der Ereignisse extrahiert werden, die gerade die Unterschiede der einzelnen Cluster ausmachen. Außerdem können schon allein wegen der zu langen Berechnungszeit bei den selbstorganisierenden Karten oder der Principal Component Analysis nicht die kompletten Ereignisse als Zeit-Amplitudensignal im Computer bearbeitet werden. Deshalb wurden bereits die in Kapitel 3 vorgestellten Sonogramme als erste Merkmalsextraktion verwendet. An den Sonogrammen werden noch weitere Modifikationen getestet. Wichtig war hierbei immer, dass die Merkmalsextraktion soviel Informationen des eigentlichen Signals beinhaltet, um für den Menschen erkennbare Muster zu erstellen. Dies ist sehr hilfreich, wenn man zum Beispiel eine selbstorganisierende Karte beurteilen möchte, um zu sehen, welche Informationen hinter den Neuronen eigentlich stecken. 7.1. Trainings- und Testdatensatz Für die Beurteilung der Algorithmen wurden die in Kapitel 6 beschriebenen 308 Ereignisse der Station A04 benutzt. Die 308 Ereignisse wurden in der Vorgängerarbeit bereits in zwei Datensätze aufgeteilt, so dass jeder der Datensätze möglichst die gleiche Anzahl an Beben der jeweiligen Klassen hat. Dabei werden 154 Ereignisse benutzt um die selbstorganisierende Karte zu trainieren und 154 um die trainierte Karte später zu testen. Die Anzahl der Ereignisse pro Klasse und Datensatz ist in Tabelle 7.1 gezeigt. Leider konnte keine gleichmäßige Verteilung über die Klassen erreicht werden, da bestimmte Bebentypen zu selten auftreten. Im praktischen Einsatz hätte man eine weitaus größere Anzahl an Testereignissen was die maschinelle Auswertung erst lohnenswert machen würde. Die Parameter der selbstorganisierenden Karte für die folgenden Tests und auch die Ergebnisse in Kapitel 8 sind die in Tabelle 7.2 angegebenen, wenn nicht anders vermerkt. Die Nachbarschaftsfunktion und Lernrate wurden aus der Vorgängerarbeit übernommen. Das Seitenverhältnis der selbstorganisierenden Karte wurde √wie das Verhältnis der Wurzeln der Eigenwerte der ersten beiden Principal Components ( √λλ1 ) gewählt. Dies wird in [38] be2 ziehungsweise [39] als vorteilhaft beschrieben. Es liegt Nahe, da die Eigenwerte der ersten Trainingsdatensatz Klassifikationsdatensatz CRUST 8 7 MAIN 89 90 NORTH 11 12 DEEP 41 40 QUARRY 5 5 Tabelle 7.1.: Zahl der Ereignisse im Trainings- und Klassifikationsdatensatz. Die Aufteilung des Datensatzes erfolgt zufällig, allerdings mit nachfolgender Balancekorrektur bezüglich der Klassenaufteilung. 46 Spezifische Merkmalsextraktion Parameter Epochen Kartenbreite Kartenhöhe Initialisierung Nachbarschaftsfunktion Lernrate Ereignislänge Normalisierung Distanzfunktion Wert 20 10 5 Zufällig Kegel Linear sinkend 70 Sekunden GlobalMean Euklidisch Tabelle 7.2.: Parameter der selbstorganisierenden Karte für Tests. beiden Principal Components eine wichtige Rolle beim Training der Karte spielen. Bei dem hier vorliegenden Datensatz ergibt sich somit ein Verhältnis von circa 2,5. Für die Karte wurde aus Visualisierungsgründen am Ende ein Verhältnis von 2 gewählt. In Kapitel 7.3 wird die Amplitudennormierung, in Kapitel 7.4 die Länge der Ereignisse und in Kapitel 7.6 die Distanzfunktionen analysiert. Es ist zu beachten, dass die Abbildungen in Kapitel 7.4 und 7.6 noch mit Ereignissen ohne Amplitudennormierung erstellt wurden, da hierbei noch nicht fest stand, welche Amplitudennormierung benutzt werden wird. 7.2. Messverfahren für Qualität der Clusterung Bevor man beginnt Merkmale für das Clustering zu definieren, braucht man geeignete Messverfahren um die Qualität der eigentlichen Clusterung festzustellen. In Kapitel 5 wurde bereits der Quantisierungsfehler und die Klassifikation als Messverfahren für die selbstorganisierenden Karten vorgestellt. Da jedoch die selbstorganisierende Karte zufällig initialisiert wird und auch die Reihenfolge der Ereignisse zufällig erfolgen sollte, ist eine Karte bei jedem Training leicht verschieden. Es wurde deshalb hier vorgezogen ein Qualitätsmessverfahren, dass direkt die Qualität der Clusterung unabhängig von einem Clusteralgorithmus misst, zu verwenden. 7.2.1. Abstand zu Cluster Zu Beginn der Arbeit war noch kein allgemein verbreitetes Verfahren für eine Qualitätsmessung bekannt und es wurde selbst eines entwickelt, welches hier vereinfacht als Abstand zu Cluster bezeichnet wird. Dieses Verfahren wird hier kurz beschrieben. Es sei C f der aktuelle Cluster der gesamten Clustermenge C = C1 , . . . , Ck mit 1 ≤ f ≤ k, also C f ∈ C. Es wird nun für den Cluster C f das Clusterzentrum z f nach Gleichung 7.1 berechnet. P zf = p∈C f |C f | p (7.1) 7.2 Messverfahren für Qualität der Clusterung 47 Nun wird für jeden Cluster Ci die durchschnittliche Distanz ai seiner Elemente zum aktuellen Clusterzentrum z f berechnet, Gleichung 7.2. P p∈Ci ai = dist(z f , p) |Ci | (7.2) Danach wird die Summe der Differenzen der durchschnittlichen Clusterabstände ai zu den durchschnittlichen Abständen des aktuellen Clusters a f berechnet, Gleichung 7.3. k P s= ai − a f i=0 (7.3) k−1 Der Wert s wird nun auf einen Maximalwert von 10 normiert, Gleichung 7.4. snorm = 10 · s maxDistance (7.4) Die snorm Werte werden für jeden Cluster berechnet und der Durschschnitt wird gebildet. Dies ist in Abbildung 7.7 für die verschiedenen Zeitlängen der Ereignisse gezeigt. Die Abstände aller Ereignisse zu allen fünf Clusterzentren sind in Abbildung 7.1 zu sehen. 7.2.2. Silhouettenkoeffizient Im Laufe der Arbeit wurde ein Verfahren gefunden, was bereits in der Clusteranalyse verwendet wird, der Silhouettenkoeffizient [40]. Er unterscheidet sich vom Abstand der Cluster Qualitätsverfahren nur leicht, indem zum Beispiel nicht die Abstände zu Clusterzentren berechnet werden, sondern die durchschnittlichen Abstände zu allen Elementen eines Clusters. Außerdem ist die Normierung hier nicht von 0 bis 10 sondern von -1 bis 1. Wobei bei beiden Verfahren ein höherer Wert für eine bessere Clusterung steht. Die Ähnlichkeit beider Verfahren kann im Vergleich der Abbildungen 7.12 und 7.13 gesehen werden. Die Berechnung des Silhouettenkoeffizienten wird im folgenden gezeigt. Es sei o ein Objekt aus O und C f der dazugehörige Cluster der gesamten Clustermenge C = C1 , . . . , Ck mit 1 ≤ f ≤ k, also o ∈ C f ∈ C. Es wird nun für das Element o der durchschnittliche Abstand a(o) zu seinem Cluster C f nach Gleichung 7.5 berechnet. P a(o) = p∈C f dist(o, p) |C f | (7.5) Außerdem wird der Abstand zu dem nächstliegenden Cluster Cg nach Gleichung 7.6 berechnet. P b(o) = min Cg ∈C,Cg ,C f p∈Cg dist(o, p) |Cg | (7.6) 48 Spezifische Merkmalsextraktion Abbildung 7.1.: Distanzen aller Ereignisse zu allen Clustern. Pro Zeile werden die Distanzen aller Ereignisse einer Klasse zu einem bestimmten Clusterzentrum angezeigt. Als Beispiel zeigt die Zeile North to Quarry die Abstände aller Quarry Ereignisse zum North Clusterzentrum. Jeder Punkt in dieser Zeile steht dabei für ein Quarry Ereignis. 7.3 Amplitudennormierung 49 Nun berechnet sich die Silhouette s(o) des Objektes o ∈ C f nach Gleichung 7.7. Dabei kann s Werte von −1 bis 1 annehmen. Wobei ein höherer Wert für eine bessere Clusterung spricht. ( s(o) = für |C f | = 1 sonst 0 b(o)−a(o) max{a(o),b(o)} (7.7) Berechnet man den Durchschnitt aller Silhouetten eines Clusters Ci bekommt man die sogenannte Silhouettenweite s(Ci ) nach Gleichung 7.8. P s(Ci ) = s(p) |Ci | p∈Ci (7.8) Für den Silhouetten-Koeffizienten wird nun der Durchschnitt aller Silhouettenweiten nach Gleichung 7.9 berechnet. P s(Ci ) = Ci ∈C P p∈Ci s(p) |O| (7.9) 7.2.3. Visualisierung mittels Principal Component Analysis Außerdem bietet die Principal Component Analysis eine gute Möglichkeit einem menschlichen Betrachter einen Überblick über die Qualität der Clusterung zu geben. Jedoch ist dies mit Vorsicht zu genießen. Da man für die Analyse mit den Principal Components nur maximal die drei Dimensionen mit der größten Varianz verwendet, gehen Informationen verloren. Es kann sein, dass mehrere Principal Components mit kleinerer Varianz zusammen erst die eigentliche Clusterung verbessern. 7.3. Amplitudennormierung Ein großes Problem bei der bisherigen Analyse mit selbstorganierenden Karten war die klare Dominanz der unterschiedlichen Amplituden zwischen den Seismogrammen. So kann es sein, dass Ereignisse derselben Klasse diesselbe Magnitude aufweisen aber die Entfernung stark variiert. Da die Magnitude bereits die Entfernung mit einberechnet, haben zwei ähnliche Beben mit unterschiedlicher Entfernung aber gleicher Magnitude, unterschiedliche Amplituden. Viele Unterschiede in den Amplituden werden bereits durch die Rauschadaption der Sonogramme korrigiert. Als Beispiel sind in Abbildung 7.2 zwei Ereignisse der Lokalmagnitude ML = 1, 6 ohne Amplitudennormierung gezeigt. Mit der entwickelten Amplitudennormierung, die die Erwartungswerte der einzelnen Sonogramme an den globalen Erwartungswert des Datensatzes anpasst, sieht man die Sonogramme in Abbildung 7.3. Für die Berechnung der Amplitudennormierung wird angenommen, dass man keine Informationen über die Klassenzugehörigkeit der einzelnen Ereignisse hat. Es wurden mehrere Verfahren entwickelt, die sich am Erwartungswert aller Ereignisse oder an den maximalen Amplituden orientieren. Am Ende hat sich als bestes Verfahren, auch wegen dem geringsten Informationsverlust, das hier genannte Verfahren GlobalMean herausgestellt. Bei dieser Methode wird aus allen Sonogrammen der globale Erwartungswert berechnet. Danach wird von 50 Spezifische Merkmalsextraktion jedem Sonogramm die Differenz seines Erwartungswertes zum globalen von jedem Pixel abgezogen. Hierdurch erhalten alle Sonogramme denselben Erwartungswert. Das Resultat auf 5 Sonogramme jeder Klasse, also 25 Sonogramme mit Amplitudennormierung ist in Abbildung 7.4 zu sehen. Abbildung 7.2.: 2 Ereignisse der Klasse Main mit jeweils Lokalmagnitude ML = 1, 6, nicht amplitudennormiert Abbildung 7.3.: 2 Ereignisse der Klasse Main mit jeweils Lokalmagnitude ML = 1, 6, amplitudennormiert Abbildung 7.4.: 5 Ereignisse jeder Klasse amplitudennormiert 7.4. Länge der Ereignisse und spezifische Rauschadaption Eine sehr wichtige Entscheidung ist die Wahl eines geeigneten Zeitfensters für die Ereignisse. In der Vorgängerarbeit wurde ein Zeitfenster von 80 Sekunden benutzt ohne analytische Tests zu machen. Es wurde vor allem durch die Länge der Ereignisse im Datensatz begründet, da man, durch eine maximale Hypozentraldistanz von 400 km, einen S-PLaufzeitunterschied von 40 Sekunden mit dem Geschwindigkeitsmodell des vorliegenden Datensatzes bekommt [4]. Da man das Abklingen des S-Einsatzes noch zum Ereignis zählt wurde in der Vorgängerarbeit von einer Mindestlänge von 50 Sekunden ausgegangen. Um nun noch Informationen der Sonogramme aus der Coda, also dem Teil nach dem S-Einsatz der Ereignisse zu bekommen, wurden dort die 80 Sekunden gewählt. Wenn man sich die Berechnung der Sonogramme noch einmal veranschaulicht fällt auf, dass durch unterschiedliche Ereignislängen auch komplett andere Rauschbedingungen entstehen. Dies ist in Abbildung 7.5 für zwei identische Beben gezeigt. Allerdings muss hier beachtet werden, dass bei 200 Sekunden Länge, bei der Häufigkeit der Ereignisse, im vorliegenden 7.4 Länge der Ereignisse und spezifische Rauschadaption 51 Abbildung 7.5.: Zwei identische Beben der Klasse Main. Oben wurde ein Sonogramm der Länger 200 Sekunden extrahiert, unten 100 Sekunden. Abbildung 7.6.: Beispiel eines Sonograms mit 200 Sekunden Länge bei dem bereits ein zweites Ereignis folgt Datensatz bereits ein weiteres Ereignis im Zeitintervall sein kann, wie in Abbildung 7.6 zu sehen. Wie zu sehen verändert die Rausch-Adaption der Sonogramme die Signale bereits stark. Die Kontur eines Ereignisses sollte besser aus dem Rauschen herausgehoben werden, wenn zur Rauschadaption reines Rauschen ohne Ereignis mit einbezogen wird. Deshalb wurde auch versucht ein Sonogramm mit einer längeren Rauschadaption als das eigentliche Ereignis zu benutzen. Es wird also ein Sonogramm berechnet, dessen Länge weitaus größer ist als das eigentliche Ereignis. Dies erlaubt es die bessere Rauschadaption zu berechnen. Ist dieses Sonogramm berechnet, wird es auf die eigentliche Ereignislänge gekürzt, um die reinen Rauschanteile wieder zu entfernen. Dabei wurden verschiedene Längen nach und vor den eigentlichen Ereignissen für reines Rauschen getestet. Für die Untersuchung der unterschiedlichen Ereignislängen wurden zuerst jeweils Ereignisse mit Längen von 30 bis 140 Sekunden in 10-Sekunden Sprüngen benutzt ohne ein größeres Fenster für die Rauschadaption. Der zuvor vorgestellte Silhouettenkoeffizient ist für die einzelnen Klassen in Abbildung 7.7 zu sehen. In Abbildung 7.8 ist nun zusätzlich, für die unterschiedlichen Signallängen, mit unterschiedlichen Rauschadaptionslängen der durchschnittliche Silhouettenkoeffizient von alle Klassen gezeigt. Hierbei wurde für jede Länge einmal eine Rauschadaptionslänge, die doppelt so lang wie das Ereignis ist, benutzt. Einmal wurde hier die Rauschadaption vor und auf das Ereignis gesetzt, einmal auf das Ereignis und dahinter. Weiterhin wurde eine dreifache Länge gewählt, wobei bei der dreifachen jeweils ein Drittel vor und nach dem Ereignis mit in die Rauschadaption genommen wurde. Beim Silhouettenkoeffizienten sieht man einen sehr klaren Abwärtstrend für längere Ereignisse. Erstaunlicherweise zeigt sich durch die bessere Rauschadaption meist eine Verschlechterung der Clusterbildung. Nur für sehr kurze Ereignislängen und eine Rauschadaption beim Ereignis und danach zeigen sich Verbesserungen. Für den Menschen ist die Erkennung und Unterscheidung mit größerer Rauschadaption klar einfacher, jedoch nicht für die hier benutzten Algorithmen. Bei 30 Sekunden Ereignislänge und einer Rauschadaption die weitere 30 Sekunden über das Ereignis reicht ist, nach dem Silhouettenkoeffizient, die beste Clusterung zu erwarten. 52 Spezifische Merkmalsextraktion 0.6 0.5 Silhouette coefficient 0.4 CRUST MAIN NORTH DEEP QUARRY 0.3 0.2 0.1 0 −0.1 20 40 60 80 100 Length (s) 120 140 Abbildung 7.7.: Silhouettenkoeffizient der einzelnen Ereignisklassen für Zeiten von 30 bis 140 Sekunden in 10 Sekundenschritten 7.4 Länge der Ereignisse und spezifische Rauschadaption 53 0.28 0.26 0.24 Silhouette coefficient 0.22 Normal Prebuffer Postbuffer Both buffers 0.2 0.18 0.16 0.14 0.12 0.1 8 · 10−2 6 · 10−2 20 40 60 80 100 Length (s) 120 140 Abbildung 7.8.: Silhouettenkoeffizient aller Ereignisklassen für Zeiten von 30 bis 140 Sekunden in 10 Sekundenschritten mit verschiedenen Rauschadaptionslängen 54 Spezifische Merkmalsextraktion Jedoch sind 30 Sekunden für ein Ereignis so kurz, dass die Sonogramme nicht mehr gut manuell interpretiert werden können. Dies sollte weiterhin als Voraussetzung gelten. Das zweite Maximum liegt 50 Sekunden mit keinem längerem Rauschadaptionsfenster. Als Kompromiss für noch gut zu interpretierende Ereignisse wurde eine Ereignislänge von 70 Sekunden gewählt. Für 70 Sekunden ist die Clusterung mit Abstand am besten wenn kein Rauschadaptionsfenster dahinter oder davor gewählt wird. Es wurde also keine größere Rauschadaptionslänge gewählt. 7.5. Spektrale Leistungsdichte Eine Unschärfe bei den Sonogrammen entsteht durch das Mapping der Werte der Sonogramm-Spektraldichtematrix auf die zwölf Farbwerte. Deshalb wurde auch untersucht, ob sich eine Verbesserung einstellt, wenn anstatt der Farbwerte, direkt die Werte aus der Spektraldichtematrix benutzt werden. Es konnte allerdings keine Verbesserung festgestellt werden, außerdem verliert man durch diese Werte die gewohnte Darstellungsform der Sonogramme (wobei hier wiederum für die Visualisierung ein extra Mapping eingeführt werden könnte). 7.6. Distanzfunktion Ein potentieller Schwachpunkt der bisherigen Analysen war, dass die Sonogramme Zeilenweise in einen Vektor geschrieben wurden, wie in Abbildung 7.9 dargestellt. Aus diesen Vektoren wurde mittels der euklidischen Distanz die Ähnlichkeit der Sonogramme ermittelt. Da diese Ähnlichkeitsbestimmung die Grundlage der selbstorganisierenden Karten ist, wurde versucht hier weitere Verbesserungen zu erreichen. Abbildung 7.9.: Vektorbildung aus Sonogrammen Es wurden hierbei die foldenden Distanzfunktionen verglichen: • Euklidische Distanz: Wird am häufigsten verwendet um Distanzen zwischen Vektoren zu bestimmen • Kreuzkorrelation: Wird normalerweise bei der Mustererkennung verwendet und liefert einen maximalen Wert bei bester Übereinstimmung. Um einen minimalen Wert bei bester Übereinstimmung zu bekommen wird hier der Kehrwert benutzt • Winkel zwischen zwei Vektoren: Hier wird der Kosinuswert zweier Vektoren gebildet, welcher für kleine Winkel am größten ist. Deshalb wird auch hier der Kehrwert benutzt 7.6 Distanzfunktion 55 • Mahalanobis Distanz: Beruht auf der Kovarianzmatrix und korrigiert Distanzen für unterschiedliche Skalierungen und Korrelationen der einzelnen Dimensionen • L1 -Norm Distanz (auch bekannt als Taxinorm, Manhattan oder City-block): Berechnet Distanz über einfach Beträge der Differenzen Außerdem wurden eigene Distanzfunktionen entwickelt, die vor allem die Zweidimensionalität der Sonogramme ausnutzen sollten. Hierbei sollten ähnliche Strukturen in verschiedenen Frequenzbändern, also übereinanderliegenden Pixeln besonders berücksichtigt werden. Diese werden durch die normale Vektorbildung auseinandergerissen und verlieren so ihren Zeit-Frequenz-Kontext, Abbildung 7.10. Bei den neu entwickelten Distanzfunktionen wird jeder Pixel, anstatt ihn nur mit dem Pixel eines anderen Ereignisses an derselben Stelle zu vergleichen, mit Pixeln innerhalb eines definierten Radius verglichen, Abbildung 7.11. Der Radius entspricht hierbei einer Rechteckfunktion im zweidimensionalen. Es wird nun für jeden Pixel innerhalb dieses Radius der Betrag der Differenz zum Originalpixel berechnet. Es hat sich dann als optimal erwiesen, von diesen Differenzen die minimale Differenz zu benutzen. Dies wird für jede Koordinate berechnet und die einzelnen Werte werden quadriert aufsummiert und die Wurzel gezogen. Die gesamte Berechnung ist in Gleichung 7.10 mit den Nachbarindizes n1, n2, . . . , nN der Koordinate i gezeigt. Die Formeln aller hier betrachteten Distanzfunktionen sind in Tabelle 7.3 dargestellt. Anstatt das Minimum der Werte zu benutzen wurde zum Beispiel auch versucht über eine gewichtete Funktion wie zum Beispiel der Gaussglocke den Durschschnitt aller Differenzen zu berechnen. Dies brachte jedoch keine Verbesserung in der Clusterung. 9 10 5 4 10 6 0 1 8 4 1 2 3 7 11 2 9 10 5 4 10 6 0 1 Distanz 4 9 10 5 4 10 6 0 1 8 4 1 2 3 7 11 2 9 10 5 4 10 6 0 1 Distanz 0 Abbildung 7.10.: Koordinatenvergleich bei zweidimensionaler Distanzfunktion im Vektor. Links die normale Differenz zweier Koordinaten, rechts die Differenz mit der minimalen zweidimensionalen Distanz. Die gestrichelten Linien entsprechen den Zeilenumbrüchen der Sonogramme. 56 Spezifische Merkmalsextraktion 6854 572 2 2897 2897 6854 572 2 Abbildung 7.11.: Koordinatenvergleich bei zweidimensionaler Distanzfunktion. Koordinate des ersten Vektors links wird mit mehreren Koordinaten des zweiten Vektors rechts verglichen. Distanzfunktion Formel q Euklidische Distanz Pn i=1 q Pn Minimum 2D i=1 Kreuzkorrelation (pi − qi )2 (min (|pi − qn1 | , |pi − qn2 | , . . . , |pi − qnN |))2 P∞ i=−∞ pi qi+n D Kosinuswinkel p ,q E |p |·|q | r Mahalanobis p −q T S −1 p − q mit Kovarianzmatrix S Pn L1 -Norm i=1 |pi − qi | Tabelle 7.3.: Distanzfunktionen mit zugehörigen Formeln v t Minimum 2D = n X (min (|pi − qn1 | , |pi − qn2 | , . . . , |pi − qnN |))2 (7.10) i=1 Mit diesen unterschiedlichen Distanzfunktionen wurden nun wieder die Silhouettenkoeffizienten bestimmt, was in Abbildung 7.12 dargestellt ist (als Vergleich wird in Abbildung 7.13 noch das zuvor benutzte Qualitätsmerkmal der Abstände der Cluster gezeigt). An der Linie in Cyan, welche den Durschnitt für alle Klassen darstellt ist zu sehen, dass für die selbstentwickelte Distanz das beste Ergebnis erzielt wird. Kurz darauf folgt die Mahalanobis Distanz, welche allerdings durch die Berechnung der Kovarianzmatrix sehr rechenaufwendig ist. Für die selbstorganisierende Karte muss die Kovarianzmatrix für jede Eingabe erneut berechnet werden, da sich jedes mal die Gewichtsvektoren der Neuronen verändern. Es war deshalb mit den vorhandenen Rechnersystemen nicht möglich mit dieser Distanzfunktion eine selbstorganisierende Karte zu bilden. 7.6 Distanzfunktion 57 0.8 0.7 0.6 CRUST MAIN NORTH DEEP QUARRY MEAN Silhouette coefficient 0.5 0.4 0.3 0.2 0.1 0 −0.1 −0.2 Eucl Min2D XCorr Angle Distance function Maha L1 Abbildung 7.12.: Silhouettenkoeffizient für einzelne Ereignisklassen und Distanzfunktionen. In der durchgezogenen Linie (cyan) ist die durchschnittliche Qualität aller Klassen gezeigt. 58 Spezifische Merkmalsextraktion 7 6 CRUST MAIN NORTH DEEP QUARRY Cluster distance 5 4 3 2 1 Eucl Min2D XCorr Angle Distance function Maha L1 Abbildung 7.13.: Abstand der Cluster Qualitätsmerkmal für einzelne Ereignisklassen und Distanzfunktionen. Hier nur gezeigt um Ähnlichkeit zu Silhouettenkoeffizient zu veranschaulichen. 8. Ergebnisse Da nun die Grundlegenden Parameter und die Merkmalsextraktion in Kapitel 7 festgelegt wurden, kann die Analyse der Cluster mittels der Principal Component Analysis und der selbstorganisierenden Karten stattfinden. Hierfür wird derselbe Trainings- und Klassifikationsdatensatz mit jeweils 154 Ereignissen aus Kapitel 7 benutzt. 8.1. Vergleich der Clusterung Für einen anderen Clusteralgorithmus des unüberwachten Lernens, den K-Means Algorithmus, wurde bewiesen, dass die Principal Components den kontinuierlichen Lösungen für die diskreten Cluster-Zugehörigkeits-Indikatoren der K-Means Clusterung entsprechen [41]. Unüberwachte Dimensionsreduktion ist also eng verwandt mit unüberwachtem Lernen. Hier sollen nun für die Principal Component Analysis und die selbstorganisierenden Karten Ähnlichkeiten gezeigt werden. 8.1.1. Visualisierung auf den ersten beiden Principal Components In Abbildung 8.1 ist die Projektion der 154 Ereignisse des Trainingsdatensatzes auf die ersten beiden Principal Components zu sehen. Hierbei ist zu sehen, dass sich die Ereignisse der Deep Klasse am besten clustern lassen. Die Main und North Ereignisse lassen sich bis auf wenige Ausreißer auch noch gut clustern. Bei den Crust und Quarry Ereignisse ist die Auswertung schwerer, allerdings sind dort auch zu wenige Beben vorhanden um verbindliche Aussagen zu treffen. Es lässt sich allerdings erkennen, dass diese zwei Ereignisklassen zumindest untereinander nur schwer zu trennen sind. Die Principal Component Analysis kann hierbei, sobald die Dimension der Ereignisse größer ist als die Anzahl dieser, mittels der Optimierung aus Kapitel 4.3 berechnet werden. In dieser Arbeit hatten die Sonogramme 13 Frequenzen und aufgrund der Samplingrate von 100 Hertz und der Länge von 70 Sekunden 58 Zeitwerte, also eine Dimension von 754. Da nur 154 Ereignisse untersucht wurden, würde sich hier die Optimierung anbieten. Da aber selbst die Dimension von 754 noch im Bereich des schnell berechenbaren liegt und normalerweise weit mehr Ereignisse untersucht werden müssen, wurde trotzdem die normale Principal Component Analysis berechnet. Für längere Ereignislängen wurde die Optimierung angewendet. Normalerweise hätte man weitaus mehr Ereignisse, was die Optimierung hinfällig macht. Es ist dann essentiell, dass die Dimensionszahl der Ereignisse nicht zu hoch ist. Mehrere tausend Merkmale führen bereits zu Problemen. 60 Ergebnisse Second Principal Component 30 20 10 0 CRUST MAIN NORTH DEEP QUARRY −10 −20 −30 −40 −30 −20 −10 0 10 20 30 40 First Principal Component 50 60 70 Abbildung 8.1.: Trainingsdatensatz auf die ersten beiden Principal Components projiziert 8.1 Vergleich der Clusterung 61 8.1.2. Selbstorganisierende Karte In Abbildung 8.2 ist nun eine fertig trainierte Karte des Trainingsdatensatz zu sehen. Man kann erkennen, wie auch hier eine Clusterung der einzelnen Klassen auftritt. Nur der North Cluster ist auf der Karte durch Main Neuronen getrennt. Schaut man sich nun die Abbildung 8.3 an, in der wiederum die einzelnen Neuronen der Karte auf die ersten beiden Principal Components projiziert wurden, kann man sehen wie auch hier ein Neuron des Main Clusters zwischen den Neuronen des North Clusters ist. Es lässt sich in der Anordnung der selbstorganisierenden Karte sehen, dass diese in etwa den ersten beiden Principal Components entspricht. Dies entspricht den Erwartungen, da die selbstorganisierende Karte eine topologische Projektion der Daten berechnet. Es muss beachtet werden, dass Principal Components gespiegelt sein können. Map height 4 3 CRUST MAIN NORTH DEEP QUARRY 2 1 0 0 1 2 3 4 5 Map width 6 7 8 9 Abbildung 8.2.: Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen und Zurordnung der einzelnen Klassen 8.1.3. Ansicht mit Sonogrammen Möchte man nun eine bessere Einsicht in die Neuronen der Karte bekommen können anstatt nur der Klassenzugehörigkeit auch die eigentlichen Sonogramme der Neuronen innerhalb der Karte angezeigt werden. Dies ist in Abbildung 8.4 zu sehen. Es lassen sich nun direkt visuell Parameter der Karte ablesen. So ist zu sehen, dass trotz Amplitudennormalisierung diese noch eine Rolle spielt. Zumindest in den oberen Reihen lässt sich eine Schwächung der Amplitude von links nach rechts sehen. In den ersten Spalten lässt sich eine Ausweitung der Amplituden in tiefere Frequenzen sehen. In den hinteren Spalten eher eine Verschiebung starker Amplituden vom P- zum S-Einsatz. Eine S-P-Zeit Verlängerung lässt sich prinzipiell von links nach rechts sehen. Diesselbe Technik der Visualisierung mit Sonogrammen kann nun auch auf die Projektion auf die ersten beiden Principal Components angewendet werden. Es werden hier die unveränderten Sonogramme aus dem Eingaberaum gezeichnet, allerdings an den Stellen, an denen sie bei einer Projektion auf die ersten beiden Principal Components sind, Abbildung 8.5. Hier 62 Ergebnisse 30 25 20 15 2nd PC 10 5 0 CRUST MAIN NORTH DEEP QUARRY −5 −10 −15 −20 −25 −40 −30 −20 −10 0 10 20 1st PC 30 40 50 60 Abbildung 8.3.: Neuronen der trainierten Karte auf die ersten beiden Principal Components projiziert Abbildung 8.4.: Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen, Neuronen als Sonogramme gezeichnet. Weiße Flächen unter den Sonogrammen stammen von der Anzeigemethode und gehören nicht zu den eigentlichen Sonogrammen. 8.1 Vergleich der Clusterung 63 sieht man deutlich die starke Amplitudenveränderung auf der ersten Principal Component. Außerdem eine Veränderung der S-P-Zeit. Abbildung 8.5.: Anordnung der Sonogramme des Trainingsdatensatz auf den ersten beiden Principal Components. Horizontal ist die erste und vertikal die zweite Principal Component. 8.1.4. Untersuchung einzelner Principal Components Um nun einen besseren Einblick auch in weitere Principal Components zu bekommen wurde versucht die Effekte einzelner Principal Components zu veranschaulichen. Es wurde dabei ein Verfahren entwickelt, dass erlaubt, Sonogramme entlang einer Principal Component zu verändern. Man kann sich dies vorstellen, indem man im Raum der Principal Components alle Komponenten bis auf einer zu null setzt. Nun „fährt“ man entlang der einen zu untersuchenden Komponente und beobachtet wie sich die Sonogramme dadurch verändern. Dies ist in Abbildung 8.6 für die ersten fünf Principal Components zu sehen. Es wird jeweils oben bei einem stark negativen Wert gestartet, in der Mitte ist jeweils der Erwartungswert des gesamten Datensatzes, unten ist ein stark positiver Wert. Die Schrittweite wurde dabei für alle Schritte und Komponenten gleich gewählt und so groß, dass sich vor und hinter den extremen Werten keine zu starken Änderungen mehr feststellen lassen. Die Berechnung dieser Werte für die erste Principal Component (pc 1 ) ist in Gleichung 8.1 gezeigt. Wobei µ der Erwartungswert und σ die Standartabweichung des gesamten Datensatzes ist. c ist eine Konstante die mit der gewählten Schrittweite verändert wird. Sonogram = µ + σ · c · pc 1 (8.1) 64 Ergebnisse Abbildung 8.6.: Von links nach rechts die Auswirkungen der ersten fünf Principal Components auf die Sonogramme. Von oben nach untern wird jeweils von negativ nach positiv entlang einer Principal Component gegangen. In Abbildung 8.6 lässt sich nun erkennen, dass die erste Principal Component tatsächlich die Amplitude und außerdem eine Verschiebung des S-Einsatzes bewirkt. Die zweite Komponente hingegen hat nur einen Einfluss auf die Verschiebung des S-Einsatzes. Die dritte Komponente wiederum ist für eine Verschiebung der Amplituden von hohen Frequenzen zu tiefen Frequenzen verantwortlich. Vierte und fünfte Principal Components scheinen eine Mischung der Effekte der anderen Components zu bewirken. Schaut man sich Komponenten ab der zehnten Principal Component an, so sind keine starken Änderungen mehr zu sehen. Komponenten zwischen der fünften und zehnten sind ähnlich der vierten und fünften. Alle Eigenschaften beschränken sich jeweils nur auf den vorliegenden Datensatz. Hat man andere Ereignisse verändern sich auch die Principal Components und damit eventuell auch die Eigenschaften die diese repräsentieren. 8.1.5. Filterung von Principal Components Da nun die Auswirkung der Komponenten auf die einzelnen Effekte abschätzbar sind, kann man eine Komponente aus dem Datensatz filtern. Hierfür wird zuerst die Principal Component Analysis berechnet. Es wird dann die entsprechende Komponente zu null gesetzt und mit den restlichen Komponenten eine Rücktransformation ausgeführt. In Abbildung 8.7 und 8.8 sieht man eine selbstorganisierende Karte die mit den Daten aus der Rücktranformation mit zu null gesetzter erster Principal Component erstellt wurde. Erwartungsgemäß ist die Clusterung der Karte verschlechtert, da durch die Filterung Informationen verloren gehen. Da in der ersten Principal Component nach unserer Interpretation die größte Information steckt, verliert man entsprechend viele Informationen. Der Deep Cluster ist wie zu erwarten komplett aufgebrochen. In der vorigen Analyse war zu sehen, dass sich der Deep Cluster, im Gegensatz zu den anderen Clustern, nicht durch die zweite 8.1 Vergleich der Clusterung 65 Principal Component sondern hauptsächlich durch die erste separieren ließ, Abbildung 8.1. Es scheinen wohl auch keine anderen Komponenten hier für eine gute Separierbarkeit vorhanden zu sein. In der selbstorganisierenden Karte mit den Sonogrammen ist zu sehen, dass diese nicht mehr von der Amplitude abhängig clustert. Es sind nur noch unterschiedliche S-P-Zeit und Frequenzunterschiede zu erkennen. Map height 4 3 CRUST MAIN NORTH DEEP QUARRY 2 1 0 0 1 2 3 4 5 Map width 6 7 8 9 Abbildung 8.7.: Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen und Zurordnung der einzelnen Klassen, erste Principal Component gefiltert Abbildung 8.8.: Selbstorganisierende Karte des Trainingsdatensatz mit 10 mal 5 Neuronen, Neuronen als Sonogramme gezeichnet, erste Principal Component gefiltert. Weiße Flächen unter den Sonogrammen stammen von der Anzeigemethode und gehören nicht zu den eigentlichen Sonogrammen. 8.1.6. Scree Plot Eine Abschätzung welchen Anteil an der Gesamtvarianz und damit der Gesamtinformation die einzelnen Komponenten haben bietet der Scree Plot. Dieser ist für den Trainingsdatensatz in Abbildung 8.9 zu sehen. Die erste Principal Component beschreibt bereits knapp 37,4 % der gesamten Varianz, die zweite Komponente nur noch 5,9 %. 66 Ergebnisse 100 Variance (%) 80 60 40 Cumulative variance Variance 20 0 0 20 40 80 100 60 Principal Component 120 140 160 Abbildung 8.9.: Scree Plot. Anteil an der Gesamtvarianz der einzelnen Principal Components in blau und kumulative Varianz in rot. 8.2 Klassifikation 67 8.2. Klassifikation Um nun noch einmal die Klassifikation mit der Karte genauer zu untersuchen wurde der Testdatensatz auf die zu Beginn erstellte Karte aufgespielt und überprüft ob die richtigen Klassen ermittelt wurden. Das Ergebnis ist in der Konfusionsmatrix in Tabelle 8.1 zu sehen. Insgesamt wurden 94,2 % der Ereignisse richtig klassifiziert. Schaut man sich allerdings die Werte für die Crust Ereignisse an, sieht man, dass dort von sieben Ereignissen insgesamt fünf fälschlicherweise als Main Ereignisse klassifiziert wurden. Dies kann auch auf die starke Nähe des Crust Clusters zum Main Cluster in der Principal Component Projektion zurückgeführt werden. Erstaunlicherweise sind jedoch alle fünf Quarry Ereignisse richtig klassifiziert obwohl diese eine ähnlich schlechte Clusterung auf den ersten beiden Principal Components aufweisen. Dies könnte ein Hinweis darauf sein, dass andere Principal Components die Quarry Klasse besser unterscheiden. In der Seismologie ist es gerade wichtig seltene Ereignisse richtig zu klassifizieren, es müssen also noch weitere Verbesserungen für die Clusterung gefunden werden um eine gute Klassifizierung auch seltener Ereignisse zu ermöglichen. Crust 2 Crust Main 5 Ermittelte Klasse North Deep Quarry - Tatsächliche Klasse Main North Deep Quarry 87 2 2 10 41 5 Tabelle 8.1.: Konfusionsmatrix der Klassifikation des Testdatensatzes mit der trainierten Karte aus Kapitel 8.1. 8.3. Initialisierung der Prototypen mittels PCA Um eine schnellere Konvergenz der selbstorganisierenden Karte zu erreichen, kann man die Neuronen zu Beginn nicht zufällig initialisieren, sondern bereits an den ersten beiden Principal Components ausrichten [29]. Die Karte ist somit schon von Beginn an näher an ihrem Endzustand. Dies wurde im Rahmen dieser Arbeit umgesetzt. Es wurde hierbei die Technik aus Kapitel 8.1 benutzt. Dort wurde die Veränderung einzelner Principal Components veranschaulicht. Entlang der horizontalen Achse der Karte wurde die erste, entlang der vertikalen die zweite Principal Component nach Gleichung 8.2 erhöht. map(x, y) = µ + σ · (c · 2y − 1 2x − 1 · pc 1 + c · · pc 2 ) width height (8.2) In Abbildung 8.10 ist diese Karte im untrainierten Zustand direkt nach der Initialisierung zu sehen. Projiziert man hier die Gewichtsvektoren der Neuronen wieder auf die ersten beiden Principal Components, bilden diese erwartungsgemäß ein kartesisches Gitter. 68 Ergebnisse Abbildung 8.11 und 8.12 zeigen die Neuronen auf der Karte beziehungsweise auf den ersten beiden Principal Components mit der fertig trainierten Karte. Map height 4 3 CRUST MAIN NORTH DEEP QUARRY DISCARDED 2 1 0 0 1 2 3 4 5 Map width 6 7 8 9 Abbildung 8.10.: Untrainierte selbstorganisierende Karte entlang der ersten beiden Principal Components initialisiert Map height 4 3 CRUST MAIN NORTH DEEP QUARRY DISCARDED 2 1 0 0 1 2 3 4 5 Map width 6 7 8 9 Abbildung 8.11.: Trainierte selbstorganisierende Karte entlang der ersten beiden Principal Components initialisiert 8.4. Clusterqualität mit transformierten Daten Eigensonogramme Bei der Eigenface [42] [43] Methode werden Gesichter verglichen, die mittels der Principal Component Analysis transformiert werden. Dabei wurde festgestellt, dass sich die Erkennungsrate verbessert, wenn die Gesichter in den Raum der Principal Components transformiert werden und mit einer geringeren als der original Komponentenzahl zurücktransformiert 8.4 Clusterqualität mit transformierten Daten - Eigensonogramme 69 40 30 20 2nd PC 10 0 CRUST MAIN NORTH DEEP QUARRY DISCARDED −10 −20 −30 −40 −40 −30 −20 −10 0 10 20 1st PC 30 40 50 60 Abbildung 8.12.: Neuronen der trainierten selbstorganisierenden Karte die entlang der ersten beiden Principal Components initialisiert wurde 70 Ergebnisse werden, diese Gesichter werden dort Eigenfaces genannt. Dies wurde hier für seismische Signale versucht (Eigensonogramme) und es zeigt sich tatsächlich, dass mit weniger Principal Components eine bessere Clusterung auftritt. In Abbildung 8.13 ist der Silhouettenkoeffizient für den Trainingsdatensatz in Abhängigkeit der Principal Components mit der dieser transformiert wurde zu sehen. So sieht man, dass der Silhouettenkoeffizient am höchsten ist, wenn die ersten vier Principal Components verwendet werden. Zwei und drei Komponenten scheinen noch zu wenig zu sein um eine Clusterung zu gewährleisten, wobei mit drei Komponenten bereits ein guter Wert erreicht ist. Werden mehr als vier Komponenten benutzt, verschlechtert sich die Clusterung kontinuierlich und erreicht ihr Minimum bei 154 also allen verwendeten Komponenten. Dies entspricht wieder den original Sonogrammen, da hier die Rücktransformation ohne Informationsverlust geschieht. In Abbildung 8.14 sind nun die Eigensonogramme mit unterschiedlicher Komponentenzahl zu sehen. Genauso wie auch bei den Eigenfaces zeichnet sich die Kontur der Originalereignisse auch schon mit sehr wenigen Komponenten ab und man sieht die einzelnen Unterschiede der Klassen bereits bei nur zwei Komponenten. Da der Silhouettenkoeffizient eine starke Verbesserung von zwei auf drei Principal Components zeigt, ist in Abbildung 8.15 nun die Clusterung des Trainingsdatensatzes mit drei Principal Components zu sehen. Wie vom Silhouettenkoeffizient zu erwarten verbessert sich hierbei die Clusterung der Ereignisklassen im Gegensatz von nur zwei Komponenten (Abbidlung 8.1) für Crust und Quarry. 8.4 Clusterqualität mit transformierten Daten - Eigensonogramme 71 0.7 Silhouette coefficient 0.6 CRUST MAIN NORTH DEEP QUARRY MEAN 0.5 0.4 0.3 0.2 0.1 0 −0.1 2 4 6 8 10 40 80 120 Number of Principal Components 154 Abbildung 8.13.: Silhouettenkoeffizient in Abhängigkeit der Anzahl der Principal Components mit derer der Trainingsdatensatz transformiert wurde. Anzahl der Principal Components sind von 2 bis 10 durchgängig, dann ab 20 in 20er Schritten und am Ende noch 154 was den nicht transformierten Ereignissen entspricht, da dies alle vorhandenen Komponenten sind. Abbildung 8.14.: Jeweils ein Beben jeder Klasse für unterschiedliche Zahlen von verwendeten Principal Components. Von oben nach unter, 2, 3, 4, 5 und 154 verwendete Principal Components. 72 Ergebnisse Abbildung 8.15.: Trainingsdatensatz auf die ersten drei Principal Components projiziert. X entspricht der ersten, Y der zweiten Principal Component. Die dritte Principal Component ist die dritte zu X und Y senkrechte Achse. 9. Software Ein großer Teil dieser Arbeit bestand aus der Erstellung einer Software um die vorgestellten Algorithmen an Sonogrammen zu testen. Diese hat den Namen CLUSTER und ist in der Programmiersprache Java1 entwickelt. 9.1. Motivation Um Methoden der Signalverarbeitung zu testen wird häufig Matlab oder eine ähnliche numerische Berechnungssoftware verwendet, da dort viele mathematische Methoden bereits implementiert sind und vor allem Matrixrechnungen und Visualisierungen von Daten sehr gut unterstützt werden. So wird zum Beispiel die Principal Component Analysis bereits von Matlab unterstützt. Außerdem gibt es eine Toolbox für selbstorganisierende Karten, die SOM Toolbox2 . Diese unterstützt eine Vielzahl an Parametern für eine selbstorganisierende Karte und viele sehr nützliche Visualisierungen. In dieser Arbeit wurde jedoch auf Java gesetzt, welches eine Objektorientierte Programmiersprache ist. Es gab mehrere Gründe um auf die Bequemlichkeiten von Matlab und Co. zu verzichten. Ein wichtiger Punkt hierbei war, dass am Institut bereits eine Softwaresuite existiert, die sogenannte GeophysSuite, die in Java programmiert ist und die Anzeige und Verwaltung von seismologischen Daten als Seismogramme und Sonogramme ermöglicht. An dieser Software hat der Autor dieser Arbeit bereits mitgearbeitet und außerdem in früheren Jahren bereits sehr viel Java Programmiererfahrung erlernt. Die hier erstellte Software wurde in die GeophysSuite integriert und bietet damit die Möglichkeit für beliebige neue Datensätze die in der GeophysSuite unterstützt werden, eine Clusteranalyse zu vollziehen. Die CLUSTER Software ist in Abbildung 9.1 zu sehen. Ein weiterer wichtiger Punkt sind die komplexen Visualisierungen wie zum Beispiel die Darstellung der selbstorganisierenden Karten mit Sonogrammen. Dies ist in Java durch die Objektorientierung und große Freiheit bei der Gafikerstellung gut lösbar. Außerdem gibt es mittlerweile auch für Java sehr umfangreiche Mathematik- und Signalverarbeitungsbibliotheken. Die hier verwendeten werden in Kapitel 9.11 genannt. 1 2 http://java.com http://www.cis.hut.fi/somtoolbox/ 74 Software Abbildung 9.1.: CLUSTER Software, in der linken Spalte sind die Buttons um einzelne Aktionen zu starten, rechts die Konsolenausgabe 9.2. Existierende Software Es gibt sehr viele Implementierungen des selbstorganisierenden Karten Algorithmus in verschiedensten Programmiersprachen meist für Lehrzwecke. Als professionelle Software gibt es nur zwei Implementierungen, die eine Vielzahl an Einstellungen ermöglichen und verbreitet sind. Beide wurden von der Forschergruppe um Teuvo Kohonen, dem Erfinder der selbstorganisierenden Karten entwickelt: • Zum einen eine textbasierte Software, SOM PAK [44], die in C geschrieben ist. Diese Implementierung läuft zwar sehr schnell, jedoch gibt es so gut wie keine Visualisierungen und die Benutzung ist kompliziert. • Weiterhin gibt es die zuvor erwähnte SOM Toolbox für Matlab [45]. Diese besitzt viele Visualisierungsmöglichkeiten, jedoch ist die Rechenzeit recht hoch. Möchte man individuelle Funktionen realisieren, wie zum Beispiel Objekte in Karten visualisieren, wie dies in dieser Arbeit mit den Sonogrammen geschehen ist, so wäre dies wieder mit einem großen Programmieraufwand in Matlab verbunden. Außerdem wird diese Toolbox nicht mehr regelmäßig gepflegt. So geschah das letzte Update im Jahr 2005. Bereits 2002 haben die meisten Entwickler die dahinter stehende Universität verlassen. Mit der neuesten Version von Matlab, Version 7, ist die SOM Toolbox nicht mehr kompatibel. Im März 2010 wurde eine sehr viel versprechende Software, die in Java geschrieben wurde von der Universität Wien als Opensource veröffentlicht3 . Dies geschah allerdings zu einem Zeitpunkt, an dem diese Arbeit schon so weit fortgeschritten war, dass ein Umstieg nicht mehr lohnenswert gewesen wäre. Die dort entwickelte Software unterstützt eine Vielzahl von Visualisierungen und Parametersätzen, hätte aber auch eine lange Einarbeitungszeit vorausgesetzt. 3 http://www.ifs.tuwien.ac.at/dm/somtoolbox/ 9.3 GeophysSuite 75 9.3. GeophysSuite Die zuvor erwähnte GeophysSuite wurde am Institut für Geophysik entwickelt. Sie besteht aus mehreren in Java geschriebenen Komponenten: • TraceRead: Serverapplikation um seismische Daten zu lesen, Metadaten zu bearbeiten und diese Daten Clientapplikationen zur Verfügung zu stellen • SonoView: Große Zeitintervalle von seismischen Daten als (Super-)Sonogramme betrachten und Ereignisse markieren • TraceView: Genauere Analyse von Ereignissen mittels herkömmlichen Seismogrammen und mehreren Filtermöglichkeiten Die einzelnen Komponenten und ihre Interaktionen, sowie die in dieser Arbeit entwickelte Applikation Cluster sind in Abbildung 9.2 dargestellt. SonoView TraceView Cluster TraceRead Zeiten Daten Abbildung 9.2.: Komponenten der GeophysSuite. TraceRead stellt die seismischen Daten für alle Client Applikationen bereit. Cluster und TraceView können wiederum Zeiten von Ereignissen aus SonoView erhalten. 9.4. Vorgängersoftware In der Vorgängerarbeit zu selbstorganisierenden Karten wurde bereits eine Java Software geschrieben (SESAM [4]), die zu Beginn sehr hilfreich war. Die Funktion dieser Software war jedoch nur selbstorganisierende Karten aus Sonogrammen zu erstellen. Die Erstellung von selbstorganisierenden Karten war bei Tests jedoch zu langsam um vernünftige Resultate mit genügend großer Epochenzahl zu erziehlen. Zu Beginn war daher die Absicht, diese Software zu erweitern und zu verbessern, jedoch war der Aufbau der Software durch zu viele Faktoren verkompliziert die hier nicht benötigt wurden, so dass eine neue Software zeitsparender implementiert werden konnte als die alte anzupassen. 76 Software In der alten Software wurde die gesamte Parameterwahl in einer GUI (Grafische Benutzer Oberfläche, engl. Graphical User Interface) realisiert. Die neue Software sollte recht schlank aufgebaut werden, wobei die Algorithmen und Visualiserung im Vordergrund stehen sollten. Außerdem sollte sie nach den Regeln der Objektorientierung und modular aufgebaut werden. Es ist somit sehr einfach, neue Algorithmen und Visualisierungen in die neue Software einzubauen. 9.5. Lesen von Daten 9.5.1. GeophysSuite Die Software kann, wie auch ihr Vorgänger, Daten direkt aus den Sonogrammen der GeophysSuite lesen. Hierfür kann man in den Sonogrammen einer Messung Markierungen setzen. Referenzen auf diese Ereignisse werden in einer Textdatei im ASCII4 Format zusammen mit Informationen zu den Ereignissen gespeichert. In Abbildung 9.3 ist die Auswahl von Ereignissen in Sonoview zu sehen. In Tabelle 9.1 ist das Format der ASCII Datei mit gespeicherten Ereignisreferenzen zu sehen. Beide Methoden stammen von der Vorgängersoftware, wurden jedoch erweitert um mehr Informationen wie zum Beispiel Magnitude, Latitude, Longitude und Kommentare zusammen mit den Ereignissen zu speichern. Wird nun die ASCII Datei in CLUSTER geladen, werden Ereignisse direkt aus der GeophysSuite geladen. Abbildung 9.3.: Auswahl von Ereignissen in SonoView 9.5.2. PGM-Dateien Eine weitere Möglichkeit Ereignisse zu laden ist über PGM (Portable Gray Map) Bilddateien. Dies sind ASCII Dateien, in denen Kommentare und Farbwerte für Pixel eines Bildes gespeichert werden können, siehe Abbildung 9.4. Als Kommentare werden hier dieselben Werte 4 American Standard Code for Information Interchange 9.6 Geschwindigkeit # ArrayID 04 04 04 04 04 Date[ms] 760700397800 760702465520 760723353700 760801388250 760856153030 Length[ms] 80000 80000 80000 80000 80000 FormatedDate 2/8/94 09:39:56 2/8/94 10:14:23 2/8/94 16:02:31 2/9/94 13:43:06 2/10/94 04:55:51 77 Class MAIN MAIN QUARRY MAIN DEEP Tabelle 9.1.: Format der ASCII Datei. Spalten Latitude, Longitude und Magnitude sind nicht vorhanden, da diese Informationen noch nicht aus dem Ereigniskatalog übernommen wurden. wie auch in der ASCII Datei für die Ereignisse aus der GeophysSuite verwendet, weiterhin wird nun direkt das Sonogramm in einer Matrix von ASCII Werten gespeichert. Dies ist sehr nützlich, wenn eine große Anzahl von Sonogrammen mehrere Male für eine Clusteranalyse benutzt werden soll. Die Sonogramme müssen dann nich jedes Mal in der GeophysSuite berechnet und bereitgestellt werden, sondern können direkt aus den PGM Dateien geladen werden. Abbildung 9.4.: Beispiel einer PGM Datei mit zugehörigem Sonogramm [4]. 9.6. Geschwindigkeit Das wichtigste Kriterium zu Beginn war die Geschwindigkeit um überhaupt imstande sein zu können, genügend Tests durchzuführen. In der neuen Software wurde der Algorithmus der alten Software so verbessert, dass diese 20-30 Mal so schnell ist, was in Abbildung 9.5 veranschaulicht ist. 9.7. Konfiguration Da die Konfiguration nicht mehr über unzählige Markierungsfelder in der Applikation geschehen sollte, wurde diese in eine XML Datei verlagert. Hier kann ein Benutzer, ohne den Quelltext der Applikation öffnen zu müssen die Konfiguration wie zum Beispiel Kartengröße, Nachbarschaftsfunktion, Datenverzeichnis etc. editieren und diese auch bei einem Neustart 78 Software 120 100 Time (s) 80 60 40 Old software New software 20 0 0 2 4 6 8 10 12 14 16 18 20 Number of epochs Abbildung 9.5.: Dauer des Trainings einer selbstorganisierenden Karte in Abhängigkeit zur Epochenzahl. Trainingsdatensatz mit 50 Ereignissen, Dimension der Ereignisse 871, Kartengröße 5 Spalten und 8 Zeilen. der Applikation wiederverwenden. Außerdem ist es möglich, für verschiedene Testfälle, unterschiedliche Konfigurationen zu erstellen, die dann entsprechend geladen werden können. Eine Beispielkonfiguration ist in Listing 9.1 gegeben. Diese Konfigurationsdatei wird je nach Betriebssystem unter folgendem Pfad gespeichert: • Linux, im Home-Verzeichnis unter .geophyssuite/cluster/cluster.xml • Windows, unter Eigene Dateien\cluster\cluster.xml 9.8 Funktionsauflistung 79 Listing 9.1: Beispiel Konfigurationsdatei <? xml v e r s i o n =" 1 . 0 " e n c o d i n g ="UTF−8 " s t a n d a l o n e =" y e s " ?> <Cluster> < c a t e g o r y N a m e s>CRUST< / c a t e g o r y N a m e s> < c a t e g o r y N a m e s>MAIN< / c a t e g o r y N a m e s> < c a t e g o r y N a m e s>NORTH< / c a t e g o r y N a m e s> < c a t e g o r y N a m e s>DEEP< / c a t e g o r y N a m e s> < c a t e g o r y N a m e s>QUARRY< / c a t e g o r y N a m e s> < c e l l H e i g h t >3< / c e l l H e i g h t > < c e l l W i d t h >2< / c e l l W i d t h > < e p o c h s>20< / e p o c h s> < f r e q u e n c i e s >0< / f r e q u e n c i e s > <i m a g e s>154< / i m a g e s> <mapHeight>5< / mapHeight> <mapWidth>10< / mapWidth> < n e i g h b o u r M e a s u r e m e n t>EUCLIDIAN< / n e i g h b o u r M e a s u r e m e n t> < n e i g h b o u r h o o d T y p e>CONE< / n e i g h b o u r h o o d T y p e> < n o r m a l i z a t i o n >GlobalMean< / n o r m a l i z a t i o n > <numEigen>154< / numEigen> < p a t t e r n D i r > / PISCO_94 / knowbase / colorpatterns70s / pattern . 3 0 8 . 0 . firsthalf / < / p a t t e r n D i r > < p a t t e r n L e n g t h >70000< / p a t t e r n L e n g t h > < r e a d F r o m P g m s O r S e l F i l e>true< / r e a d F r o m P g m s O r S e l F i l e> < r e f e r e n c e P a t t e r n >0< / r e f e r e n c e P a t t e r n > < s e l F i l e > / PISCO_94 / knowbase / training . 3 0 8 . sel< / s e l F i l e > < s o m I n i t >RANDOM< / s o m I n i t > <somRounds>1< / somRounds> <sonoMaxValue>11< / sonoMaxValue> < s o n o P o s t B u f f e r >0< / s o n o P o s t B u f f e r > < s o n o P r e B u f f e r >0< / s o n o P r e B u f f e r > <s o n o W i d t h>0< / s o n o W i d t h> < t e s t P a t t e r n D i r > / PISCO_94 / knowbase / colorpatterns70s / pattern . 3 0 8 . 0 . secondhalf / < / ←testPatternDir> < t e s t S e l F i l e > / PISCO_94 / knowbase / training . 3 0 8 . sel< / t e s t S e l F i l e > < t e s t s >154< / t e s t s > < t h r e e D P l o t s >true< / t h r e e D P l o t s > < u s e G u i C o n s o l e>true< / u s e G u i C o n s o l e> </ Cluster> 9.8. Funktionsauflistung 9.8.1. Amplitudennormalisierungen Unter dem Button Normalize können verschiedene Amplitudennormalisierungen auf die Datensätze angewendet werden. • GlobalMean: Die in dieser Arbeit verwendete Normalisierung, die den Erwartungswert jedes Sonograms mit dem Gesamterwartungswert des Datensatzes vergleicht und die Differenz von jedem Pixel abzieht. • MinMean: Wie Globalmean, jedoch wird als Referenz der minimale Erwartungswert aller Ereignisse benutzt, anstatt dem Gesamtwerwartungswert. • IndividualMax: Hierbei wird jedes Sonogramm auf die maximale Amplitude von elf normalisiert. Es wird also die Differenz des Maximalwertes des Ereignisses zu elf von jedem Pixel abgezogen. 80 Software 9.8.2. Sonogramme anzeigen Die Funktion Paint Sonograms in der Software zeichnet alle Sonogramme im Trainingssatz spaltenweise für die entsprechend zugeordnete Klasse. Somit bekommt man eine direkte Gegenüberstellung der verschiedenen Klassen und kann eventuelle Probleme bei der Clusterung besser analysieren. Hierbei werden automatisch in einem zweiten Block die transformierten Sonogramme angezeigt. Dies können Sonogramme, die mit der Principal Component Analysis oder anderen Methoden verändert wurden, sein. 9.8.3. Selbstorganisierende Karten Unter dem Button SOM wird eine selbstorganisierende Karte mit dem gegebenen Datensatz und den festgelegten Parametern erstellt. Die Karte kann zufällig oder mittels der ersten beiden Principal Components initialisiert werden. Weiterhin wird die der Quantisierungsfehler berechnet und das Labeling vollzogen, sofern Klassen für den Trainingsdatensatz vorliegen. Außerdem sind verschiedene Visualisierungen möglich (Button Plot SOM), so ist es möglich die Elemente einer selbstorganisierende Karte als Quadrate anzuzeigen, deren Farbe den zugeordneten Clustern und deren Größe der Anzahl entspricht. Anstatt der Quadrate können auch die Sonogramme der Neuronen angezeigt werden. 9.8.4. Klassifikation Ist eine selbstorganisierende Karte mit einem Trainingsdatensatz erstellt und das Labeling vollzogen, kann ein Testdatensatz auf die Karte angewendet werden und Statistiken zur richtigen Klassifikation dazu ausgegeben werden (Button Apply test patterns on SOM). 9.8.5. Principal Component Analysis Es wurden mehrere Verfahren für die Principal Component Analysis implementiert um gute und schnelle Ergebnisse bei der visuellen Clusterung zu erziehlen. Dabei wird die Principal Component Analysis auch auf Neuronen der Karte angewendet, falls diese bereits erstellt ist. Dies ermöglicht es, auch die Principal Components der Neuronen zu veranschaulichen: • Normal PCA: Implementiert die in Kapitel 4.1 beschriebene Principal Component Analysis. • Basic PCA: Wie die Normal PCA, jedoch ohne Benutzung der Javastatsoft Bibliothek für die Erstellung der Kovarianzmatrix. • Eigen PCA: Implementiert die Principal Component Analysis nach Turk und Pentland [42] [43]. • Transposed SVDPCA: Implementiert die in Kapitel 4.3 beschriebene Principal Component Analysis mit der Optimierung um Rechenzeit bei Eingabevektoren mit größerer Dimension als Anzahl der Eingabevektoren zu sparen. 9.9 Übertragbarkeit 81 9.8.6. Diagramme Die meisten der Diagramme dieser Arbeit wurden direkt in der Software erstellt und können somit auch mit neuen Datensätzen erneut erstellt werden. Ist bereits eine selbstorganisierende Karte erstellt, so wird jeweils, wenn nützlich, ein extra Diagramm für die Gewichtsvektoren der Neuronen erstellt. Außerdem wird jeweils eine unterschiedliche Farbgebung für jede Klasse benutzt: • Distance to clusters: Es werden die Distanzen über eine festgelegte Distanzfunktion aller Sonogramme zu allen Clusterzentren berechnet und angezeigt. Dies ist sehr nützlich um zu überprüfen ob unterschiedliche Transformationen oder Distanzfunktionen eine Verbesserung der Clusterung erziehlen. • SOM Plot: Es kann die selbstorganisierende Karte in den zwei Modi als nur Punkte oder als Sonogramme angezeigt werden. • PCA Plot: Distances to origin, es wird im Raum der Principal Components der Abstand jedes Sonogramms zum Ursprung angezeigt. • PCA plot axes: Es werden die Sonogramme als Punkte im Raum der ersten beiden Principal Components angezeigt. Außerdem kann eine dreidimensionale Anzeige im Raum der ersten drei Principal Components angezeigt werden. • Scree Plot: Zeigt einen Scree Plot der Principal Component Analysis, beschrieben in Kapitel 4. • Normal Plot: Es werden die ersten beiden Komponenten der Sonogramme ohne eine Principal Component Analysis angezeigt. Dies dient nur dazu, zu zeigen, dass es hier normalerweise keine Clusterung gibt. • PCA Map Plot: Es werden die original Sonogramme im Raum der ersten beiden Principal Components als Sonogramme angezeigt, so lassen sich charakteristische Veränderungen der Sonogramme je nach Principal Component sehr praktisch erkennen. 9.9. Übertragbarkeit Wie bereits erwähnt wurde die Software programmiert, um auch andere Clusteranalysen zu ermöglichen. Die Software ist zum einen nicht beschränkt auf den hier benutzten Datensatz. Es können andere Klasseninformationen und auch eine andere Anzahl an Klassen verwendet werden. Außerdem können beliebige Signale über die GeophysSuite oder die PGM Dateien eingelesen werden. Weiterhin ist es möglich neue Clustermethoden einzubauen, die auf die bereits implementierten Methoden der Software zurückgreifen können. Als Test wurde dabei der K-Means Algorithmus implementiert (Button KMeans). 9.10. Neue Datenformatunterstützung Seismologische Daten wie die hier verwendeten vom Projekt PISCO’94 liegen meist in dem komprimierten Format SEED (Standard for the Exchange of Earthquake Data) vor. Dieses 82 Software Datenformat wurde von der GeophysSuite noch nicht unterstützt. Stattdessen mussten Daten im SEED Format zuerst umständlich mit anderen Werkzeugen in unterstützte Formate umgewandelt werden. Um diese Prozedur zu vereinfachen, wurde im Rahmen der Arbeit, für die GeophysSuite eine SEED Datenformatunterstützung programmiert. Dies war möglich, da SEED ein offener Standard ist und online eingesehen werden kann5 . Für die Komprimierung werden bei diesem Datenformat anstatt einzelner Amplituden der Seismogramme die Unterschiede der Amplitude zu Vorgängern gespeichert. Eine Struktur dieses Datenformats ist in Abbildung 9.6 dargestellt. Hinzu kommen noch verschiedenste Header, die Metadaten der seismischen Daten und Positionen und Anzahl der Blöcke beinhalten. Abbildung 9.6.: SEED Datenformat [46] 9.11. Verwendete Java-Software-Bibliotheken In Java gibt es sehr nützliche freie Bibliotheken die verwendet werden können, um etwas Programmieraufwand zu sparen. Folgende Bibliotheken wurden in dieser Arbeit verwendet: • Java Matrix Package (JaMa, http://math.nist.gov/javanumerics/jama/): Fügt Matrix Berechnungen zu Java hinzu. • Javastatsoft (http://javastatsoft.sourceforge.net/): Methoden für die Erstellung der Kovarianzmatrix für die Principal Component Analysis wurden hiervon extrahiert. • JFreeChart (http://www.jfree.org/jfreechart/): Wurde für zweidimensionale Diagramme, hauptsächlich Streudiagramme (Scatter Plots) benutzt. • Jzy3d (http://code.google.com/p/jzy3d/): Um die dreidimensionalen Diagramme zu erstellen, benötigt außerdem die OpenGL Bibliothek JOGL (https:// 5 http://www.iris.edu/manuals/SEED_chpt1.htm 9.11 Verwendete Java-Software-Bibliotheken 83 jogl.dev.java.net/) und die Bibliothek GlueGen https://gluegen.dev.java. net/ für die C-Bibliotheksanbindung. • Java Machine Learning Library (Java-Ml, http://java-ml.sourceforge.net/): Wurde zu Beginn benutzt um eine selbstorganisierende Karte zu erstellen, allerdings wurde erkannt, dass die Umsetzung in der Bibliothek sehr lückenhaft ist und diese wurde nicht mehr weiter verwendet. 10. Zusammenfassung und Ausblick 10.1. Zusammenfassung In der Vorgängerarbeit von Matthias Guggenmos wurden die Grundsteine für eine weitere Analyse gelegt. So war die Vorgängerarbeit die erste Arbeit, die mit Sonogrammen erstellte selbstorganisierende Karten berechnete und visualisierte. Aufbauend auf der Vorgängerarbeit wurde hier die Clusterung mittels der selbstorganisierenden Karten und der Principal Component Analysis untersucht. Methoden des unüberwachten Lernens wie die selbstorganisierenden Karten sind schwer zu analysieren, da wie hier für diesselbe Eingabe nicht immer diesselbe Ausgabe entsteht. Die selbstorganisierende Karte wird zufällig initialisiert, außerdem ist die Reihenfolge der Eingaben zufällig. Ein Cluster kann also bei zwei Karten, die mit demselben Datensatz trainiert wurden, an verschiedenen Stellen entstehen. Es konnte trotzdem eine Konsistenz der prinzipiellen Anordnung gefunden werden und gezeigt werden von welchen Faktoren die Clusterung auf der Karte maßgeblich abhängt. Weiterhin konnte das große Problem der Amplitudennormalisierung in der Vorgängerarbeit gelöst werden. Es konnte gezeigt werden, dass die Amplitude der Ereignisse trotz Normalisierung von dieser immer noch eine Rolle innerhalb der Cluster spielt. Diese Abhängigkeit von der Amplitude konnte nur mittels einer Unterdrückung einer Principal Component und einem damit verbundenem großen Informationsverlust aufgelöst werden. Ein weiteres Problem innerhalb der Vorarbeit war die Distanzfunktion die benutzt wurde um die selbstorganisierende Karte zu trainieren. Dort wurde die euklidische Distanz benutzt, welche die Zweidimensionalität der Sonogramme nicht berücksichtigt. Es konnte gezeigt werden, dass eine selbst entwickelte zweidimensionale Distanzfunktion eine Verbesserung in der Clusterung bewirkt. Außerdem konnten Schwächen bei der bisherigen Software durch eine neue Software beseitigt werden. So ist es mit der neuen Software möglich durch die enorme Verbesserung der Geschwindigkeit des Algorithmus umfangreichere Tests durchzuführen. Es können nun eine Vielzahl von selbstorganisierenden Karten mit unterschiedlichsten Parametern erstellt und analysiert werden. Eine weitere wichtige Aufgabe war, die grundlegenden aufgeworfenen Fragen nach der Vorgängerarbeit, zu beantworten. So konnte dort nur spekuliert werden, welche zwei Merkmale der Ereignisse durch die zweidimensionale Clusterung auf der Karte verantwortlich sind. Hier setzte die Principal Component Analysis an. Die Principal Component Analysis bietete eine schnelle und verlässliche Methode, um sich die Clusterung der Daten zu veranschaulichen. Bei einem hochdimensionalen Raum wäre es ansonsten sehr schwer zu verstehen gewesen, welche Cluster ein Algorithmus nun besser trennen kann als andere. Hier bietete die Principal Component Analysis eine sehr gute Hilfe. Es konnten Merkmalsveränderungen entlang bestimmter Principal Components herausgearbeitet werden, wie zum Beispiel 86 Zusammenfassung und Ausblick Amplitudenveränderungen, P- und S-Einsatzverschiebungen und Veränderungen der auftretenden Frequenzen. Dadurch wurde es möglich, bestimmte Merkmale zu unterdrücken, also zu filtern. So konnte zum Beispiel durch die Unterdrückung der ersten Principal Component die Amplitude aus der Clusterung entfernt werden. Außerdem konnte gezeigt werden, dass durch die Benutzung von ausschließlich den ersten vier Komponenten die beste Clusterung erzielt wird. 10.2. Ausblick Diese Arbeit geht einen weiteren Schritt als die Vorgängerarbeit, in dem die Ergebnisse weiter verfeinert und interpretiert wurden. Doch desto mehr man sich mit einem Thema befasst, desto mehr erkennt man wie wenig man eigentlich weiß. So wurden auch bei dieser Arbeit mit jedem weiteren Schritt neue Fragen aufgeworfen. Ein weiterer Schritt wäre mehr Informationen aus dem vorhandenen Ereigniskatalog in der Clusterung zu verwenden. Dafür müssten mehr Ereignisse und weitere dazu vorhandene Informationen wie zum Beispiel Magnitude, Latidude und Longitude der Ereignisse für den Algorithmus geeignet digitalisiert werden. Es könnte dann zum Beispiel eine Clusterung der Ereignisse nach Position auf der Karte untersucht werden. Die Grundlagen dafür sind schon in die Ereignisselektion eingebaut, es fehlt hier nur noch die Extraktion aus dem Ereigniskatalog. Außerdem sollten für zukünftige Clusterungen vor allem für schwächere Signale mehrere seismische Stationen kombiniert werden. Die Methode des Nanoseismic Monitoring kann hierfür zusammen mit den Supersonogrammen verwendet werden [47][48]. Diese ist im Anhang A näher erklärt. Ein Interessanter Versuch wäre eine selbstorganisierende Karte aus einem gesamten Datensatz zu erstellen. Bisher wurden Ereignisse von erfahrenen Seismologen im Datensatz markiert. Diese Ereignisse wurden dann mit einer bestimmten Länge (hier 70 Sekunden) für eine Clusterung verwendet. Man könnte nun einen Algorithmus entwickeln, der mit einer überlappenden Fensterfunktion den Datensatz „abfährt“. So könnte man zum Beispiel ein Fenster von 70 Sekunden mit einer Überlappung von 35 Sekunden zum vorherigen Fenster benutzen um kontinuierlich 70 Sekunden lange Teile des Datensatzes zu bekommen. Mit diesen Teilen würde dann eine selbstorganisierende Karte trainiert werden. Man hätte somit pro Tag knapp 2500 Ereignisse, was noch im Rahmen einer möglichen Auswertung ist. Es wäre interessant zu sehen, ob sich auf der Karte wieder bestimmte Cluster mit reinem Rauschen, beziehungsweise Ereignissen bilden. Hierbei müsste man für die Distanzfunktion der Karte eine Kreuzkorrelation oder ähnliches verwenden um die Zeitversätze der P-Einsätze der einzelnen Ereignisse zu kompensieren, da durch die Fensterfunktion ein unterschiedlich großes Zeitfenster vor dem P-Einsatz liegt. Durch die Überlappung bei der Fensterfunktion sollten alle Ereignisse nahezu komplett in einem Fenster vorhanden sein. Es gibt viele weitere Ansätze einer Clusterung, die aber noch mehr manuelle Interaktion erfordern. So wurde zum Beispiel auch in der Vorgängerarbeit vorgeschlagen, den P- und S-Einsatz getrennt auszuwählen um die S-P-Zeit als Clusterung zu entfernen. Hierfür kommt aber eine weitere Unsicherheit hinzu, da nun nicht nur an einer Stelle manuell ausgewählt wird, sondern an zwei. 10.2 Ausblick 87 10.2.1. Neue Methoden des Maschinellen Lernens Für eine Dimensionsreduktion werden anstatt der Principal Component Analysis auch weitere in den letzten Jahren entwickelte Methoden wie zum Beispiel die Kernel-PCA, Independant Component Analysis (ICA) oder Linear Discriminant Analysis (LDA) eingesetzt, welche sehr vielversprechende Ergebnisse liefern. Da sowohl bei Seismogrammen als auch bei der Sprachverarbeitung ähnliche Probleme gelöst werden müssen bietet es sich an, dort verwendete Algorithmen zu untersuchen. Dort ist es allerdings oft so, dass das Hauptproblem ist, aus dem Kontext zu verstehen welches Wort gemeint ist. So können unterschiedliche Worte diesselbe Aussprache haben. Allgemein müssen aber auch hier zuerst einmal die einzelnen Wörter extrahiert und ohne Kontext verstanden werden. Die im Moment meist verbreitetste Methode hierbei sind die Hidden Markov Models (HMM), wobei in den letzten Jahren auch Conditional Random Fields eine große Aufmerksamkeit erfahren haben. Oft genutzte Methoden für die Merkmalsextraktion sind Linear Predictive Coding (LPC) oder Wavelets. In der Sprachverarbeitung werden auch oft die Mel Frequency Cepstral Coefficients (MFCC) benutzt [49]. Hierbei wird versucht das Anregungssignal (Stimmbänder) und die Impulsantwort des Filters (Mund, Zunge, Nasenhöhlen, ...) zu dekorrelieren. In der Seismologie wäre das Anregungssignal der Herdprozess und der Filter das durchlaufende Medium. Die Berechnung der MFCC ist in gewissen Punkten der Sonogrammberechnung ähnlich. Bei den MFCC wird also eine Art Sonogramm berechnet, wobei die Frequenzbänder durch die MelSkala vorgegeben sind, diese skaliert Frequenzen so, dass sie dem menschlichen Wahrnehmen von Tonhöhen entsprechen. Danach wird durch eine diskrete Kosinustransformation die Dekorrelation erreicht. Das Resultierende Signal wird Cepstrum genannt (Buchstabendreher von Spectrum), da es eine Art inverse Fouriertransformation des Spektrogramms ist. In [49] und weiteren Arbeiten wird auf die Ähnlichkeit der spektralen Basisfunktionen der diskreten Kosinustransformation mit den Principal Components des Spektrums bei Sprachsignalen hingewiesen. Diese Ähnlichkeit könnte für seismische Signale überprüft werden. Außerdem könnten die Ceptren allgemein für eine Clusterung von seismischen Signalen analysiert werden. Fast man die Ereignisse in den Sonogrammen als zweidimensionale Muster auf, können auch Methoden des maschinellen Sehens (Computer Vision) verwendet werden. Hierbei wird oftmals versucht Konturen aus Bildern zu extrahieren, wobei zum Beispiel Fourier Deskriptoren sehr hilfreich sind. Außerdem wurde gezeigt, dass sich Fourier Deskriptoren eigenen um Grenzen von Wörtern zu charakterisieren [50], was auch bei unterschiedlichen Einsätzen von seismischen Ereignissen sehr hilfreich sein könnte. Außerdem erfährt der Bereich der Neuronalen Netze im Moment wieder viel Aufmerksamkeit beim maschinellen Lernen. Im Bereich des Deep Learning mit den Deep Belief Networks werden hier sehr gute Resultate erzielt. Hierbei werden sehr viele versteckte Schichten in einem Neuronalen Netz verwendet, die jeweils nacheinander trainiert werden. Literaturverzeichnis [1] H. Berckhemer, Grundlagen der Geophysik. 1997. Wissenschaftliche Buchgesellschaft, [2] L. Yang, “Seismic search engine,” Poster ISS09 CTBTO, 2009. [3] D. W. Forsyth, T. Lay, R. C. Aster and B. Romanowicz, “Grand challenges for seismology,” Eos Trans. AGU 90(41), 2009. [4] M. Guggenmos, “Selbstorganisierende Karten in der seismischen Datenanalyse,” Diplomarbeit, Universität Stuttgart, 2009. [5] M. Joswig, “Automated classification of local earthquake data in the bug small array,” Geophysical Journal International, 1995. [6] M. Joswig, “Automated seismogram analysis for the tripartite bug array: An introduction,” Computers & Geosciences Vol. 19. No. 2 pp. 203-206, 1993. [7] C. M. Bishop, Pattern Recognition and Machine Learning. Springer, Berlin, 2007. [8] R. C. Tryon, Cluster analysis: correlation profile and orthometric (factor) analysis for the isolation of unities. Edwards brother, inc., litho printers and publishers, 1939. [9] A. Papoulis and S. U. Pillai, Probability, Random Variables, Stochastic Processes. Mcgraw-Hill Higher Education, 2002. [10] “Fdsn station map,” 2007, Abruf: 18.6.2010. [Online]. Available: http://www.fdsn.org/ stations/FDSNstations.htm [11] E. Wielandt, Wechselwirkungen Jahrbuch. Universität Stuttgart, 1996, ch. Seismographen. [12] E. Wielandt, New manual of seismological observatory practice (NMSOP). GeoForschungsZentrum Potsdam, 2002, Abruf: 18.6.2010. [Online]. Available: http://www.gfz-potsdam.de/portal/-?$part=CmsPart&docId=3541274 [13] J. Peterson, “Observations and modelling of background seismic noise,” Open-file report 93-322, U. S. Geological Survey, Albuquerque, New Mexico, 1993. [14] P. Shearer, Introduction to Seismology. Cambridge University Press, 1999. [15] C. M. R. Fowler, The Solid Earth: An Introduction to Global Geophysics. Cambridge University Press, 2004. [16] L. Braile, “Seismic wave demonstrations and animations,” 2010, Abruf: 18.6.2010. [Online]. Available: http://web.ics.purdue.edu/~braile/edumod/waves/WaveDemo.htm [17] B. A. Bolt, Earthquakes. W H Freeman & Co, 2005. [18] D. Gubbins, Time Series Analysis and Inverse Theory for Geophysicists. University Press, 2004. Cambridge 90 Literaturverzeichnis [19] M. Joswig, “Methoden zur automatischen Erfassung und Auswertung von Erdbeben in seismischen Netzen und ihre Realisierung beim Aufbau des lokalen ’Bochum University Germany’ - Netzes,” Ph.D. dissertation, Ruhr-Universität Bochum, Diss., 1987. [20] M. Joswig, “Single-trace detection and array-wide coincidence association of local earthquakes and explosions,” Computers & Geosciences Vol. 19. No. 2 pp. 207-221, 1993. [21] I. Jolliffe, Principal Component Analysis. Springer-Verlag, New York., 1986. [22] M. Wall, A. Rechtsteiner and L. Rocha, “Singular value decomposition and principal component analysis,” A Practical Approach to Microarray Data Analysis (D.P. Berrar, W. Dubitzky, M. Granzow, eds.), Kluwer, Norwell, MA, 2003. pp. 91-109. [23] J. Yang and D. Zhang, “Two-dimensional pca: A new approach to appearance-based face representation and recognition,” IEEE Transactions on Pattern Analysis. Machine Intelligence. PAMI-26 (1), 131-137., 2004. [24] L. Wang, X. Wang, X. Zhang and J. Feng, “The equivalence of two-dimensional pca to line-based pca,” Pattern Recognition Letters Volume 26, Issue 1, 1 January 2005, Pages 57-60, 2005. [25] T. Kohonen, Self-organizing Maps. Springer, Berlin, 2000. [26] D. Kriesel, “ Ein kleiner Überblick über Neuronale Netze ,” 2007, erhältlich auf http://www.dkriesel.com. [27] C. M. Bishop, Neural Networks for Pattern Recognition. 1995. [28] S. Haykin, Neural Networks - A Comprehensive Foundation. Oxford University Press, Prentice Hall, 1998. [29] T. Kohonen and P. Somervuo, “How to make large self-organizing maps for nonvectorial data,” Neural Networks 15, S. 945–952 75, 114, 2002. [30] T. Kohonen, “The self-organizing map (som),” 2005, Abruf: 23.06.2010. [Online]. Available: http://www.cis.hut.fi/projects/somtoolbox/theory/somalgorithm.shtml [31] J. Vesanto, “Som-based data visualization methods,” Intelligent Data Analysis 3, S. 111–126, 1999. [32] R. Neumayer, R. Mayer and A. Rauber, “Component selection for the metro visualisation of the som,” In Proceedings of the 6th International Workshop on Self-Organizing Maps (WSOM’07), Bielefeld, Germany, 2007. [33] R. Mayer, R. Neumayer, D. Baum and A. Rauber, “Analytic comparison of selforganising maps,” Proceedings of the 7th International Workshop on Self-Organizing Maps (WSOM’09), St. Augustine, FL, USA, 2009. [34] G. Pölzlbauer, “Survey and comparison of quality measures for self-organizing maps,” 2004. [35] GFZ Potsdam, “Geofon projekt,” Abruf: 07.03.2010. [Online]. Available: http: //geofon.gfz-potsdam.de/geofon/ [36] A. Belmonte-Pool, “Krustale Seismizität, Struktur und Rheologie der Oberplatte zwischen Präkordillere und dem magmatischen Bogen (22 ◦ − 24 ◦ ),” Ph.D. dissertation, Veröffentlichung des Fachbereichs Geowissenschaften der Johann Wolfgang Goethe Universität, Institut für Meteorologie und Geophysik, Frankfurt, 2002. Literaturverzeichnis 91 [37] Wikipedia, “Plattentektonik,” Abruf: 17.07.2010. [Online]. Available: http://de. wikipedia.org/wiki/Datei:Subduktion.jpg [38] J.-L. Auget, N. Balakrishnan, M. Mesbah and G. Molenberghs, Advances in Statistical Methods for the Health Sciences, ser. Statistics for Industry and Technology. Birkhäuser Boston, 2007, ch. Multilevel Clustering for Large Databases. [39] O. Elemento, “Using principal component analysis to initialize and validate kohonen maps (in french),” Proceedings of the Annual French Classification Society Conference, 1999. [40] M. Ester and J. Sander, Knowledge Discovery in Databases. Springer, 1999, 2000. [41] C. Ding and X. He, “K-means clustering via principal component analysis,” in ICML ’04: Proceedings of the twenty-first international conference on Machine learning. New York, NY, USA: ACM, 2004, p. 29. [42] M. Turk and A. Pentland, “Eigenfaces for recognition,” Journal of Cognitive Neuroscience 3(1), 1991. [43] M. Turk and A. Pentland, “Face recognition using eigenfaces,” in IEEE Conference on Computer Vision and Pattern Recognition, Maui, HI, June 1991. [44] T. Kohonen, J. Hynninen, J. Kangas and J. Laaksonen, “Som pak: The self-organizing map program package,” Report A31, Helsinki University of Technology, Laboratory of Computer and Information Science, 1996. [45] J. Vesanto, J. Himberg, E. Alhoniemi and J. Parhankangas, “Self-organizing map in matlab: the som toolbox,” In Proceedings of the Matlab DSP Conference 1999, Espoo, Finland, pp. 35-40, 1999. [46] IRIS, “Seed manual,” Abruf: 20.6.2010. [Online]. Available: http://www.iris.edu/ manuals/SEED_chpt1.htm [47] G. H. Wust-Bloch and M. Joswig, “Pre-collapse identifcation of sinkholes in unconsolidated media at dead sea area by ’nanoseismic monitoring’ (graphical jackknife location of weak sources by few, low-snr records),” Geophysical Journal International, 167:1220 1232. 22, 26, 2006. [48] M. Joswig, “Nanoseismic monitoring fills the gap between microseismic networks and passive seismic,” First Break, 26, 121-128, 2008. [49] S. Davis and P. Mermelstein, “Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences,” IEEE Transactions on Acoustics, Speech, and Signal Processing, 28(4), pp. 357–366, 1980. [50] B. Pinkowski, “Principal component analysis of speech spectrogram images,” Pattern Recognition Volume 30, Issue 5, May 1997, Pages 777-787, 1997. A. Nanoseismic Monitoring Um sehr kleine Ereignisse aufzuspüren, wurde die Methode des Nanoseismic Monitoring entwickelt. Es ist in der Seismologie üblich, durch stapeln der Seismogramme von mehreren Stationen ein besseres Signal-Rausch-Verhältnis zu bekommen. Außerdem kann erst durch mehrere Stationen eine Lokalisierung der Ereignisse geschehen. Um die Seismogramme zu stapeln müssen jedoch die unterschiedlichen Zeitverzögerungen an einzelnen Messstationen durch die verschiedenen Abstände zum Ereignisherd berücksichtigt werden. Am Institut für Geophysik der Universität Stuttgart wurde das sogenannten Seismic Navigation System (SNS) entwickelt. Dies besteht aus vier sehr nah beieinander liegenden seismischen Stationen (siehe Abbildung A.1 für den genauen Aufbau). Es ermöglicht die Aufzeichnung sehr schwacher Ereignisse. Außerdem wurde eine Methode entwickelt, die die Signale dieser vier Stationen in einem Sonogramm visualisiert, die sogenannten Supersonogramme. Diese Methode bietet zum einen den Vorteil einer sehr übersichtlichen Darstellung vieler Stationen, zum anderen könnte diese Darstellung auch für eine Mustererkennung sehr hilfreich sein. North 1C 3C Center 1C West 1C East Abbildung A.1.: Seismic Navigation System. In der Mitte befindet sich ein sogenanntes Dreikomponenten-Seismometer (3C), dass zwei vertikale sowie eine horizontale Bewegung misst. In einem Dreieck um diese Station, mit circa 100 Meter Abstand verteilt, befinden sich drei Einkomponenten-Seismometer (1C), die nur eine vertikale Bewegung aufzeichnen. Bei den Supersonogrammen werden zuerst die vier Sonogramme der vier Einzelstationen eines SNS berechnet. Daraufhin wird ein neues „leeres“ Sonogramm erstellt, dass doppelte Breite und Höhe der ursprünglichen Sonogramme hat. Dieses wird dann mit den Werten aus den vier Sonogrammen, wie in Abbildung A.2 gezeigt, gefüllt. Es wird also jeweils eine Art großer Pixel (entspricht 2x2 normalen Pixeln) des Supersonogramms mit den vier einzelnen Pixeln der Sonogramme von den jeweils gleichen Frequenz- und Zeitpositionen gefüllt. 94 Nanoseismic Monitoring Die Darstellung als Supersonogramme ist beim Nanoseismic Monitoring ohne Zeitkorrekturen möglich, da die Zeitverzögerungen von Ereignissen an den unterschiedlichen Stationen eines SNS durch die kurzen Abstände zu gering sind um die Darstellung zu verfälschen. Bei dem in dieser Arbeit verwendeten Datensatz stehen die Stationen für diese Methode zu weit auseinander. N W E C North 1C 3C Center 1C East 1C West SNS W N C E Abbildung A.2.: Aufbau eines Supersonogramms. N, C, W, E, entspricht North, Center, West und East, also den vier Positionen der Stationen innerhalb eines SNS. Erklärung Hiermit erkläre ich, dass ich diese Arbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Die Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht. Stuttgart, 21. Juli 2010 Benjamin Sick