Analyse und Kategorisierung großer Datensätze

Neue Frage »

Pocoporco Auf diesen Beitrag antworten »
Analyse und Kategorisierung großer Datensätze
Meine Frage:
Hallo zusammen,

ich suche im Rahmen meiner Bacheloarbeit nach einer Möglichkeit verschiedene Datensätze zu analysieren und zu kategorisieren. Konkret:

Ich habe zahlreiche Listen mit Messwerten. Die Reihenfolge der Listeneinträge ist wichtig, da sie die zeitliche Differenz zwischen zwei Messwerten angibt. Hier einmal exemplarisch der Inhalt einer Liste.

0, 23, 15666, 20, 67, 20, 15580, 29, 36, 21, 15614, 21, 14016, 20, 23, 43, 15615, 19, 47, 39, 15582, 30, 56, 21, 15581, 20, 66, 23, 15594, 17, 4917, 15611, 21, 43, 15645, 20, 23, 64, 15601, 21, 43, 24, 19, 44, 15601, 20, 23, 21, 22, 21, 15591 (die Liste ist jedoch bedeutend größer)

Wie ihr sehen könnt, gibt es intervallähnliche Muster. Es gibt immer ein paar kleine Werte, gefolgt von einem großen Wert. Bei anderen Listen ist dies ähnlich, aber die Werte müssen nicht im gleichen Wertebereich liegen.

Meine Frage an euch ist nun:
1. Habt ihr eine Idee, wie man eine einzelne Liste auf Gemeinsamkeiten untersuchen kann? Es ist wichtig, dass ich quasi ein Intervallschema pro Liste erhalte, denn

2. Ich möchte die Listen untereinander anschließend auf das Intervallschema vergleichen, um dort eventuelle Gemeinsamkeiten feststellen zu können, sodass ich mit einer prozentuellen Wahrscheinlichkeit sagen kann, dass die beiden Listen von dem selben Messobjekt stammen.

Im Anhand noch ein paar weitere Messreihen (01, 02, 03).


Meine Ideen:
Da meine Mathematikkenntnisse leider eingeschränkt sind, habe ich bisher einfach eine Durchschnittsberechnung für alle kleinen und großen Werte gemacht.

Aber ich glaube, etwas aus dem Bereich der Stochastik oder Statistik würde mir sicherlich detailiertere Informationen dazu geben können. Ich habe mal Stichworte wie "Streuung" oder "Bayes-Netzwerk" aufgeschnappt, bin mir aber nicht sicher, ob ich damit weiterkomme? Auch habe ich mir eine Messreihe einfach mal graphisch darstellen lassen (graph01.png, Y-Achse: Zeitdifferenz zwischen zwei Werten, X-Achse: Anzahl der Messpunkte). Das Ergebnis sieht recht ansehnlich aus, bringt mich aber auch nicht wirklich weiter...

Ich wäre euch für Vorschläge und Schlagworte nach denen ich suchen kann sehr dankbar!

Liebe Grüße,
Pocoporco
Steffen Bühler Auf diesen Beitrag antworten »
RE: Analyse und Kategorisierung großer Datensätze
Eine typische Analyse wäre hier eine Zerlegung in die Fourierkomponenten. Das wird bei Zeitreihen gerne getan, um zu sehen, ob etwas regelmäßig auftaucht. Ich habe das mal für Deine erste Zeitreihe getan, allerdings nur für die ersten 128 Werte, weil ich gerade nur eine FFT hatte.

Du siehst hier zum Beispiel bei 9 eine Spitze im Spektrum. Etwas kommt also neunmal im selben Abstand in Deiner Zeitreihe vor. Eine weitere Auffälligkeit ist die Spitze bei 48.

Ich kann mir gut vorstellen, daß solche eine Frequenzanalyse für Deine Untersuchungen nützlich ist. Wenn Du weitere Hilfe brauchst, sind wir gern für Dich da.

Viele Grüße
Steffen
Pocoporco Auf diesen Beitrag antworten »

Hallo Steffen,

vielen lieben Dank für deine Hilfe. Leider bin ich erst jetzt dazu gekommen darauf zu antworten.
Ich muss gestehen, mein Wissen in der Mathematik leider nur beschränkt ist. Wir hatten ganz oberflächlich einmal die FFT in Numerik (für Informatiker) durchgenommen, allerdings wirklich nur ganz kurz...

Ich würde gerne nochmal deine/eure Hilfe in Anspruch nehmen!

Und zwar, wie könnte ich, nachdem ich für jede Messreihe eine FFT gemacht habe, anschließend sagen, ob es Gemeinsamkeiten zwischen den Messreihen gibt?

Ist eine FFT auch wirklich das Richtige dafür? Ich dachte, ich müsste mich mit irgendwelchen Wahrscheinlichkeiten durchschlagen?

Und mit welchem Programm hast du die FFT denn erstellt? Ich habe es mal mit Matlab versucht ( fft(Zahlenarray)) ), allerdings bekomme ich die Messwerte direkt aus einer JAVA-Anwendung...(evtl. einen Vorschlag für eine gute Lib?).

Liebe Grüße,
pocoporco
Steffen Bühler Auf diesen Beitrag antworten »

