Características para la clasificación de series temporales

43

Considero el problema de la clasificación (multiclase) basada en series de tiempo de longitud variable T , es decir, encontrar una función

f(XT)=y[1..K]for XT=(x1,,xT)with xtRd ,
través de una representación global de la serie de tiempo mediante un conjunto decaracterísticas seleccionadasvi de tamaño fijoD independiente deT ,
ϕ(XT)=v1,,vDR ,
y luego use métodos de clasificación estándar en este conjunto de características. Estoy no interesado en la predicción, es decir, la predicción dexT+1. Por ejemplo, podemos analizar la forma en que camina una persona para predecir el género de la persona.

¿Cuáles son las características estándar que puedo tener en cuenta? Por ejemplo, obviamente podemos usar la media y la varianza de la serie (o momentos de orden superior) y también mirar dentro del dominio de la frecuencia, como la energía contenida en algún intervalo de la Transformación discreta de Fourier de la serie (o Transformación discreta de wavelets ).

Emile
fuente

Respuestas:

45

Características estadísticas simples

  • Medias en cada una de las dimensiones d
  • Desviaciones estándar de las dimensiones d
  • Torcedura , curtosis y momentos de orden superior de las dimensiones d
  • Valores máximos y mínimos

Características relacionadas con el análisis de series de tiempo

  • Las correlaciones cruzadas entre cada dimensión y las correlaciones automáticas dd×d1 d
  • Órdenes de la parte autorregresiva (AR), integrada (I) y de promedio móvil (MA) de un modelo ARIMA estimado
  • Parámetros de la parte AR
  • Parámetros de la parte MA

Características relacionadas con el dominio de frecuencia

Vea Morchen03 para un estudio de las características de conservación de energía en DFT y DWT

  • frecuencias de los picos de amplitud en las DFT para las dimensiones d detencionadask d
  • -cuantileskde estos DFT
Emile
fuente
1
Emile, esta pregunta es similar a la que acabo de plantear ( stats.stackexchange.com/questions/51475/… ). ¿Sería capaz de publicar algún código R para las funciones DFT?
B_Miner
¿Existe algún método basado en formlets para series de tiempo de longitud variable?
Simone
8

Emile, creo que las características enumeradas en su respuesta son puntos de partida bastante buenos, aunque, como siempre, creo que cierta experiencia en el dominio (o al menos una buena reflexión) sobre su problema es igualmente importante.

Es posible que desee considerar incluir características calculadas a partir de las derivadas (o integrales) de su señal. Por ejemplo, apostaría a que la aceleración / desaceleración rápida es un predictor razonablemente bueno de conducción propensa a accidentes. Obviamente, esa información todavía está presente en la señal de posición, pero no es tan explícita.

También puede considerar reemplazar los coeficientes de Fourier con una representación wavelet o paquete wavelet. La principal ventaja de las wavelets es que le permiten localizar una característica tanto en frecuencia como en tiempo, mientras que los coeficientes tradicionales de Fourier se limitan solo al tiempo. Esto podría ser particularmente útil si sus datos contienen componentes que se encienden / apagan de manera irregular o tienen pulsos de onda cuadrada que pueden ser problemáticos para los métodos de Fourier.

Matt Krause
fuente
6

Como sugirieron las otras respuestas, hay una gran cantidad de características de series de tiempo que se pueden usar como características potenciales. Hay características simples como la media, características relacionadas con series de tiempo como los coeficientes de un modelo AR o características altamente sofisticadas como el estadístico de prueba de la prueba de hipótesis de dickey fuller aumentada.

Resumen completo sobre posibles características de series de tiempo

El paquete python tsfresh automatiza la extracción de esas características. Su documentación describe las diferentes características calculadas. Puede encontrar la página con las características calculadas aquí .

Descargo de responsabilidad: soy uno de los autores de tsfresh.

MaxBenChrist
fuente
5

Le sugiero que, en lugar de utilizar enfoques clásicos para extraer funciones diseñadas a mano, utilice autoencoders . Los autoencoders juegan un papel importante en la extracción de características de la arquitectura de aprendizaje profundo.

f(XT)XTX^TXT

