Está en la página 1de 18

1

Corrección de data defectuosa mediante


regresión lineal múltiple y Redes
Neuronales para aumentar disponibilidad
y confiabilidad en el análisis de sistemas de
distribución de agua potable

Universidad Tecnologica de Bolivar

Rafael Rincón-T00076683

Data Driven - Decisiones basadas en Datos

Profesor: Ph.D. Jose Luis Villa


6 de diciembre de 2023

1. Introducción

En las redes de distribución del sistema de acueducto, hay instrumentos para


medir caudal y presión de forma sectorizada, y con esos datos registrados de
forma horaria e indefinidamente, se busca analizar y controlar una eficiente
prestación del servicio. En ocasiones, algunos datos de caudal no se registran
correctamente, se pierden en alguna de las capas del modelo de comunicación, y
por diversas causas, como fallas en el instrumento, en la tubería, en la energía del
transmisor, en el medio del sistema de comunicaciones, en el registro de
almacenamiento histórico o en el procesamiento final. Si no se cuentan con datos
certeros de los caudales presentados en los sectores, se acuden a métodos
alternativos para estimar los caudales y se incurre en riesgo de no hacer una
apropiada y oportuna gestión de las redes. Como propuesta de Solución, se
plantea mediante un modelo de regresión y/o redes neuronales, se puedan
obtener valores acertados de caudal, útiles en los momentos en que no se
dispongan de las mediciones o se tengan dudas de ellos.

para comprender y manipular el complejo tejido de datos temporales y oscilatorios


2
que encontramos en la naturaleza y en las aplicaciones prácticas modernas, como
la gestión del sistema de distribución de acueducto.

2. Descripción de la técnicas empleadas

2.1. Regresión Lineal:

La regresión lineal es un modelo estadístico que busca establecer la relación lineal entre
una variable dependiente (objetivo) y una o más variables independientes (predictoras).
Matemáticamente, para un problema de regresión lineal simple con una sola variable
independiente, la fórmula se expresa como:

𝑦 = 𝑚𝑥 + 𝑏

Donde:

● y es la variable dependiente.
● x es la variable independiente.
● m es la pendiente de la línea (coeficiente).
● b es la intersección en el eje
● y (ordenada al origen).

En el caso de regresión lineal múltiple con múltiples variables independientes, la fórmula


se generaliza a:

𝑦 = 𝑏₀ + 𝑏₁𝑥₁ + 𝑏₂𝑥₂ + ... + 𝑏ₙ𝑥ₙ

● "y" es la variable dependiente.


● "x₁, x₂, ..., xₙ" son las variables independientes.
● "b₀" es el término de sesgo o intercepción.
● "b₁, b₂, ..., bₙ" son los coeficientes asociados a cada variable independiente.

El objetivo en la regresión lineal es encontrar los coeficientes "b" que minimicen la suma
de los errores cuadrados entre las predicciones del modelo y los valores reales de la
variable dependiente.
3
2.2. Redes Neuronales

Las redes neuronales son modelos inspirados en la estructura y funcionamiento del


cerebro humano. Una red neuronal artificial está compuesta por capas de neuronas
interconectadas, cada una de las cuales realiza operaciones matemáticas y aplica una
función de activación.

La arquitectura básica de una red neuronal consta de:

● Capa de entrada: Recibe los datos.


● Capas ocultas: Realizan operaciones y aprendizaje.
● Capa de salida: Produce la predicción.

Cada neurona en una red neuronal tiene pesos y sesgos asociados a las entradas que
recibe. Estos pesos y sesgos se ajustan durante el proceso de entrenamiento para
minimizar una función de pérdida (como el error cuadrático medio o el error absoluto
medio).

La operación en una neurona puede expresarse como:

𝑧 = 𝑤₁𝑥₁ + 𝑤₂𝑥₂ + ... + 𝑤ₙ𝑥ₙ + 𝑏𝑎 = 𝑓(𝑧)

● "z" es la suma ponderada de las entradas más el sesgo.


● "f" es la función de activación (como ReLU, Sigmoide, etc.).
● "w₁, w₂, ..., wₙ" son los pesos de las conexiones.
● "b" es el sesgo.

El proceso de entrenamiento de una red neuronal implica el uso de algoritmos de


optimización, como el descenso de gradiente, para ajustar los pesos y sesgos de la red
con el fin de minimizar la función de pérdida y mejorar su capacidad predictiva.

2.2.1. Función de Activación:

La función de activación introduce no linealidad en la red neuronal, permitiendo que esta


aprenda patrones complejos en los datos. Algunas funciones de activación comunes son:

ReLU (Rectified Linear Activation): La función ReLU se define como:


𝑓(𝑧) = 𝑚𝑎𝑥(0, 𝑧)
4
Esta función devuelve cero para valores negativos y el mismo valor para valores
positivos, lo que la hace simple y eficaz.

