¿Cuál es la mejor forma / algoritmo para detectar un patrón en una serie de tiempo?

Existen diferentes enfoques posibles, según la serie. Del más simple al más complicado:

  • Correlación cruzada : Básicamente tratando de encontrar una “copia” del patrón específico en el nuevo patrón.
  • Deformación de tiempo dinámica en ventana : el problema con el enfoque anterior es que solo identifica copias exactas. DTW tiene más flexibilidad.
  • Huellas digitales de series de tiempo : por ejemplo, (aproximación agregada simbólica (SAX)): calcula estadísticas agregadas y ve si puede identificar instancias de la misma en los datos.
  • Modelo de Markov oculto : construya un modelo de “no patrón” y “patrón” y luego muévalo sobre la nueva señal e identifique dónde está. Probablemente quieras más de un ejemplo.
  • Métodos de aprendizaje profundo (como redes neuronales recurrentes y memoria a largo plazo a largo plazo) : la actualidad actual, pero si tiene un solo ejemplo, será difícil hacerlo.

FactorPrism (www.factorprism.com) es una herramienta poderosa que automáticamente detectará tendencias y patrones significativos en sus datos, y cualquiera puede usarlos. Recomiendo comenzar aquí.

Depende de cuál sea el patrón. Por ejemplo, si notas que después de tres días de actividad suele haber un día de inactividad, entonces lo buscas. Si notó que la volatilidad aumenta después de días de inactividad, entonces busque eso.

No hay un algoritmo general para detectar patrones generales. Simplemente buscas lo que estás buscando.

La correlación cruzada es una técnica que funciona muy bien para lo que quieres hacer. Se usa ampliamente en receptores. Si sabe más acerca de las propiedades del patrón, aparte de los datos de series temporales como el “contenido de frecuencia”, puede utilizar técnicas como la transformación de Fourier.

More Interesting

Cómo resolver el problema SPOJ XORROUND

¿Cuáles son algunos buenos libros para aprender y practicar estructuras de datos y algoritmos?

Si arr es una matriz de enteros, ¿por qué la expresión ar ++ no es legal?

¿Qué algoritmo de consenso de blockchain podría utilizar para crear una base de datos descentralizada de resultados de partidos de fútbol?

Visión por computadora: ¿cuáles son los documentos de lectura obligatoria para el algoritmo de seguimiento de objetos?

¿Por qué la longitud de una matriz siempre es mayor que el índice más grande de la matriz?

¿Cuál es la diferencia entre una matriz y una lista de matrices?

Cómo encontrar la longitud máxima de la submatriz en una matriz determinada

¿Por qué el método de ordenación Javascript organiza los números de una matriz en orden ascendente con [código] (a - b) [/ código] y descendente con [código] (b - a) [/ código]?

¿Cuál es la mejor estructura y algoritmo de datos para encontrar un valor máximo dentro de un subconjunto de una población de datos que satisfaga alguna condición de rango?

¿En qué paso de la prueba del algoritmo de Dijkstra utilizamos el hecho crucial de que los bordes no son negativos?

¿Qué es un árbol de expansión?

¿Cuál es la forma más fácil de demostrar que si la intersección de 2 rutas es un gráfico conectado, entonces la unión de las 2 rutas tiene al menos un circuito?

¿Cómo se puede hacer un sistema como Google AdWords y AdSense?

¿Cómo verificamos la corrección de un algoritmo?