La función de identidad parece una función particularmente trivial para tratar de aprender; pero al colocar restricciones en la red, como limitar el número de unidades ocultas, podemos descubrir una estructura interesante sobre los datos.

Extractor de funciones

De esta manera, su deseada será equivalente a los valores de salida de la capa de en medio, en un autoencoder profundo, Si limita el número de unidades ocultas en las de en medio a .ϕ(XT)=v1,,vDRD

Además, puede usar muchos tipos de autoencoder para encontrar la mejor solución a su problema.

oficial médico
fuente
4

El documento vinculado será algo esclarecedor, ya que está interesado en más o menos el mismo tema en otro contexto.

Resumen en papel (en el Archivo de Internet)

PDF en papel

cpa
fuente
1

Dependiendo de la duración de su serie temporal, el enfoque habitual es dividir los datos en segmentos, por ejemplo, 10 segundos.

Sin embargo, a menudo antes de dividir la serie temporal en segmentos, es necesario realizar un preprocesamiento como el filtrado y el rechazo de artefactos. Luego puede calcular una variedad de características, como las basadas en la frecuencia (es decir, tomar una FFT para cada época), el tiempo (p. Ej., La media, la varianza, etc. de las series de tiempo en esa época) o la morfología (es decir, la forma de la señal / series temporales en cada época).

Por lo general, las características utilizadas para clasificar los segmentos (épocas) de una serie temporal / señal son específicas del dominio, pero el análisis Wavelet / Fourier son simplemente herramientas para permitirle examinar su señal en los dominios de frecuencia / tiempo-frecuencia en lugar de ser características en sí mismas.

En un problema de clasificación, cada época tendrá una etiqueta de clase, por ejemplo, 'feliz' o 'triste', luego entrenaría a un clasificador para distinguir entre las épocas 'feliz' y 'triste' utilizando las 6 características calculadas para cada época.

En el caso de que cada serie temporal represente un caso único para la clasificación, debe calcular cada característica en todas las muestras de la serie temporal. La FFT solo es relevante aquí si la señal es invariante en el tiempo lineal (LTI), es decir, si la señal se puede considerar estacionaria durante toda la serie temporal, si la señal no es estacionaria durante el período de interés, se puede realizar un análisis wavelet más apropiado. Este enfoque significará que cada serie temporal producirá un vector de características y constituirá un caso para la clasificación.

BGreene
fuente
Siempre he sentido que romper series temporales, un proceso naturalmente continuo, en períodos discretos (o épocas), resulta en una pérdida de información. A menos que haya épocas naturales en la serie, ¿cómo se eligen las épocas? Se pueden encontrar épocas probables que se ajustan a cualquier resultado deseado.
Cam.Davidson.Pilon
1
No estoy seguro de que se pueda encontrar una época que se adapte a cada resultado, pero para cualquier problema práctico. Con una señal no estacionaria, necesita encontrar alguna manera de tener en cuenta las variaciones temporales (si una señal / serie temporal se describe adecuadamente de forma analítica o es invariante en el tiempo lineal esto no es necesario). La duración de la época es nuevamente específica del dominio, pero generalmente se elige que sea lo suficientemente corta como para que la señal sea estacionaria bajo el período de tiempo (época) de interés.
BGreene
BGreene, ¿podría explicar cuál es el beneficio de dividir la serie en épocas para seleccionar las características utilizadas en la clasificación? Veo esta partición como una ayuda para cálculos posteriores (es decir, FFT), pero no como algo relacionado con la selección de características en sí. Tal vez esté relacionado con la "morfología" que mencionaste.
Emile
La división en épocas no tiene nada que ver con la selección de características. Si tiene una señal larga (por ejemplo, 10 horas de grabación muestreada @ 100Hz), para examinar cómo cambia la señal con el tiempo, debe dividirla en épocas. En un problema de clasificación, cada época tendrá una etiqueta de clase, por ejemplo, 'feliz' o 'triste', luego entrenaría a un clasificador para distinguir entre las épocas 'feliz' y 'triste' utilizando las 6 características calculadas para cada época.
BGreene
Ok :) Definitivamente no está relacionado con mi pregunta original. Considero el caso donde la clase etiqueta la serie completa. Voy a editar mi pregunta para agregar un ejemplo clarificador.
Emile