Sigmoide: La función sigmoide se define como


−𝑧
𝑓(𝑧) = 1/(1 + 𝑒 )

Mapea los valores a un rango entre 0 y 1, y se utiliza comúnmente en la capa de salida


para problemas de clasificación binaria.

Tangente Hiperbólica (Tanh): La función tangente hiperbólica se define como:

𝑧 −𝑧
𝑒 −𝑒
𝑓(𝑧) = 𝑧 −𝑧
𝑒 +𝑒

2.2.2. Función de Pérdida:

La función de pérdida (loss function) evalúa qué tan bien están prediciendo los
resultados del modelo con respecto a los valores reales. En problemas de regresión, el
error cuadrático medio (MSE) o el error absoluto medio (MAE) se utilizan comúnmente
como funciones de pérdida. Para problemas de clasificación, se utilizan funciones como la
entropía cruzada.

2.2.3. Entrenamiento de la Red Neuronal:

Durante el entrenamiento, se utilizan algoritmos de optimización como el descenso de


gradiente estocástico (SGD) o sus variantes (Adam, RMSprop) para ajustar los pesos y
sesgos de la red neuronal. El objetivo es minimizar la función de pérdida, lo que implica
encontrar los pesos y sesgos óptimos que reduzcan al máximo el error entre las
predicciones y los valores reales.

2.2.4. Backpropagation:

El algoritmo de backpropagation es esencial en el entrenamiento de redes neuronales.


Consiste en propagar hacia atrás el error a través de la red para ajustar los pesos y
sesgos en la dirección que minimice la función de pérdida. Esto se hace mediante el
cálculo de gradientes, que indican la dirección y magnitud del ajuste necesario en cada
peso y sesgo para reducir la pérdida.
5
Entre muchos de estos conceptos que se utilizaron y se profundizaron en la aplicación del
alcance de esta investigación, específicamente se conformó un modelo de regresión con
relaciones de orden superior con variables predictoras múltiples, y regularizadas para
mejorar el desempeño de los modelos obtenidos y su aplicabilidad. Para las redes
neuronales se utilizó TensorFlow 2.0 y su framework insignia Keras, así como las técnicas
profesionales de la inteligencia artificial, empleando cross-validation, sintonizador Keras
Tuner, y las gráficas que evalúan el desempeño del modelo según las métricas
seleccionadas de manera apropiada, que para el caso de una regresión es el mae o mse
(mean absolute error - mean square error)

3. Descripción del Problema y planteamiento resolutivo

En las redes de distribución del servicio de acueducto, el actor principal, es el dato, o


más precisamente la inmensa cantidad de datos de una red hidráulica que relaciona
cientos y miles de factores complejos, tanto físicos, eléctricos, tecnológicos, y hasta
componentes sociales, gestionados por el entendimiento humano, con reglas de juicio
empíricas y teorías matemáticas y físicas que intentan describir los fenómenos que
ocurren en estos sistemas, el problema a intentar resolver, son las pérdidas del fluido,
causadas principalmente por las fallas y fraudes (técnicas y no técnicas), además de los
errores en las decisiones operativas que están fundamentadas en los datos, que, a su
vez, están susceptibles de errores, y a una considerable complejidad para analizarlos. La
gestión integral de las pérdidas, sabiendo que las variables a considerar son cambiantes
en el tiempo, están diversificadas por sectores, y que llevan consigo errores y muchos
aspectos a tener en cuenta para detectar oportunamente eventos de anormalidad, como
daños, fraudes y fugas que requieren maniobra operativa e intervención eficaz para
proteger la buena imagen corporativa, la óptima prestación del servicio, la satisfacción de
los usuarios y la eficiencia operativa del proceso.
Al intentar aportar en la solución del problema, desde el campo del machine learning, se
plantea en esta instancia preliminar, poder corregir los datos defectuosos o fallidos,
previamente detectados, y corregidos con ayuda de estos modelos computacionales.
Puntualmente, los datos de una red de distribución son muchos grupos, principalmente
conformados por caudal, presión, cantidad de suscriptores asociados al consumo de una
tubería específica de distribución o conocido como sector de distribución, y la fecha,
incluyendo la hora, esta última variable, importante para describir la tipicidad del
consumo y las estimaciones con cierta precisión con ayuda de los modelos
computacionales en el comportamiento de la variable principal de caudal, variable que
6
determina las pérdidas y principalmente la gestión de los sistemas de distribución de
acueducto.

Como se observa en el gráfico, la totalidad de las señales resultan poco comprensibles en


su totalidad, pero al agrupar subsistemas que se componen de conjunto de datos con la
misma estructura, se facilita su procesamiento, organización y entendimiento; Para este
trabajo, con un conjunto de una señal de caudal, presión, abonados y horas,
procederemos a precisar, la exploración de los datos.

