2012-04-29 44 views
7

Tengo dos conjuntos de datos (t, y1) y (t, y2). Estos conjuntos de datos se ven visualmente iguales pero su tiempo de retraso o cambio de magnitud. quiero encontrar la similitud entre las dos curvas (dando el puntaje de similitud 1 para curvas aproximadamente similares y 0 para curvas no similares). Algunas curvas parecen ser diferentes debido a la oscilación en los datos. entonces, estoy buscando el método para encontrar la similitud entre las curvas. Ya probé el comando de gradiente en Matlab para encontrar la pendiente de la curva en cada paso de tiempo y compararla. pero no me está dando resultados satisfactorios. Por favor, que alguien me sugiera el método para encontrar la similitud entre las curvas.cómo encontrar la similitud entre dos curvas y el puntaje de similitud?

Gracias de antemano

enter image description here

Respuesta

3

Esta respuesta supone su Y1 e Y2 son señales en lugar de curvas . Lo último trataría de parametrizar con POLYFIT.

Si realmente tienen el mismo aspecto, pero se desplazan en el tiempo (y no envueltos alrededor), entonces usted puede:

y1n=y1/norm(y1); 
y2n=y2/norm(y2); 
normratio=norm(y1)/norm(y2); 
c=conv2(y1n,y2n,'same'); 
[val ind]=max(c); 

ind indicará el cambio de hora y normratio la diferencia en magnitud. Ambos se pueden usar como características para su métrica de similitud. Supongo, sin embargo, que las señales realmente varían más allá del Timeshift o la magnitud, en cuyo caso, algún tipo de parametrización de la señal puede ser una mejor opción y luego construir una métrica en esos parámetros.

Sin saber nada sobre sus datos, primero probaría con AR (suponiendo que cosas tan típicas como FFT o PRINCOMP no funcionarán).

+0

¿Qué quiere decir con "(y no envuelto)"? –

3

para mediciones de tiempo similitud datos de series, una solución tradicional es DTW (Dynamic Time warpping)

0
  1. Kolmongrov Smirnov (kstest2 función en Matlab)
  2. el test Chi Cuadrado
  3. para medir la similitud no es una medida llamada MIC: coeficiente máximo de información. Cuantifica la información compartida entre 2 datos o curvas.
Cuestiones relacionadas