¿Cómo procesar automáticamente los datos del medidor de energía teniendo en cuenta los valores atípicos y el reinicio del medidor?

3

Quiero procesar algorítmicamente los datos del medidor de energía . El medidor de energía mide un productor de calor o energía o un consumidor de calor o energía (pero no ambos, por lo que la energía medida siempre tendrá un signo positivo). No se conoce información adicional sobre el sistema de energía (como la carga máxima) ni sobre el tipo de medidor de energía: solo se puede acceder a los datos almacenados en una base de datos. El procesamiento se realizará mediante un algoritmo que analiza los datos durante un intervalo de tiempo determinado (sin procesamiento en vivo).

Por lo general, los datos son débilmente monótonos de la forma

2015-04-01 00:00 20.78 kWh

2015-04-01 00:05 30.80 kWh

2015-04-01 00:10 73,99 kWh

2015-04-01 00:20 82.30 kWh

2015-04-01 00:25 82.30 kWh

2015-04-01 00:30 83.44 kWh

...

La energía producida o consumida durante un período dado es simplemente la diferencia de los recuentos del medidor de energía. Hasta aquí todo bien. Sin embargo, el algoritmo tiene que lidiar con los siguientes tres problemas:

1. Los valores atípicos "anteriores" deben detectarse como datos no válidos.

2015-04-01 00:00 20.78 kWh

2015-04-01 00:05 30.80 kWh

2015-04-01 00:10 500 kWh

2015-04-01 00:20 82.30 kWh

2015-04-01 00:25 82.30 kWh

2015-04-01 00:30 83.44 kWh

....

2. Los valores atípicos "a continuación" deben detectarse como datos no válidos.

2015-04-01 00:00 20.78 kWh

2015-04-01 00:05 30.80 kWh

2015-04-01 00:10 20 kWh

2015-04-01 00:20 82.30 kWh

2015-04-01 00:25 82.30 kWh

2015-04-01 00:30 83.44 kWh

....

En casos poco probables, puede haber varios valores atípicos consecutivos arriba o abajo o una combinación de ambos.

3. Un reinicio del medidor de energía debe detectarse automáticamente.

2015-04-01 00:00 20.78 kWh

2015-04-01 00:05 30.80 kWh

2015-04-01 00:10 3.99 kWh

2015-04-01 00:20 12.30 kWh

2015-04-01 00:25 12.30 kWh

2015-04-01 00:30 13.44 kWh

...

Después de un reinicio, el conteo comienza de nuevo desde otro nivel (un reinicio es simplemente un cambio de nivel). El nivel desde el que comienza el conteo después del reinicio es a menudo cero, pero también puede ser cualquier otro número positivo. Un reinicio puede ocurrir en un punto arbitrario en el tiempo (generalmente no con demasiada frecuencia).

A mis ojos, los problemas 1. - 3. parecen omnipresentes en la ingeniería de medición y ya deben haberse abordado. Sin embargo, no pude encontrar ninguna literatura sobre este tema. ¿Alguien sabe acerca de las soluciones existentes para este problema? Toda ayuda será muy apreciada.

Daniel
fuente
sin realizar un análisis de causa raíz, descubre la raíz del problema. Este problema se convierte en costo / beneficio. Si el problema es frecuente y causa suficientes dolores de cabeza, habrá más presión para abordar el problema. Si el problema es ocasional u ocasional, los valores atípicos se descartarán. En base a los datos presentados, parece un medidor defectuoso.
Mahendra Gunawardena
Una parte esencial de esta pregunta es cómo piensa hacer este procesamiento. ¿Desea insertar los datos sin procesar en una computadora que tiene un software (ya sea "hecho en casa" o, por ejemplo, Excel) para realizar el análisis de datos o desea que el medidor de energía mismo realice este análisis?
Wasabi
En la misma línea que el comentario de Wasabi; ¿Desea procesar los datos o el procesamiento de datos debe realizarse en vivo? El procesamiento acausal (que no se puede hacer en vivo) será mucho más fácil.
Chris Mueller
¿Entonces su pregunta es sobre el procesamiento de los datos y no sobre cómo obtener los datos correctos? Entonces, ¿es esta una pregunta de programación de computadoras? Ya conoce la lógica que desea usar, ahora necesita ponerla en algún tipo de programa.
Hazzey
En general, no debe descartar los datos que están fuera de su rango esperado sin explicación. Si decide que puede seguir adelante, todo lo que necesita es un programa simple para detectar y eliminar esos puntos de datos.
DLS3141

Respuestas:

2

Hay dos maneras de hacerlo.

La vieja manera

La forma tradicional es desarrollar un conjunto de reglas algo arbitrarias basadas en los errores que clasifica manualmente. Filtra la no monotonicidad (fácil), identifica los reinicios (fácil) e intenta detectar otros valores incorrectos (más complicados). Eso le da un conjunto de valores para marcar como faltantes, y luego analiza el resto de los datos. Este método no está bien fundamentado en teoría, pero tendrá la defensa (algo insatisfactoria) de que "es cómo lo hacen muchas otras personas".

Mejores prácticas

La mejor forma de hacerlo es escribir la probabilidad de todo lo relevante y luego aplicar el Teorema de Bayes para determinar cuál era la serie en tiempo real más probable, dadas sus observaciones registradas.

