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).
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.
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.
0 votos
@DJohnson sí, he construido modelos con kNN y SVM con otros datos antes. También los construí con mis datos actuales, pero se desempeñan peor que random forrest.
0 votos
¿Has probado una NN de aprendizaje profundo sin supervisión?
0 votos
@DJohnson No, pero después de tener esta discusión contigo creo que un enfoque no supervisado podría ser la mejor opción hasta ahora. Hoy he empezado a buscar características adecuadas que describan extracciones múltiples y que se centren en extracciones consecutivas. Nunca he utilizado NN, pero le echaré un vistazo, ¡gracias!
0 votos
Otro enfoque más matemático se expone en esta reseña de un libro de Genander sobre "Teoría general de los patrones". projecteuclid.org/download/pdf_1/euclid.bams/1183539454