En todo proceso de machine learning de tipo profesional se inicia con la exploración de


los datos para tener una comprensión general del problema a resolver. Para este caso,
explicaremos una señal de caudal enmarcada como una serie de tiempo muestreada de
forma horaria durante 2 años.

DateTime
2021-01-01 00:00:00 35.203999
2021-01-01 01:00:00 36.805000
2021-01-01 02:00:00 32.004002
2021-01-01 03:00:00 31.205000
2021-01-01 04:00:00 39.605000
...
2023-01-01 20:00:00 49.206001
2023-01-01 21:00:00 42.805000
2023-01-01 22:00:00 37.203999
7
2023-01-01 23:00:00 33.202999
2023-01-02 00:00:00 22.003000
Name: Caudal, Length: 17545, dtype: float64

Tabla 1. Datos y estadística básica de la serie

Descripción Valor
Conteo 17545
Media 55.39
Desv. Estándar 87.48
Valor min 0.000
Cuartil del 25 por ciento 24.003
Cuartil del 50 por ciento 67.205
Cuartil del 75 por ciento 82.010
Valor max 7748.75

Inmediatamente es apreciable que existen valores de tipo outliers, los cuales serán
tenidos en cuenta en el proceso de limpieza de datos y preprocesamiento.
8

Figura 1. Exploración de los datos

Estas gráficas son necesarias para aterrizar las bases de la aplicación, al lector o
intervinientes en el proceso y el modelo a implementar. Se observa que esta señal tiene
comportamientos con diferencias marcadas en el tiempo.
Asi mismo, este comportamiento está obedeciendo a otros fenómenos y variables que
influyen sobre la misma, principalmente se deberá incorporar en el análisis la variable de
presión asociada a esta tubería en la cual se está registrando el caudal, y las horas serán
codificadas para facilitar la aproximación de los modelos mediante la técnica de one-hot
coding, binarizado en 24 columnas las 24 horas del día, de esta forma se extraen los
patrones de la señal de una forma directa y la detección de patrones será óptima para
los modelos de machine learning.

3.1. Preprocesamiento y Limpieza de datos

Como se observa en el gráfico, la distribución gaussiana y el boxplot de la serie de


tiempo se ve bastante distorsionada por la presencia de valores de tipo outliers los cuales
deberán ser tratados.
9

Figura 1. Distribución Gaussiana y Boxplot de los datos

En la segunda gráfica es notable el efecto positivo de la corrección de los datos, ahora es


apreciable la forma de la distribución y consistencia de los datos, para continuar con la
implementación de los modelos de machine learning.

4. Aplicación

Los modelos de machine learning y deep learning a implementar serán utilizando las
librerías de python scikit-learn, numpy y pandas principalmente para el procesamiento de
los datos y la generación de los modelos, y finalmente en la graficación estará utilizando
matplotlib y seaborn.
10

4.1. Aplicando Machine Learning - Regresión Múltiple

Modelo de Regresión Múltiple (Objeto de tipo Pipeline)

La estructura del modelo de regresión lineal se resume en tres componentes y se detalla


así:

Permitiendo aplicar en situaciones como, la descrita en la siguiente gráfica, en la cual se


aprecia que la señal de caudal que abastece un sector permanece estático durante varias
11
horas, situación muy improbable, al ser el agua un fluido incompresible y cambiante
permanentemente.

En esta gráfica se compara el valor típico obtenido mediante la agrupación de las


mediciones de forma horaria y el cálculo de la mediana, el valor de la predicción y el
valor crudo registrado durante ese día.

4.2. Aplicando Deep Learning - Redes Neuronales

Entrenar el modelo y monitorear la función de pérdida y el parámetro de optimización


que para este caso es el mae - mean absolute error, es importante verificar la efectividad
del aprendizaje en cada época estipulada, así mismo la arquitectura de la red neuronal,
con la cantidad de capas y neuronas, es una tarea de prueba y error, sin embargo con
técnicas adicionales del framework de Keras Tunner es de gran ayuda para estimar los
parametros optimos de la red neuronal. De esta forma se plantea una solución óptima de
arquitectura y parámetros para la red neuronal, consiguiendo los siguientes resultados.
12

También es fundamental hacer un proceso riguroso de validación del modelo mediante


técnicas como el cross-validation k-fold, con el cual se confirma la robustez del modelo
obtenido con las respectivas métricas de desempeño, calculadas con diferentes secciones
de la data de entrenamiento y validación, consiguiendo los siguientes resultados:
13
Las predicciones del modelo de la red neuronal se asemejan muy aproximados a la señal
real, y supone la corrección al momento la pérdida de los datos, presentada a las 10 am
según se aprecia en el gráfico y los datos de ejemplo.

