www.mikrocontroller.net

Forum: PC-Programmierung Ähnlichkeit von mehrdimensionalen Datensätzen


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumskollegen,

Ich habe Datensätze, wobei ein Datensatz aus 8 Messwerten (Double Werte) 
besteht.
Nun möchte ich die Ähnlichkeit der Datensätze zu einem bestimmten 
Datensatz berechnen.

Beispiel:

Data_0: 130.3, 2.0, 1.0, 1.0, 2.5, 3.0, 4.0, 8.0
Data_1: 120.5, 3.4, 4.2, 1.0, 3.5, 4.4, 0.0, 7.0
Data_2: 144.6, 2.7, 1.2, 3.3, 4.8, 2.1, 3.3, 1.2

Ich möchte nun z.B. berechnen, ob Data_1 oder Data_2 dem Datensatz 
Data_0 ähnlicher ist.
Was auch noch wichtig ist: Die Wertebereiche der Messwerte innerhalb 
eines Datensatzes sind unterschiedlich.

Ich bin derzeit etwas ratlos, wie ich das am Besten lösen soll. Habt Ihr 
eventuell irgendwelche Vorschläge, Verfahren wie man das lösen könnte?

Vielen Dank für Eure Hilfe!

Max

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Definiere: "was ist ähnlich"
2. Berechne das für alle n*n Paare (wobei auf den Diagonalen
   jeweils ein Satz zu sich selbst ähnlich ist, also eigentlich
   nicht gerechnet werden muß)

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Frage was ist ähnlich: das kannst nur du wissen.
Es gibt da mehrere Möglichkeiten:
- Bei jeder Paarung einfach die Beträge der Differenzen
  summieren, hoher Wert = unähnlich
- Bei jeder Paarung die Quadrate der Differenzen summieren
  (Betrag nicht nötig, starke Abweichung einzelner Werte schlagen
  stärker durch)
- ggf. mit Gewichtung der Werte, also z.B. wenn die Werte der
  ersten Spalte nicht so stark eingehen sollen wie die der zweiten,
  dann die Quadrate der zweiten Spalte mit einem höheren Wert
  multiplizieren

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: man muß ja gar nicht für alle n*n Paare rechnen, sondern neben
der Diagonale (a<->a, b<->b, c<->c, ...) entfällt weiterhin eine
komplete Hälfte, weil a<->b ja den gleichen Wert liefern sollte wie
b<->a.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Klaus,

Danke für deine raschen Antworten.
Da hast du recht, dass "Ähnlichkeit" genauer definiert werden müsste.
Eine Gewichtung muss ich auf jeden Fall einführen.
Ich werde mir jetzt weitere Gedanken machen und mich gegebenenfalls 
nochmals melden.

Vielen Dank

Max

Autor: Finsbury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann man davon ausgehen, dass die besagten unterschiedlichen 
Messbereiche des Datensatzes pro Spalte dieselben sind? Dann hilft 
vielleicht eine spaltenweise Standardabweichung (Fehlerstreuung um den 
Mittelwert)? So lässt sich zumindest spaltenweise eine Aussage treffen

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die räumliche Distanz der Punkte berechnen, also die 
Differenzen in jeder Dimension quadrieren, alles addieren und am Ende 
nochmal die Wurzel über alles. Ein Mathematiker könnte da jetzt ein 
schöne Formel draus machen, bin ich aber nicht :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.