Comienza con una distribución previa de la tasa de uso de energía, basada en el trabajo anterior.

Y luego cree distribuciones de probabilidad de las formas en que pueden ocurrir los errores: un reinicio del medidor, un punto decimal caído en la grabación; un dígito caído; Una lectura completamente basura. Agregue una distribución para el error de medición del medidor en sí: generalmente tienen una hoja de datos o un estándar acreditado que tiene un rango de error definido.

Las estadísticas deberían tener en cuenta cosas como un pico de uso real y un reinicio que coincida. Es posible que deba especificar una distribución conjunta si están vinculados: por ejemplo, un corte de energía podría posiblemente provocar un reinicio del medidor y una sobrecarga de energía, ya que cosas como calentadores, refrigeradores y congeladores volverían a funcionar a plena potencia cuando se corta la energía. restaurado

Y luego calcula una distribución posterior para el uso real de energía, que es lo que le interesa.

Pros y contras

El segundo método tiene la ventaja de estar arraigado en la teoría sólida como una roca. Sin embargo, es bastante trabajo configurar las distribuciones; y en casi todos los casos del mundo real, no existe una solución analítica, por lo que debe buscar una solución numérica (por ejemplo, usando markov-chain monte-carlo). Los paquetes de software como el STAN de Andrew Gelman harán esa parte del trabajo por usted.

Antes de comenzar, grafica

De cualquier manera, comience por graficar sus datos sin procesar. El ojo captará patrones informativos.

Números de energía
fuente
¿Podría explicar cómo identificar los reinicios y distinguirlos de los valores atípicos "a continuación" seguidos de aumentos repentinos en el consumo de modo que la segunda medición después del reinicio sea mayor que la medición anterior al reinicio? ¿Cómo puede saber en el caso # 2 dado en el OP que el valor atípico en realidad no es un reinicio seguido de un pico de consumo entre 00: 11-00: 20? ¿Tendría que hacerse esto también a través de estadísticas (suponiendo que los picos de consumo y los reinicios sean lo suficientemente infrecuentes como para que ambos sucedan casi simultáneamente es lo suficientemente raro como para desconsiderarlos)?
Wasabi
1
@Wasabi editado para tratar de cubrir esto
EnergyNumbers
Creo que tendré que hacerlo "a la antigua usanza", ya que el "enfoque de mejores prácticas" parece simplemente imposible de aplicar correctamente, y seguir filtrando la no monotonicidad e identificar los reinicios utilizando algunas condiciones de límite (arbitrarias) como @ Wasabi sugirió. Además, creo que otros valores malos que no violan la no monotonía no son un problema demasiado serio, ya que no cambian la energía total consumida "a la larga", sino que conducen solo a una distribución incorrecta de la energía consumida. dentro de un intervalo dado (siempre que los valores al inicio y al final del intervalo sean correctos)
Daniel
0

Descartar valores atípicos es fácil, simplemente los descarta (o los ignora). La parte difícil es decidir qué es un valor atípico y qué datos son válidos. Esto se reduce a definir lo que es posible y probable.

Una comprobación obvia en su caso es contra la potencia máxima que el sistema puede consumir o producir. Si el delta entre dos lecturas excede eso, entonces algo está mal en alguna parte. Por ejemplo, si el sistema que se está midiendo no puede consumir más de 200 kW, entonces el medidor no puede aumentar en más de 17 kWh en un período de 5 minutos.

Tenga en cuenta que la producción de energía máxima puede ser diferente del consumo de energía máximo. Quizás su sistema puede consumir hasta 200 kW, pero nunca puede producir más de 50 kW. Eso significa que en 5 minutos el rango válido posible es de +16.7 kWh a -4.2 kWh.

Es posible que sepa otras cosas sobre su sistema, que puede usar para detectar lecturas no válidas. Por ejemplo, a pesar de que su consumo de energía está limitado por -50 a +200 kW, tal vez no pueda cambiar más rápido que 10 kW por 5 minutos. O, si la energía está siendo producida por las células solares, entonces obtener energía en la noche debe estar mal. Seguramente hay cosas que sabe que su sistema no puede hacer.

Nuevamente, todo se reduce a definir qué es válido. Por ejemplo, ¿dices que la tercera lectura en el caso 2 es incorrecta? ¿Como sabes eso? Si es posible que el sistema genere 10.8 kWh durante un intervalo de 5 minutos, luego consuma 62.3 kWh durante los próximos 5 minutos, entonces el caso 2 puede ser todas las lecturas correctas después de todo. No ha dicho nada sobre su sistema para decir que este no es el caso.

Olin Lathrop
fuente
Mi publicación fue engañosa, quise decir que el medidor de energía mide CUALQUIERA la energía producida o consumida (pero no ambas). Su idea de que usar la tasa máxima de cambio es excelente, pero desafortunadamente no se proporciona (siempre) la información adicional necesaria: el algoritmo debería funcionar para todo tipo de fuentes de energía y sumideros. El único criterio es la monotonicidad (débil). Pensé usar algún tipo de correlación de orden de rango para detectar la 'ruptura estructural' del reinicio del medidor y tratar los valores atípicos por separado. Lo que separa los datos válidos e inválidos parece ser esencialmente la frecuencia de ocurrencia.
Daniel