Existen varias maneras de comprobar la calidad del modelo, principalmente el Score o


valor R2.

R-squared (R²) Score: 0.8413692203016634


87/87 [==============================] - 0s 2ms/step
Mean Squared Error (MSE): 87.81237619238425

De forma gráfica se puede apreciar la calidad de las predicciones, sabiendo que estas
métricas suponen una evaluación sobre la totalidad de los datos que también contienen
errores, por lo tanto para efectos prácticos, poder predecir los valores de caudal en esos
momentos de defecto o falla en el dato serán de gran confiabilidad y utilidad para el
proceso de análisis y gestión de las redes.
14

En el gráfico de residuos, se verifican los errores de las predicciones, también teniendo


en cuenta el componente de aleatoriedad al que responden los datos y posibles ruidos en
las señales.
15
4.3. Comparativo de Técnicas

Entre la Regresión Múltiple y la implementación de Redes Neuronales, hay gran similitud


en los resultados, para esta investigación el gasto computacional de un modelo de
regresión como el empleado fue notablemente más ahorrativo, en promedio tardando
menos de un segundo en calcularse, mientras que la red neuronal entrenando ha
tardado más de 20 minutos, sin contar el tiempo de prueba y error para establecer la
arquitectura y parámetros óptimos que lograsen resultados más que aceptables.

En este caso, en el cual se presenta un congelamiento de la data real, tanto las


predicciones de la red neuronal como la de la regresión lineal se aproximan entre sí, con
algunas diferencias menores.
16

En este caso en el cual, la señal real del instrumento y el registro primario del dato
marca un congelamiento total de los datos para ese dia 2022-09-28 se compara entre el
valor típico, la predicción de la red neuronal y la predicción de la regresión, con
particularidades y detalles a profundizar en campo para asegurarse cuál modelo ofrece
mayor confiabilidad en la estimación.

Y finalmente al observar a lo largo de la mayoría de los datos, una estrecha cercanía


entre las predicciones y el valor típico conseguido de forma estadística en los datos para
el comportamiento horario de un día del registro de caudal en el servicio de acueducto.
17

5. Conclusiones

La utilidad del machine learning es inmensa, sin límites que se puedan imaginar a
simple vista, para esta investigación aplicamos la regresión múltiple mixta
polinomial y un modelo de redes neuronales con tensorflow y Keras, obteniendo
una propuesta para solucionar un gran problema de la industria, como lo son la
falla o defectos en los datos, que requieren ser procesados continuamente y que a
partir de dichos análisis depende la efectividad de la gestión y la sostenibilidad del
proceso.

En términos prácticos, los modelos de regresión lineal, tengan el componente


polinomial y la multivariabilidad, no dejan de ser simples en comparación con las
redes neuronales, pero lo suficientemente robustos para ofrecer predicciones muy
cercanas lo presentado con las predicciones de las redes neuronales.

Cuando el gasto computacional para crear sistemas de apoyo para corregir data
defectuosa, es de relevancia y se requieren modelos rápidos, ligeros y fáciles de
implementar, las técnicas del machine learning serán suficientes, también teniendo
en cuenta que la complejidad de estos sistemas pueden ser soportados por estas
técnicas.

Las redes neuronales tienen un componente de aleatoriedad, muchos parámetros y


aspectos intrínsecos de las redes neuronales son a prueba y error, adaptándose
como una solución de tipo caja negra, sin embargo, son poderosas capaces de
resolver problemas muy complejos para técnicas más livianas como la regresión
múltiple empleada en esta investigación.

En términos generales, se logró proponer un modelo útil para corregir data


defectuosa o con errores en sistemas de distribución de acueducto utilizando
machine learning específicamente regresión polinomial y redes neuronales.
18

6. Referencias

1. "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" por


Aurélien Géron.
2. "Deep Learning with Python" por François Chollet (creador de Keras).
3. "Python Machine Learning" por Sebastian Raschka y Vahid Mirjalili.
4. "A Tutorial on Multivariate Polynomial Fitting" por Xavier Raynaud, Pau Bofill, et
al. (Enfoque en regresión polinómica).
5. "TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed
Systems" por Martín Abadi, et al. (Detalles sobre la arquitectura y uso de
TensorFlow).
6. "Keras: The Python Deep Learning library" por François Chollet (Artículo original
de Keras).
7. "Journal of Machine Learning Research" - Esta revista contiene una gran
cantidad de artículos sobre Machine Learning, incluyendo implementaciones de
modelos de regresión y redes neuronales.
8. "Neural Networks" - Una revista enfocada en investigaciones y desarrollos
relacionados con redes neuronales artificiales.
9. "IEEE Transactions on Neural Networks and Learning Systems" - Una
publicación de la IEEE que cubre investigaciones en áreas de redes neuronales y
sistemas de aprendizaje

También podría gustarte