Zitat:
Original von Pocoporco
Und zwar, wie könnte ich, nachdem ich für jede Messreihe eine FFT gemacht habe, anschließend sagen, ob es Gemeinsamkeiten zwischen den Messreihen gibt?


Indem Du zeigst, daß bei bestimmten Meßreihen identische Frequenzkomponenten enthalten sind.

Zitat:
Original von Pocoporco
Ist eine FFT auch wirklich das Richtige dafür?


In der Signalverarbeitung wird sie eigentlich immer dafür hergenommen. Natürlich sind auch Einzahlkennwerte wie Effektivwert, Spitzenwert, Crestfaktor, Kurtosis, Schiefe etc. interessant, zum Beispiel bei Kugellagerschwingungen. Es kommt halt drauf an, was Deine Zeitreihe darstellt.

Zitat:
Original von Pocoporco
Und mit welchem Programm hast du die FFT denn erstellt?


Ganz primitiv mit Excel.

Viele Grüße
Steffen
Pocoporco Auf diesen Beitrag antworten »

Die Zeitreihe zeigt den Abstand in ms von versendeten WLAN-Packeten an. Es geht um Packete, welche z.B. von einem Handy aus in einem regelmäßigem Intervall verschickt werden (Probe Requests). Ich will versuchen zu zeigen, dass man aufgezeichnete Packete anhand ihres "Intervallschemas" einem bestimmten WLAN-Adapter zuweisen kann, denn jeder Adapter geht da unterschiedlich vor.
Steffen Bühler Auf diesen Beitrag antworten »

Danke für die Zusatzinformation.

Sowas würde ich persönlich fast schon reflexartig mit einer FFT analysieren. Dann zeigt das Spektrum, das ich für 01.txt beigelegt habe, also die "Paketfrequenz". (Bitte schreibe spätestens in der abgegebenen Arbeit besser "Paket" statt "Packet", sieht einfach besser aus...)

Diesem Spektrum liegen dann also 128 ms zugrunde, also bedeutet die 1, daß etwas einmal in 128 ms passiert ist, die 2, daß etwas zweimal passiert ist etc.

Nun haben wir dort ja einen Peak bei 48, in diesen 128 ms wird also offenbar etwas 48mal etwas getan, das deutlich hervortritt. Das geschieht dann mit einer Frequenz von 375 Hz, wenn man's ausrechnet. Hier gibt es also ein Handy, das 375mal in der Sekunde ein Paket verschickt, wenn ich Dich richtig verstehe. Also in einem Intervall von 2,666 ms.

Wenn es das ist, was Du analysieren möchtest, dann sollte die FFT das Mittel der Wahl sein. Wie immer, wenn regelmäßige Vorgänge untersucht werden.

Viele Grüße
Steffen
 
 
Pocoporco Auf diesen Beitrag antworten »

Danke für den Hinweis mit dem Paket Big Laugh

Hm, ein Handy, welches 375 Pakete in der Sekunde verschickt?
Vielleicht habe ich mich falsch ausgedrückt. Die Messwerte in der 01.txt sind von einem einzigen Handy. Ich beobachte, dass die meisten Geräte innerhalb eines Intervalls von einer Sekunde zwischen 4 und 6 Pakete verschicken (rapid-burst) und dann ca 5-20 Sekunden warten (inter-burst). Dieses Schema sieht man schön im graph01.

Du schreibst von 128ms... ich glaube, wir vertauschen die Achsen?
Der erste Wert in den Textdateien ist quasi die Paketnummer und der zweite Wert ist die zeitliche Differenz in ms zum Vorherigen. Entschuldige, falls ich mich unklar ausgedrückt hatte! Verstehst du nun, was ich meine? Oder stehe ich total auf dem Schlauch? Augenzwinkern

Auf jeden Fall vielen Dank für deine Hilfe! Ich bin dir echt dankbar!
Steffen
Steffen Bühler Auf diesen Beitrag antworten »

Ich hab jetzt kapiert, was Du meinst, und mir die Daten auch lange angeschaut. Deine Idee ist also wohl, anhand des Musters, wie oft und wie hoch eine lange Pause auftritt, die Datenreihen zu unterscheiden. Hier ist die FFT in der Tat nicht so doll, zumal Du ja wahrscheinlich eine Kennzahl haben willst.

Ich habe ein bißchen rumprobiert und könnte mir vorstellen, daß der genannte Crestfaktor oder die Kurtosis hier helfen könnten. Beide gehen bei "Ausreißern" in den Daten nach oben, und darum scheint's Dir ja zu gehen. Ich habe für

01: Crest 10,4 und Kurt 74,1
02: Crest 10,8 und Kurt 72,6
03: Crest 4,2 und Kurt 6,7

Handy 1 und 2 lassen sich (auch mit anderen Methoden) nur schwer unterscheiden, die Daten sind einfach zu ähnlich. Handy 3 dagegen kommt ganz anders daher. Ich habe auch noch mal die im ersten Posting hingeschriebenen Daten angeschaut, die haben sogar eine negative Kurtosis und einen Crest von nur 2,3. Das ist dann wohl wieder ein anderes Handy.

Vielleicht helfen Dir diese Ansätze ja weiter.

Viele Grüße
Steffen
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »