Me gustaría calcular la medida de similitud entre dos conjuntos ordenados de puntos, los que están en Usuario en comparación con los que están en Maestro :
Los puntos son curvas en el espacio 3D, pero estaba pensando que el problema se simplifica si los trazo en 2 dimensiones como en la imagen. Si los puntos se superponen, la similitud debe ser del 100%.
Respuestas:
Estás comparando trayectorias o curvas . Este es un tema estudiado. El análisis de procrustes y la deformación dinámica del tiempo , como dice EMS, son herramientas del oficio. Una vez que haya alineado las curvas, querrá medir la distancia, digamos la distancia de Fréchet . Si desea compartir algunos de sus datos, nosotros mismos podemos echarle un vistazo.
Lectura relevante:
Si no tiene en cuenta la dimensión temporal:
Podría adaptar al usuario y al maestro a densidades gaussianas multivariadas y encontrar el volumen de su producto, eso es bastante fácil. Si desea más precisión, puede utilizar una estimación de densidad no paramétrica.
fuente
Puede considerar la distancia Procrustes , o alguna distancia basada en la deformación dinámica del tiempo (incluso si una de sus dimensiones no es "tiempo" per se, aún puede usar esta idea de transformación). Vea este trabajo reciente sobre Tracklets para ver un caso de uso ilustrativo de deformación dinámica del tiempo para medir la similitud entre las curvas espaciales 3D talladas por trayectorias de puntos en videos.
Hay muchas bibliotecas con cálculos de distancia Procrustes incorporados, como Matlab o la biblioteca PyGeometry para Python.
fuente
La publicación original solicitó una métrica entre los puntos ORDENADOS en 3D. La única métrica es la distancia de Frechet. No se mencionó el tiempo como una de las dimensiones, por lo que supongo que todas las dimensiones tienen unidades de distancia (es decir, las unidades no están mezcladas). Esto se puede hacer modificando una función cargada recientemente en el intercambio de archivos MathWorks (cálculo de distancia de Frechet: http://www.mathworks.com/matlabcentral/fileexchange/38714 ). Estas rutinas se escribieron para puntos en el plano, pero la extensión a los puntos 3D es sencilla.
fuente
fuente
La similitud es la cantidad que refleja la fuerza de la relación entre dos objetos o dos características. Esta cantidad generalmente tiene un rango de -1 a +1 o se normaliza en 0 a 1. De lo que necesita calcular la distancia de dos características por uno de los siguientes métodos:
Para la línea ... puede representarla por las propiedades de ángulo (a) y longitud (l) o L1 = P1 (x1, y1), P2 (x2, y2) a continuación es la similitud con ay l.
ahora mida el ángulo para ángulos y longitudes
Usando distancia euclidiana
similitud = raíz cuadrada ((A_user - A_teacher30) ^ 2 + (Length_User - Length_Teacher) ^ 2)
da la medida de similitud. También puede utilizar los métodos mencionados anteriormente según el problema y las características.
fuente