Я хотел бы вычислить меру сходства между двумя упорядоченными наборами точек - теми, что под Пользователем, и теми, что под Учителем :
Точки - это кривые в трехмерном пространстве, но я думал, что проблема упрощается, если я нанесу их в двух измерениях, как на картинке. Если точки перекрываются, сходство должно быть 100%.
Ответы:
Вы сравниваете траектории или кривые . Это изучаемая тема. Анализ прокрустов и динамическое искажение времени , как говорит EMS, являются инструментами торговли. Выровняв кривые, вы захотите измерить расстояние, скажем, расстояние Фреше . Если вы хотите поделиться некоторыми своими данными, мы могли бы сами разобраться с ними.
Соответствующее чтение:
Если вы игнорируете временное измерение:
Вы можете приспособить пользователя и учителя к многомерному гауссову плотности и найти объем их продукта - это довольно просто. Если вы хотите большей точности, вы можете вместо этого использовать непараметрическую оценку плотности.
источник
Вы могли бы рассмотреть расстояние Procrustes или некоторое расстояние, основанное на динамической деформации времени (даже если одно из ваших измерений не является «временем» как таковым, вы все равно можете использовать эту идею преобразования). Посмотрите эту недавнюю работу над треклетами для иллюстративного использования динамического искажения времени для измерения сходства между трехмерными пространственными кривыми, вырезанными по точечным траекториям в видео.
Существует много библиотек со встроенными вычислениями расстояний Procrustes , таких как Matlab или библиотека PyGeometry для Python.
источник
Оригинальный пост попросил метрики между упорядоченными точками в 3D. Единственной такой метрикой является расстояние Фреше. Не было упоминания времени как одного из измерений, поэтому я предположил бы, что все измерения имеют единицы измерения расстояния (т.е. единицы не смешаны). Это можно сделать, изменив функцию, недавно загруженную в обмен файлами MathWorks (расчет расстояния Фреше: http://www.mathworks.com/matlabcentral/fileexchange/38714 ). Эти процедуры были написаны для точек на плоскости, но расширение до 3D-точек является простым.
источник
источник
Сходство - это количество, которое отражает силу отношений между двумя объектами или двумя признаками. Эта величина обычно имеет диапазон от -1 до +1 или нормируется на 0 до 1. Затем вам нужно вычислить расстояние двух объектов одним из следующих способов:
Для линии ... вы можете представить ее в свойствах angle (a) и length (l) или L1 = P1 (x1, y1), P2 (x2, y2) ниже - это сходство с a и l.
Теперь измерьте угол для углов и длин
Использование евклидова расстояния
Сходство = SquareRoot ((A_user - A_teacher30) ^ 2 + (Length_User - Length_Teacher) ^ 2)
дает меру сходства. Вы также можете использовать вышеупомянутые методы, основанные на проблеме и возможностях.
источник