Ich möchte das Ähnlichkeitsmaß zwischen zwei geordneten Punktmengen berechnen - die unter Benutzer im Vergleich zu den unter Lehrer :
Die Punkte sind Kurven im 3D-Raum, aber ich dachte, dass sich das Problem vereinfacht, wenn ich sie wie im Bild in zwei Dimensionen zeichne. Wenn sich die Punkte überlappen, sollte die Ähnlichkeit 100% betragen.
Antworten:
Sie vergleichen Flugbahnen oder Kurven . Dies ist ein untersuchtes Thema. Die Analyse von Prozessen und das dynamische Time Warping sind , wie EMS sagt, das Handwerkszeug. Wenn Sie die Kurven ausgerichtet haben, möchten Sie den Abstand messen, beispielsweise den Fréchet-Abstand . Wenn Sie einige Ihrer Daten teilen möchten, könnten wir selbst einen Riss drauf machen.
Relevante Lektüre:
Wenn Sie die zeitliche Dimension außer Acht lassen:
Sie könnten den Benutzer und den Lehrer dazu bringen, die Gaußschen Dichten zu multivariieren und das Volumen ihres Produkts zu ermitteln - das ist ziemlich einfach. Wenn Sie mehr Genauigkeit wünschen, können Sie stattdessen eine nichtparametrische Dichteschätzung verwenden.
quelle
Sie können die Entfernung von Procrustes oder eine Entfernung aufgrund dynamischer Zeitverzerrungen in Betracht ziehen (auch wenn eine Ihrer Dimensionen nicht per se "Zeit" ist, können Sie diese Transformationsidee dennoch verwenden). In dieser aktuellen Arbeit zu Tracklets finden Sie einen anschaulichen Anwendungsfall für dynamisches Time Warping zur Messung der Ähnlichkeit von 3D-Raumkurven, die anhand von Punkttrajektorien in Videos erstellt wurden.
Es gibt viele Bibliotheken mit integrierten Procrustes-Abstandsberechnungen, z. B. Matlab oder die PyGeometry- Bibliothek für Python.
quelle
Im ursprünglichen Beitrag wurde nach einer Metrik zwischen BESTELLTEN Punkten in 3D gefragt. Die einzige solche Metrik ist die Frechet-Distanz. Es wurde keine Zeit als eine der Dimensionen erwähnt, daher würde ich davon ausgehen, dass alle Dimensionen Entfernungseinheiten haben (dh die Einheiten sind nicht gemischt). Dies kann erreicht werden, indem eine Funktion geändert wird, die kürzlich in den MathWorks-Dateiaustausch hochgeladen wurde (Frechet-Entfernungsberechnung: http://www.mathworks.com/matlabcentral/fileexchange/38714 ). Diese Routinen wurden für Punkte in der Ebene geschrieben, die Erweiterung auf 3D-Punkte ist jedoch unkompliziert.
quelle
quelle
Ähnlichkeit ist eine Größe, die die Stärke der Beziehung zwischen zwei Objekten oder zwei Merkmalen widerspiegelt. Diese Größe hat normalerweise einen Bereich von -1 bis +1 oder ist auf 0 bis 1 normiert. Dann müssen Sie den Abstand zweier Merkmale mit einer der folgenden Methoden berechnen:
Für Linie ... können Sie es durch die Eigenschaften Winkel (a) und Länge (l) darstellen, oder L1 = P1 (x1, y1), P2 (x2, y2) unten ist die Ähnlichkeit mit a und l.
Messen Sie nun den Winkel für Winkel und Längen
Verwenden der euklidischen Distanz
Ähnlichkeit = SquareRoot ((A_user - A_teacher30) ^ 2 + (Length_User - Length_Teacher) ^ 2)
gibt das Ähnlichkeitsmaß an. Sie können auch die oben genannten Methoden verwenden, die auf dem Problem und den Funktionen basieren.
quelle