4 votos

Detectar secuencias con un patrón específico en datos de series temporales

Actualmente estoy trabajando en el control no intrusivo del agua (consumo). Tengo datos de series temporales de caudales a un nivel de 0,5 Hz (1 medición cada 2 segundos) durante un periodo de tiempo de aproximadamente medio año. La detección de extracciones individuales, como una descarga de inodoro, es bastante sencilla. Sin embargo, también quiero detectar los aparatos que consumen agua, como las lavadoras y los lavavajillas.

Desplácese hacia abajo para ver la pregunta y saltarse la introducción

Datos disponibles

El análisis y la clasificación de las extracciones de agua individuales no funcionan porque se interpretarían como descarga del inodoro o del grifo. Por lo tanto, tengo que tener en cuenta el contexto de dichas extracciones. Dispongo de datos reales de varios días no consecutivos (por ejemplo, 2 días en diciembre, 2 días en febrero, ...). Basándome en esos datos de verdad, sé cómo suele ser un programa o secuencia de extracciones de una lavadora (ver las extracciones marcadas en rojo en la figura de abajo). Todas ellas tienen en común unos patrones de inicio y finalización específicos (extracción de 10 segundos, breve pausa, extracción de 100 a 150 segundos).

enter image description here

Enfoques probados

Intenté varios enfoques, para identificar patrones de inicio o final para detectar una lavadora:

  • Deformación dinámica del tiempo comparando un patrón de referencia de una lavadora con los datos. Sin éxito hasta ahora debido al ruido y a las extracciones intermedias en la vida real, como la descarga de un inodoro.
  • He intentado Motivo utilizando el paquete R TSMining . No hay éxito porque el tamaño de la ventana no es fijo en los datos. Las lavadoras ajustan su consumo en función de la carga y el programa. También pensé en Motif utilizando DTW como una especie de medida de distancia, pero mi poder de cómputo es demasiado bajo para la cantidad de datos de digamos 20 días.
  • Actualmente, estoy trabajando en una especie de máquina de estados finitos . En base a las extracciones de agua y su contexto trato de calcular, si una lavadora es probable o no.

Como ya se ha mencionado, un gran problema es el ruido. He probado varios algoritmos de reducción de ruido, pero es imposible eliminarlo correctamente. Como se puede ver en la figura siguiente, el ruido puede ser de unos +/- 2 litros/minuto.

También eché un vistazo a FFT Pero no sabía cómo aplicarlo correctamente debido al ruido.

enter image description here

Pregunta

¿Cómo puedo identificar las secuencias recurrentes (por ejemplo, de lavadoras y lavavajillas) en mi caso? Sería preferible un enfoque más general. Así podría identificar los patrones recurrentes independientemente de los aparatos específicos. Asignar etiquetas a algún tipo de grupo de patrones no sería necesario por ahora.

(Hay que tener en cuenta que, basándome en los protocolos domésticos sobre las tareas de lavado, NO pude identificar un patrón rítmico (por ejemplo, cada 3 días a las 18:00).

0 votos

Una pregunta realmente genial y que invita a la reflexión. Sin embargo, en cierto sentido, has puesto el carro delante de los bueyes al buscar formas y técnicas funcionales avanzadas. La primera pregunta que me gustaría que se respondiera es: ¿cuántos tipos diferentes de patrones está tratando de identificar? Has mencionado las cisternas de los inodoros, las lavadoras y los lavavajillas. ¿Hay otros? ¿Duchas? ¿Los lavavajillas frente a los lavados a mano? etc. Entonces, ¿tiene usted una "verdad de base" en términos de un conjunto de datos donde se identifican y preclasifican estos diversos tipos de procesos? Esto actuaría como un conjunto de entrenamiento. Empiece a modelar con eso.

0 votos

@DJohnson He tratado de identificar 1 patrón (el de arriba en el gráfico) que se produjo en 2 hogares - es una lavadora. Por supuesto, hay otros consumidores como inodoros, duchas, etc., pero sólo extraen agua una vez por uso (en general). Por último, sí tengo un conjunto de datos etiquetados de "verdad básica". Utilicé un bosque aleatorio para clasificar los aparatos que sólo extraen agua una vez (por ejemplo, los inodoros), pero la clasificación de este tipo de extracciones, como las del gráfico anterior, acabó siendo un desastre porque sólo tengo 5 muestras de lavadoras. Actualmente, también estoy estudiando la agrupación basada en la densidad.

0 votos

¿Ha construido alguna vez este tipo de modelo? Si no es así, ¿por qué no empezar con el ejemplo de clasificación de datos del iris de Fisher? Se trata de un conjunto de datos de entrenamiento muy utilizado basado en varias métricas de, por ejemplo, la longitud de los pétalos de las flores, contra las que puedes aprender y aplicar varios algoritmos como SVM, análisis discriminante lineal, clustering, etc.

2voto

KevinTheGreat Puntos 203

Se trata de un trabajo similar al de la identificación del uso de los electrodomésticos mediante la monitorización de los patrones de consumo eléctrico en el tiempo con un contador inteligente doméstico, aunque ellos pueden tener un poco más de información (por ejemplo, la fase para ayudar a detectar las cargas inductivas, así como el consumo de energía), mientras que tú sólo tienes el caudal. Incluso tendrán el mismo tipo de patrones a lo largo del tiempo para las lavadoras. Esto ha estado en curso durante un tiempo, por lo que acabo de hacer un poco de Google rápido. Estos deben proporcionar ayuda como punto de partida para la investigación en esta área:
https://www.researchgate.net/publication/308764100 , https://cs.brown.edu/research/pubs/theses/masters/2011/mallya.pdf y https://archive.uea.ac.uk/~ajb/Papers/LinesIDEAL2011.pdf
Esto sería más fácil para ti si pudieras acceder simultáneamente al contador eléctrico así como a los flujos de agua para tener más funciones, ¡pero eso es probablemente para un proyecto futuro más lejano!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X