|
|
Problem mit Cluster Analyse großer Datenmengen |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.12.2014, 10:53
Titel: Problem mit Cluster Analyse großer Datenmengen
|
 |
|
 |
|
Guten Morgen,
Ich bin derzeit ein wenig ratlos beim Programmieren eines Scriptes und hab noch nicht so wirklich was gefunden, was mir weiterhilft.
Ich habe eine riesige Matrix (100k+ x 450) mit Messdaten. Jede Zeile ist eine Messreihe. Zur Auswertung hatte ich zunächst mir jede Zeile plotten und speichern lassen. Da das allerdings natürlich auch eine hohe Datenmenge ist und die Auswertung (Vergleichen der Plots etc.) mit einem hohen Aufwand verbunden ist, würde ich gerne eine Vorsortierung durchführen, die sich auf den Kurvenverlauf bezieht. Darunter stelle ich mir in etwa eine Unterteilung wie "Rauschen", "Sinusförmig", "Exponentiell", etc. vor. Dabei kann allerdings kein (mittlerer) Wertebereich definiert werden, in dessen Bereich sich die Funktion entwickelt, weswegen tatsächlich nur anhand der "Form" des Plots eine Sortierung durchgeführt werden kann.
Bisher habe ich noch nicht mit Clustern gearbeitet und bin mir ziemlich unsicher mit welcher Funktion ich am besten arbeiten sollte und wie.
Probeweise (und vermutlich aus meiner Unwissenheit heraus) habe ich mit pdist und linkage versucht die Matrix einzulesen. Beide gaben mir nur eine Fehlermeldung zurück (Undefinierte Funktion für double Input). NaN und Inf wurden bereits ersetzt.
Ich hoffe, dass mir jemand einen Denkanstoß geben kann
Vielen Dank schon mal!
|
|
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.12.2014, 11:37
Titel:
|
 |
Guten Morgen,
zur Clusteranalyse extrahiert man doch zunächst aus den Signalen verschieden Merkmale (z.B. Mittelwert, Effektivwert, Wölbung, usw.). Anhand dieser Merkmale wird dann die Clusteranalyse durchgeführt. Ich verwende dazu "self-organizing maps".
Durch das generieren von Merkmalen spart man sich den Aufwand des Speicherns der Plots. Wie vergleichst du die plots denn miteinander?
Viele Grüße,
Sigi
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.12.2014, 12:01
Titel:
|
 |
Hallo Sigi,
Danke für die rasche Antwort
Wie gesagt, ich habe bisher noch nicht mit Clustern gearbeitet. Es ist also gut möglich, dass gar nichts rauskommen kann, wenn ich schon von vornherein einen falschen Input (in dem Fall Rohdaten) eingebe.
Zu der Auswertung der Plots:
Ich habe genau gewusst, wonach ich suche, wusste wo ich es in etwa finde und mir somit die entsprechenden Zeilen herausgepickt. Diese Datensätze habe ich mit Matlab geplottet und als tif gespeichert. Die Bilddateien habe ich mir dann eben angesehen und die Stabilität des Kurvenverlaufs bewertet.
Nun möchte ich mich aber nicht nur auf den Bereich beschränken, bei dem ich den Verlauf kannte/erahnte.
Ich kann gerne den Code für die Ploterstellung + -speicherung posten, ich dachte jedoch, dass es nicht wirklich hilft.
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.12.2014, 12:22
Titel:
|
 |
So ganz klar ist mir noch nicht was du vorhast...
Willst du alle Messdateien zu verschiedenen Klassen zuordnen oder nur teilweise bestimmte Messdateien untersuchen?
Du hast dir ja hoffentlich nicht 100k plots angeschaut
Normalerweise würde ich folgende Vorgehensweise ausprobieren:
1. Messdaten einlesen
2. evtl. Signalverarbeitung (TP, Hüllkurve, ...) <- das muss aber nicht sein
3. Merkmalextraktion
4. Clustering
Wenn du nur bestimmte Bereiche der Messwerte analysieren willst solltest du diese Bereiche am besten für alle Messdaten extrahieren und dann nur für diese Bereiche die Merkmale generieren.
Welche Merkmale am besten geeignet sind hängt von deinen Messwerten ab. Je besser die Merkmale gewählt, desto besser ist auch das Clusterergebnis.
Am Ende hättest du dann alle Messdaten in verschieden Klassen eingeteilt.
Ist das dein Ziel?
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.12.2014, 15:06
Titel:
|
 |
Hallo Sigi,
Ich kann dich beruhigen, ich habe mir natürlich nicht all 100k Plots angeschaut, deswegen wollte ich ja den ganzen Spaß
Mittlerweile habe ich das Problem mit Hilfe einer Normierung der Datensätze, einer SNR-Verbesserung und anschließend mit der Charakterisierung jedes Datensatzes durch einen Gradienten lösen können. Das Letzte ist bisher noch als optionale Komponente eingebaut.
Nun arbeitet alles prima und wie immer steckt die Lösung in den einfachen Ansätzen
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|