Universidad Nacional Mayor de San Marcos
Universidad del Perú. Decana de América
Facultad de Ingeniería de Sistemas e Informática
Escuela Profesional de Ingeniería de Software
Sistema inteligente basado en Machine Learning para
la detección de fraude de facturación de agua potable
TESIS
Para optar el Título Profesional de Ingeniero de Software
AUTOR
Anthony Joffre CARRILLO ROSALES
ASESOR
David Santos MAURICIO SÁNCHEZ
Lima, Perú
2019
Reconocimiento - No Comercial - Compartir Igual - Sin restricciones adicionales
https://creativecommons.org/licenses/by-nc-sa/4.0/
Usted puede distribuir, remezclar, retocar, y crear a partir del documento original de modo no
comercial, siempre y cuando se dé crédito al autor del documento y se licencien las nuevas
creaciones bajo las mismas condiciones. No se permite aplicar términos legales o medidas
tecnológicas que restrinjan legalmente a otros a hacer cualquier cosa que permita esta licencia.
Referencia bibliográfica
Carrillo, A. (2019). Sistema inteligente basado en Machine Learning para la
detección de fraude de facturación de agua potable. Tesis para optar el título
profesional de Ingeniero de Software. Escuela Profesional de Ingeniería de Software,
Facultad de Ingeniería de Sistemas e Informática, Universidad Nacional Mayor de
San Marcos, Lima, Perú.
HOJA DE METADATOS COMPLEMENTARIOS
Código Orcid del autor:
Código Orcid del asesor o asesores:
0000-0001-9262-626X
DNI del autor:
46398320
Grupo de Investigación:
Facultad de Ingeniería de Sistemas e Informática
Institución que financia parcial o totalmente la investigación:
Universidad Nacional Mayor de San Marcos
Ubicación geográfica donde se desarrolló la investigación. Debe incluir localidades y
coordenadas geográficas.
Cercado de Lima, LIMA, PERÚ
Coordenadas: -12.053427, -77.085709
Año o rango de años que la investigación abarco:
2018 - 2019
iv
Quiero dedicar este trabajo a mis padres, Santa Susana y Job Vigil.
A mi madre quien me refleja siempre su infinita fortaleza, a mi padre por su apoyo
incondicional, y a ambos por ser mi motivo para seguir
creciendo en mi carrera profesional.
v
AGRADECIMIENTOS
Al profesor Dr. David Mauricio Sánchez, por su apoyo, orientación, esfuerzo y consejos
desinteresados, gracias a los cuales fue posible culminar este trabajo de investigación y
cumplir con los objetivos trazados.
Al Dr. Javier Gamboa Cruzado y al Mg. Juan Gamarra Moreno, les agradezco por sus
comentarios, sugerencias al presente trabajo de tesis y ser miembros del jurado evaluador.
A Richard Palomino y Mijail Rivera, por haberme facilitado los datos de consumo de agua
de los clientes de la Municipalidad de Gaza, en Palestina.
A la Universidad Nacional Mayor de San Marcos y a la Facultad de Ingeniería de Sistemas
e Informática, por haberme permitido realizar y concluir mis estudios superiores.
A cada uno de mis profesores en el pregrado, quienes ciclo a ciclo me inculcaron no solo
conocimientos acádemicos, sino la perseverancia, el poder superarme como persona, gracias
por haberme guiado en mi desarrollo profesional.
A mi familia, en especial a mis padres por su gran apoyo incondicional, por transimitirme
su fortaleza y perseverancia que admiro de ellos.
A mi hermana Helen, por echarme una mano cuando siempre lo necesité, por aportar
considerablemente en mi proyecto.
A mi hermana Magaly Camila, que en paz descanse, quien desde el cielo me está cuidando.
Gracias a ellos porque sé que siempre desearán lo mejor para mí.
A mis amigos que conocí en la etapa de pregrado, quienes me demostraron que, con mucha
paciencia, perseverancia y trazándose un objetivo, es posible de hacer realidad todo lo que
uno se proponga, gracias a ellos porque indirectamente me ayudaron a culminar este trabajo.
vi
Sistema Inteligente Basado en Machine Learning para la
Detección de Fraude de Facturación de Agua Potable
RESUMEN
En la actualidad no existe una herramienta o un sistema el cual compruebe con gran
exactitud (al menos de un 97 %) la detección de usuarios que cometen fraude en la
facturación del consumo de agua potable, ya sea por conexiones ilícitas o adulteración de
sus medidores de agua. Sin embargo, en el trabajo de investigación titulado Sistema
Inteligente para detectar fraude en el servicio de Agua Potable de una Empresa Sanitaria
(Palomino y Rivera, 2016) se obtuvo una tasa de 95.7 % de exactitud en la detección de
fraude en Gasa, Palestina. Cabe resaltar que la cantidad de pérdida económica es sumamente
considerable, así que la creación de una herramienta o sistema para detectar a estos usuarios
fraudulentos es de bastante importancia para las empresas generadoras de agua potable. En
el presente trabajo de investigación se propone desarrollar un Sistema Inteligente basado en
un modelo híbrido de técnicas de minería de datos que pretende mejorar la tasa de exactitud
en detección de un cliente en fraude de facturación de agua potable. Para el entrenamiento
y la validación del modelo híbrido se pretende usar un dataset histórico del consumo de agua
de los clientes de una empresa sanitaria en Palestina, así se obtendrá una tasa de 97.71 % de
exactitud de detección de fraude.
Palabras clave: Fraude de facturación de agua, Minería de Datos, Clasificador por votación,
Máquina de Soporte Vectorial, Regresión linear, Árbol de decisión.
vii
Intelligent System based on Automatic Learning for the
Detection of Drinking Water Billing Fraud
ABSTRACT
Currently, there is no tool or system that verifies with great accuracy (at least 97%) the
detection of users who commit fraud in the billing of drinking water consumption, either
through illicit connections or adulteration of their meters of water. However, in the research
work entitled Intelligent System to detect fraud in the Drinking Water service of a
Healthcare Company (Palomino and Rivera, 2016), a 95.7% accuracy rate was obtained in
fraud detection in Gaza, Palestine. It should be noted that the amount of economic loss is
extremely considerable, so the creation of a tool or system to detect these fraudulent users
is quite important for companies generating drinking water. In this research work we
propose to develop an Intelligent System based on a hybrid model of data mining techniques
that aims to improve the accuracy rate in detecting a customer in drinking water billing
fraud. For the training and validation of the hybrid model, we intend to use a historical
dataset of the water consumption of the clients of a health company in Palestine, thus
obtaining a rate of 97.71% accuracy of detection of fraud.
Keywords: Water billing fraud, Data Mining, Voting Sorter, Vector Support Machine,
Linear Regression, Decision Tree.
viii
TABLA DE CONTENIDOS
Lista de Figuras ..................................................................................................... x
Lista de Tablas .................................................................................................... xii
CAPÍTULO 1: INTRODUCCIÓN .................................................................... 1
1.1. Antecedentes .................................................................................................. 1
1.2. Problema ........................................................................................................ 2
1.3. Importancia del problema .............................................................................. 3
1.4. Motivación ..................................................................................................... 7
1.5. Objetivos ........................................................................................................ 7
1.5.1. Objetivo general……………………………………………………..…….7
1.5.2. Objetivos específicos……………………………………………………...8
1.6. Propuesta ........................................................................................................ 8
1.7. Organización de la tesis ................................................................................. 9
CAPÍTULO 2: ESTADO DEL ARTE ............................................................ 10
2.1. Metodología………………………………………………………………...10
2.2. Planificación ................................................................................................ 10
2.3. Ejecución...................................................................................................... 11
2.4. Resultados .................................................................................................... 13
2.4.1. Documentos seleccionados………………………………………………13
2.5. Análisis ........................................................................................................ 14
2.5.1. ¿Qué variables se consideran para la detección en fraude de facturación de
agua? ................................................................................................................. 14
2.5.2. ¿Qué téccnicas son las más acertadas para este tipo de fraude? ............... 16
2.5.3. ¿Qué herramientas tecnológicas de minería de datos
se ha usado? ....................................................................................................... 17
CAPÍTULO 3: MODELO KDD PARA LA DETECCIÓN DE FRAUDE
EN LA FACTURACIÓN DE AGUA .............................................................. 18
3.1. Justificación de la metodología .................................................................... 18
3.2. Modelo KDD propuesto ............................................................................... 19
3.3. Descripción del modelo ............................................................................... 22
3.3.1. Selección de datos ..................................................................................... 22
3.3.2. Preprocesamiento de datos ........................................................................ 22
3.3.3. Transformación de datos ........................................................................... 23
3.3.4. Data mining ............................................................................................... 23
3.3.4.1. Variables……………………………………………………………….24
3.3.4.2. Técnicas de Machine Learning………………………………………...25
3.3.4.3. Modelo híbrido………………………………………………………....25
3.3.4.3. Parámetros……………………………………………………………...27
3.3.5. Interpretación y evaluación ....................................................................... 28
ix
CAPÍTULO 4: DESARROLLO DEL SISTEMA INTELIGENTE PARA LA
DETECCIÓN DE FRAUDE EN EL SERVICIO DE AGUA POTABLE ... 30
4.1. Arquitecura del Sistema ............................................................................... 30
4.1.1. Descripción del Sistema………………………………………………….32
4.2. Modelado del Sistema .. ……………………………………………………32
4.2.1. Usuarios del Sistema . ……………………………………………………32
4.2.2. Casos de uso del Sistema………………………………………………...37
4.2.2.1. Acceso al Sistema………………………………………………………38
4.2.2.2. Detección de Fraude…………………………………………….……...40
4.3. Conexión Python con Weka………………………………………………..51
4.4. Validación del Sistema……………………………………………………..52
4.4.1. Validación de la funcionalidad…………………………………….……..52
4.5. Requerimientos para el desarrollo del Sistema …………………………….55
4.5.1. Requisitos mínimos a nivel de Hardware………………………………...55
4.5.2. Requisitos mínimos a nivel de Software……..…………………….….…56
CAPÍTULO 5: ENTRENAMIENTO Y VALIDACIÓN DEL MODELO DE
DETECCIÓN DE FRAUDE EN LA FACTURACIÓN DE AGUA ............. 57
5.1. Diseño de la validación…………………………………………………….57
5.2. Requerimientos para la operación del Sistema…………………………….59
5.2.1. Requerimientos mínimos a nivel de Hardware………………….…..…...59
5.2.2. Requerimientos mínimos a novel de Software………………….… ........ 59
5.3. Instancias de Pruebas………………………………………………………59
5.3.1. Preparación de datos……………………………………………………..59
5.3.2. Instancias de pruebas para el entrenamiento, validación y pruebas……...60
5.4. Métricas…………………………………………………………………….60
5.5. Fase de entrenamiento……………………………………………………...62
5.5.1. Calibración de parámetros………………………………………………..62
5.5.2. Configuración de Weka para el modelo híbrido……………………….…65
5.5.3. Resultados………………………………………………………………...69
5.6. Fase de validación………………………………………………………….71
5.7. Análisis de los resultados de la validación del modelo...…………………..74
5.8. Confirmación de los resultados……………………………………….........75
CAPÍTULO 6: CONCLUSIONES Y TRABAJOS FUTUROS ................... 78
6.1. Conclusiones ................................................................................................ 78
6.1.1. Conclusión general………………………………………………………78
6.1.2. Conclusiones específicas………………………………………………...78
6.1.2.1. Objetivo específico 1…………………………………………………..78
6.1.2.2. Objetivo específico 2…………………………………………………..78
6.1.2.3. Objetivo específico 3…………………………………………………..79
6.1.2.4. Objetivo específico 4…………………………………………………..79
6.2. Límitaciones ................................................................................................. 80
6.3. Trabajos futuros ........................................................................................... 80
x
Referencias Bibliográficas ................................................................................ 81
ANEXO A……………………...……………………………………....85
ANEXO B………………………………...……………………………88
ANEXO C…………………………………...…………………………90
ANEXO D…………………………………...…………………………92
xi
Lista de Figuras
1.1. Esquema del Balance de Agua de la IWA (ECONSSA Chile, 2014) 4
1.2. Planilla para el cálculo de balance de agua (ECONSSA Chile, 2014) 5
1.3. Producción y agua no facturada (Sedapal, 2018) 6
1.4. Idea básica propuesta 8
2.1. Diagrama de flujo de selección de artículos para el estado de arte 12
3.1. Modelo KDD propuesto para la detección de fraude en la facturación de agua 21
3.2. Modelo predictivo 26
4.1. Arquitecura del Sistema Web 31
4.2. Interfaz de ingreso del Sistema de detección de fraudes 33
4.3. Entrenamiento del modelo SVM 34
4.4. Validación del modelo híbrido 35
4.5. Interfaz de detección de fraude 36
4.6. Reporte de lista clientes detectados 37
4.7. Paquetes del Sistema 38
4.8. Diagrama de actividades del caso de uso Validar Usuario 39
4.9. Diagrama de CUS validar Usuario 40
4.10. Diagrama de Actividades del CUS Importar Archivo 41
4.11. Diagrama del CUS importar Archivo 41
4.12. Diagrama de actividades del CUS Entrenar Modelo 44
4.13. Diagrama del CUS Entrenar Modelo 44
4.14. Diagrama de actividades del CUS Validar Modelo 46
xii
4.15. Diagrama del CUS Validar Modelo 46
4.16. Diagrama de actividades del CUS Detectar fraude 48
4.17. Diagrama del CUS Detectar Fraude 48
4.18. Diagrama de actividades del CUS Generar detalle de clientes 50
4.19. Diagrama CUS Generar detalle de clientes 50
4.20. Uso de la librería Weka con Python 52
4.21. Datos de entrada para la Detección de Fraude 54
4.22. Resultado de la prueba de funcionalidad del sistema 55
5.1. Diseño de la validación del modelo propuesto 58
5.2. Configuración de porcentaje para el entrenamiento 66
5.3. Selección del clasificador Vote 67
5.4. Configuración para ingresar los parámetros de ‘Vote’ en Weka 67
5.5. Configuración de clasificadores 68
5.6. Iniciar el entrenamiento del modelo 69
5.7. Resultados del entrenamiento 69
5.8. Cargar Modelo entrenado 71
5.9. Modelo entrenado ha sido cargado 72
5.10. Carga de datos para la validación 72
5.11. Validación de los datos sobre el modelo creado 73
5.12. Resultados de la validación del Modelo Híbrido 74
5.13. Cargamos nuestro conjunto de pruebas 75
5.14. Confirmación sobre los resultados 76
5.15. Resultado para las primeras 40 instancias del conjunto de pruebas 77
xiii
Lista de Tablas
1.1. Desglose del agua mensual no facturada (Ledesma O., 2014) 3
2.1. Criterios de inclusión y exclusión 11
2.2. Documentos seleccionados para la detección de fraude en facturación de
agua 13
2.3. Variables usadas para la detección de fraude en la facturación agua 15
2.4. Tabla de análisis de las técnicas usadas en los documentos de
investigación 16
3.1. Variables consideradas para el modelo híbrido 24
3.2. Parámetros de Regresión Logística 27
3.3. Parámetros de Árbol de decisión 27
3.4. Parámetros de Máquina de Soporte Vectorial 27
3.5. Matriz de Confusión para evaluar el modelo (Qasem y Mahmoud, 2018) 28
5.1. Tabla de resultados según diferentes porcentajes de entrenamiento 59
5.2. Instancias de pruebas para el entrenamiento, validación y pruebas 60
5.3. Matriz de confusión para el análisis de resultados 61
5.4. Comparación de la exactitud del modelo variando el confidenceFactor
y el MinNumObj del clasificador J48. 63
5.5. Comparación de la exactitud del modelo variando el maxlts del
clasificador Logistic. 64
5.6. Comparación de la exactitud del modelo variando el parámetro C
y Gamma del algoritmo LibSVM 65
xiv
5.7. Matriz de confunsión del entrenamiento del modelo 70
5.8. Exactitud de modelos y el clasificador Vote 70
5.9. Matriz de confusión, detección del sistema vs. Detección real 74
1
CAPÍTULO 1: INTRODUCCIÓN
1.1. Antecedentes
El agua es un recurso muy necesario en la humanidad. Según un informe de la ONU
(ONU, 2010), 828 millones de personas habitan asentamientos informales, los cuales
están esparcidos alrededor del mundo y es un gran desafío el de abastecer a estas
personas de agua potable y servicios sanitarios. El acceso al agua potable se mide por el
número de personas que pueden obtener agua potable con razonable facilidad,
expresado como porcentaje de la población total. Es un indicador de la salud de la
población en un país y capacidad del mismo de conseguir agua, purificarla y distribuirla.
El agua es esencial para la vida, sin embargo, más de mil millones de personas carecen
de acceso a agua potable y casi 2 millones de personas carecen de acceso a servicios de
saneamiento. La mayoría de esas personas viven en países de ingreso bajo y mediano
(CivilGeek, 2011). Además, según (ONU, 2010), los motivos más importantes son:
- Entre 250 y 500 millones de metros cúbicos de agua potable es desperdiciada cada
año en varias ciudades del mundo.
- No tener que desperdiciar esta cantidad de agua ayudaría a proveer de agua potable
a unos 15 a 20 millones de personas adicionales en cada gran ciudad.
Uno de los grandes problemas que encuentran las empresas de abastecimiento de agua
dentro del consumo de agua potable es el fraude en la facturación del agua, lo cual trae
como consecuencia el hecho de no lograr cobrar en un cliente final el consumo total de
su facturación, este índice es alrededor de un 30 % (Patiño, 2014) del agua no facturada
por intervenciones de las personas en sus propios medidores, con el objetivo de
2
disminuir la lectura de m3. Teniendo un estimado de 7000.000 m3, lo que en dinero es
un aproximando de $468 MM.
Para atacar este problema existen diversos tipos de técnicas con determinada exactitud,
como el árbol de decisión con una exactitud del 75 % (Patiño, 2014), Coeficiente de
Paerson (Monedero, 2015), algoritmos estadísticos (Biscarri, 2015), detección de datos
atípicos (De Castro, 2015), entre otras. Sin embargo, existe un problema localizado en
las distintas empresas de abastecimiento de agua (Patiño, 2014).
1.2. Problema
El problema de la detección de fraude en la facturación de agua es determinar los
usuarios que manipulan sus medidores de agua o realizan instalaciones paralelas con el
fin de pagar menos en su facturación; como consecuencia disminuir las pérdidas
económicas de las empresas de abastecimiento de agua por el consumo de agua no
facturada.
3
1.3. Importancia del problema
El fraude en la facturación de agua, ocurre en diversos países en el mundo, generando
grandes pérdidas económicas. A continuación, veremos los casos de Chile y Perú.
La empresa chilena Aguas Andinas, obtuvo una producción promedio mensual en el año
2014 de 58 MM m3, de los cuales se cobró 40 MM m3, es decir, se dejó de facturar un
promedio de 18 MM de m3 al mes.
Según estudios realizados por SUEZ, la repercusión que tiene cada factor en el agua no
contabilizada es:
Factor Porcentaje (%) Magnitud de MM m3 al mes
Pérdida técnica 57 10.33
33 5.9
Pérdida micro medición
10 1.8
Pérdida uso irregular
Tabla 1.1. Desglose del agua mensual no facturada (Ledesma O., 2014)
La pérdida por el uso irregular incluye robo de grifos, servicios no enrolados, conexiones
paralelas e intervención en sus medidores. Aguas Andinas estimó que de los 1,8 MM m3
de agua potable perdidos al mes por uso irregular, cerca de 700,000 m3 corresponden a
clientes enrolados con instalaciones irregulares (conexión paralela o intervención en sus
medidores). Si se considera que, al no facturar dicho volumen, se deja de cobrar por
concepto de agua potable, así se obtendrá una pérdida económica mensual que bordea los
$468 MM (Patiño, 2014).
El presente trabajo se encargará de evaluar el tercer y cuarto punto del factor “perdida por
uso irregular”, vale decir, la detección de clientes que facturan un volumen menor al
correspondiente a su consumo real, ya sea por conexiones paralelas o por intervención en
sus medidores.
4
Según parte de la metodología propuesta por la IWA (International Water Association)
propuso una forma estandar para contabilizar el ANF (Agua no Facturada), representada
en la Figura 1.1. donde se realiza un balance ordenado del volumen de entrada al sistema
de conducciones y de distribución de agua potable.
Agua
exportada
Agua Consumos Agua
potable autorizados facturada
facturados Agua exportada facturada (m3/año)
producida Consumos
en fuentes autorizados
propias (m3/año) Consumos facturados
medidos
(m3/año) Volumen de
entrada al Consumos facturados no
Sistema de medidos.
Distribución Consumos Consumos no facturados
(m3/año) autorizados medidos
Agua no Consumos no facturados no
suministra facturados medidos
da
( m3/año) Pérdidas Consumos no autorizados Agua no
Agua comerciales facturada
potable Imprecisión en la medición
Pérdidas en conducciones y ANF (*)
importada. (m3/año)
Pérdidas redes
(m3/año) Pérdidas Pérdidas y reboses de
(m3/año)
físicas estanques
Pérdidas de arranques
(Matriz -MAP)
Notas: * Agua no facturada (ANF): En inglés IWA define esta parte del balance como "Non Revenue Water" (NRW),
lo que se traduciría "Agua sin beneficio o agua no rentabilizada". IWA recomienda no usar el término Unaccoundted
for Water (UFW), que se parece al español "Agua No contabilizada (ANC)". Si se debería calcularse según el desglose
inclinado en la tabla
Figura 1.1. Esquema del Balance de Agua de la IWA (ECONSSA Chile, 2014)
5
Un antecedente relevante para el presente estudio lo constituye el estudio denominado
“Estudio Caracterización de Aguas no Contabilizadas en Empresas de Servicios
Sanitarios”, realizado por INECON para la Superintendencia de Servicios Sanitarios
(SISS) durante el año 2012 a la emprea chilena ECCONSA y se muestra en la siguiente
Figura 1.2.
Consumos facturados
medidos Agua
facturado
Consumos Autorizados
35,000.000
facturados
35,500.000
Consumos facturados (m3/año)
35,500.000
(m3/año) no medidos.
Consumos
autorizados 500.000
35,840.000 Consumos no
(m3/año) facturados no medidos
Consumos autorizados
No facturados 120.000
340.000 Consumos no
Volumen de (m3/año) facturados no medidos
entrada al
Sistema de 220.000
Distribución
Consumos no
(m3/año)
autorizados
Pérdidas comerciales Agua no
40,000.000 facturada
50.000
2,150.000 Imprecisión en la ANF
(m3/año)
(m3/año) medición
4,500.000
2,100.00 (m3/año)
Pérdidas Pérdidas en
conducciones y redes
4,160.000
(m3/año) 1,005.000
Pérdidas físicas Pérdidas y reboses de
estanques
2,010.000
(m3/año) 0
Pérdidas en arranques
(matriz-MAP)
1,005.000
Figura 1.2. Planilla para el cálculo de balance de agua (ECONSSA Chile, 2014)
6
Un caso en Péru la empresa Sedapal, se aprecia que en los últimos 6 años (2013-2018), se
ha producido cierta cantidad de volumen anualmente, alcanzando una producción
promedio anual de 699 millones de m3 y asu vez teniendo un porcentaje de agua no
facturada (ANF) por cada año, ocasionando una pérdida de millones de soles (Sedapal,
2018). A continuación, se muestra en la Figura 1.3. el porcentaje de la cantidad de agua no
facturada desde el año 2013 hasta el 2018.
Figura 1.3. Producción y agua no facturada (Sedapal, 2018)
7
1.4. Motivación
En la actualidad existen muchas empresas prestadoras de servicios de saneamiento como
agua potable y alcantarillado sanitario, los cuales tienen como objetivo abastecer a toda
la población. Actualmente existe un porcentaje de personas que no cuenta con este
servicio por diversos motivos, debido a ello se necesita hacer el uso adecuado del recurso
que brindan, en virtud de la creciente demanda. Por dicho motivo se requiere un control
de calidad de las personas que cuentan con el servicio, ya que pueden incurrir en algún
tipo de anomalías (posible motivo: robo), lo cual ocasiona una pérdida económica a las
empresas prestadoras del servicio de saneamiento de agua potable, con una cantidad de
agua no facturada, donde los ingresos mensuales son menores a los reales, esto quiere
decir agua no facturada.
Para esto se requerirá de un Software que pueda aprender automáticamente a identificar
a los clientes que cometen este tipo de fraude en un tiempo corto de consumo, lo cual
sería más eficiente que una inspección manual en cada una de las viviendas, pues esto
demandaría una gran inversión para la empresa prestadora del servicio de saneamiento de
agua, además, realizarla de esta forma demandaría mucho tiempo en detectar donde se
cometiese el fraude, para ello ya no existiría una inversión para tomar esta medida en los
sectores donde no llegan este servicio por parte de la empresa de Servicio de Agua.
1.5. Objetivos
1.5.1. Objetivo general
Desarrollar un Sistema Inteligente basado en Árboles de decisión, Regresión Logística
Lineal y Máquina de Soporte Vectorial para mejorar la exactitud en la detección de fraude
8
por el consumo de agua no facturada mensualmente, que son cometidos por usuarios de
una Empresa Prestadora de servicio de Saneamiento de Agua Potable.
1.5.2. Objetivos específicos
O.E.1. Revisar la literatura para identificar variables necesarias para la detección de
fraude de facturación de agua.
O.E.2. Diseñar un modelo híbrido basado en técnicas de minería de datos.
O.E.3. Implementar un Sistema Inteligente que validará el dataset de la literatura
mencionada anteriormente.
O.E.4. Realizar pruebas numéricas con un dataset de la literatura para determinar la
exactitud de los resultados del sistema propuesto.
1.6. Propuesta
Se propone el desarrollo de un sistema basado en machine learning, el cual será capaz de
detectar a los usuarios que están cometiendo este delito para su facturación de agua
potable. La idea planteada para la propuesta se presenta en la siguiente figura.
Figura 1.4. Idea básica propuesta
9
1.7. Organización de la tesis
El presente trabajo de tesis está compuesto por seis capítulos, que a continuación se
describe sucintamente.
En el capítulo 2, se describe el estado del arte, donde se dan a conocer investigaciones
respecto a la detección de fraude en la facturación de agua y sus porcentajes de exactitud
en la detección.
Luego, en el capítulo 3 se presentará el aporte, donde se identificará la metodología, el
desarrollo y la realización de la propuesta para el proyecto de tesis, así como la
descripción de la herramienta.
En el capítulo 4 se describirá el desarrollo del Sistema Inteligente en mención, la
arquitectura, el modelado del sistema, la validación del sistema y los requerimientos para
el sistema.
A continuación, en el capítulo 5 se presentará el entrenamiento y la validación del modelo
inteligente sobre un dataset, así se mostrará los respectivos resultados del entrenamiento.
Finalmente, en el capítulo 6 se mencionará las conclusiones, los trabajos futuros,
limitaciones y los puntos a mejorar del alcance final del trabajo de investigación
propuesto.
10
CAPÍTULO 2: ESTADO DEL ARTE
El presente capítulo tiene como finalidad revisar y exponer los modelos o métodos para la
detección de fraude en la facturación de agua, para este fin se ha seguido una metodología
de cuatro fases: planificación, ejecución, resultados y análisis.
2.1. Metodología
Para la elaboración del estado del arte se ha tenido en cuenta las siguientes fases:
planificación, ejecución y resultados. Esta metdología ha sido usada por (Kitchenham,
2007) y (Ardito, 2015).
Planificación: Se elaborarán las preguntas de investigación, incluyendo los criterios de
inclusión y exlusión para la respectiva selección de los artículos.
Ejecución: Se aplica el protocolo definido para la filtración de los artículos de acuerdo
a los criterios de inclusión y exclusión.
Resultados: Se presenta los resultados obtenidos en la sección de la ejecución.
Análisis: Se responderán las preguntas planteadas en la sección de la planificación.
2.2. Planificación
Para lograr el propósito de la investigación de un sistema inteligente para la detección de
fraude en facturación de agua, se proponen las siguientes preguntas:
Q1: ¿Qué variables son las que se toman en cuenta en la identificación de anomalías de la
facturación de fraude de agua?
11
Q2: ¿Qué técnicas son las más acertadas para este tipo de fraude?
Q3: ¿Qué herramientas tecnológicas de minería de datos se han usado?
Para este fin se realizaron las búsquedas de artículos científicos o revistas con factor de
impacto SJR: ScienceDirect, DOAJ, Taylor and Francis, IEEE Xplore y Elsevier. Así
mismo, se usó las siguientes cadenas de búsqueda: “fraud water”, “fraud detection service
water”, “billing fraud water” y “fraud water comsutption”, todos pertenecientes al periodo
2010 – 2017. Se usó los criterios de exlusión de validación en los documentos, si se dan el
caso en diferentes partes del mundo o el porcentaje de exactitud en las técnicas usadas.
Criterios de inclusión Criterios de exclusión
• Presentan técnicas o modelos para • Papers donde no usen como solución
detección de fraude en consumo de de aprendizaje para detección de
agua. fraude de consumo de agua.
• Presentan el uso de datasets. • Posters, editoriales.
• Proponen nuevos métodos para la
detección de fraude en consumo de
agua.
• Respondan a las preguntas de
investigación.
Tabla 2.1. Criterios de inclusión y exclusión
2.3. Ejecución
La implementación del protocolo se explica en la figura 2.1, en donde se observa que,
de los bancos de artículos científicos iniciales, se encontró 82 artículos mediante el
criterio de exclusión e inclusión establecidos, string y combinación de palabras, luego
por criterio de exclusión se redujeron a 8 artículos y 3 tesis.
12
Figura 2.1. Diagrama de flujo de selección de artículos para el estado de arte
13
2.4. Resultados
2.4.1. Documentos seleccionados
Luego de ejecutar la planificación de acuerdo con la figura 2.1., se muestra los 11
documentos obtenidos en la tabla 2.2.
ID Título Autor Journal (Fuentes)
A01 Reconocimiento de patrones en usos Ibañez, Días, et al. Computing and Control for the
residenciales finales de agua utilizando Water Industry
redes neuronales artificiales y otras (2017)
técnicas de aprendizaje automático
A02 Regresión vectorial de clústeres y soporte Candelieri (2017) Water
para predicción de demanda de agua y
detección de anomalías
A03 Sistema Inteligente para detectar fraude Palomino y Rivera Tesis de ingeniería
en el servicio de Agua Potable de una (2016)
empresa Sanitaria
A04 Una aproximación a la detección de Monedero, Biscarri, International Conference on
manipulación de medidores de agua et al. (2015) Knowledge Based and Intelligent
Information and Engineering
Systems
A05 La detección del contador del agua de Peña, Roldán, et al. American Society of Civil
subregistro, utilizando algoritmos (2015) Engineers
estadísticos
A06 La determinación de la cantidad y Faghafur, Reza, et Civil Engineering and Urbanism
localización de fugas en el suministro de al. (2014)
redes de agua utilizando una red neuronal
mejorada por el Bat optimización del
algoritmo
A07 Modelo de detección de fraude en clientes Victoria, Patiño, et Tesis de ingeniería
del servicio de agua potable de una al. (2014)
empresa sanitaria
A08 Un sistema para la detección del fraude De castro, Interciencia
en la compañía abastecimiento de agua Cerqueira, et al.
(2014)
A09 El consumo de agua, detección de fraudes Humaid y Barhoum Palestinian International
financieros: un modelo basado en las (2013) Conference on Information and
reglas de inducción Communication Technology
A10 El Modelo de Detección de Fraude basado Eyad (2012) Tesis de ingeniería
en la minería de datos para el sistema de
facturación Consumo de agua en MOG
A11 Evaluación de las pérdidas aparentes en Mutikanga, Sharma Water and Environment
los sistemas de agua urbanos et al. (2010)
Tabla 2.2. Documentos seleccionados para la detección de fraude en facturación de agua
14
2.5. Análisis
En esta sección se responderán las preguntas planteadas en la planificación.
2.5.1. ¿Qué variables se consideran para la detección en fraude de facturación de
agua?
Del estudio de los documentos seleccionados se han encontrado 38 variables que
se usan para la detección de fraude en facturación de agua, el inventario de estas
variables es presentado en la tabla 2.3.
Id Variable Descripción Referencia
V01 Identicación de cliente Identificador para un cliente de servicio de Eyad (2012),
agua o residencia Palomino y
Rivera (2016)
V02 Tipo de servicio El tipo de servicio de facturación (agua o Eyad (2012)
electricidad)
V03 Identicación de medidor Indica el número del medidor de un cliente Eyad (2012)
V04 Deuda del cliente Monto de dinero que adeuda el cliente Eyad (2012),
Palomino y
Rivera (2016)
V05 Tipo de calculo Registro si el consumo automático promedio Eyad (2012)
o cantidad real por el lector
V06 Identicación de El número de ubicación para identificar el Eyad (2012)
ubicación edificio
V07 Polígono social Si cliente reside en sector social vulnerable Patiño (2014)
(1) o no (0)
V08 Promedio de consumo de Promedio consumo de m3 en los últimos 6 Patiño (2014),
6 meses meses Palomino y
Rivera (2016)
V09 Caída Magnitud de la caída de consumo de mayor Patiño (2014)
relevancia, en los últimos 48 meses
V10 Irregularidad del Indica si la última clave manifiesta indicio Patiño (2014)
consumo directo de irregularidad o no
V11 Anomalía del medidor Indica si la última clave manifiesta indicio de Patiño (2014)
anomalías en el medidor o no
V12 Estado de lectura de Indica si la última clave correspondió a un Patiño (2014)
medidor proceso de lectura normal o no
V13 Número de claves N.° de claves consideradas “irregulares” en Patiño (2014)
iregulares de los últimos los últimos 12 meses
12 meses
V14 Número de claves N.° de claves consideradas “anómalas” dentro Patiño (2014)
anónalas de las últimas 12 claves
V15 Número de claves no N.° de claves consideradas “no efectivas” Patiño (2014)
efectivas dentro de últimas 12 claves
15
V16 Número de claves de N° de claves consideradas “de inmueble Patiño (2014)
inmueble deshabitado deshabitado” dentro de últimas 12 claves
V17 Número de claves N.° de claves consideradas “normales” dentro Patiño (2014)
normales de los últimos de las últimas 12 claves.
12 meses
V18 Número de claves N.° de claves distintas de “N” dentro de las Patiño (2014)
distintas de los últimos últimas 12 claves
12 meses
V19 Desviación estándar de Magnitud de la caída de la desviación estándar Patiño (2014)
bajada de mayor relevancia, en los últimos 48 meses
V20 Desviación estándar de Magnitud del alza de la desviación estándar de Patiño (2014)
subida mayor relevancia, en los últimos 48 meses
V21 Promedio consumo Promedio de consumo de últimos 6 meses de Patiño (2014)
vecinos del cliente
V22 Concentración de Concentración de irregulares en el sector en Patiño (2014)
irregularidades que sitúa el cliente
V23 Desaviación estándar de Desviación estándar normalizada de los Patiño (2014)
consumo de 12 meses últimos 12 consumos mensuales
V24 Desviación estándar de Desviación estándar normalizada de los Patiño (2014)
consumo de 6 meses últimos 6 consumos mensuales
V25 Consumo de 12 meses Porcentaje de consumos nulos en últimos 12 Patiño (2014),
meses.
V26 Valores de lecturas Últimos 24 valores de lectura del medidor. Monedero
(2015)
V27 Consumo Los valores de consumo en litros antes de Monedero
proceso de normalización. (2015)
V28 Personas por hogar. Número de personas que habitan un hogar Monedero
(2015)
V29 Posición de fuga Indica en que sector donde se reside se Faghafur (2014)
encuentra la fuga de agua.
V30 Cantidad de fuga Indica la cantidad de agua consumida por el Faghafur (2014)
usuario.
V31 Posición del número Valor de referencia. Faghafur (2014)
mínimo de mediciones
de presión
V32 Cantidad de fuga Indica los puntos que son propensos a una fuga Faghafur (2014)
pronosticada de agua por averías.
V33 Error medio. Error medio porcentual en cada prueba. Faghafur (2014)
V34 Consumo medio Indica la media entre el consumo actual y los De Castro
2 meses anteriores. (2014)
V35 Desviación estándar Valor que servirá de referencia para el análisis De Castro
final. (2014)
V36 Coeficiente de variación Valor que servirá de referencia para el análisis De Castro
final. (2014)
V37 Número de muestras Cantidad de muestras tomadas para la prueba. Multikanga
(2010)
V38 Cantidad de conteo de Los registros de datos de una semana se Multikanga
pulsos llevaron a cabo a través del conteo de pulsos (2010)
en un intervalo de 10 s.
Tabla 2.3. Variables usadas para la detección de fraude en la facturación agua
16
2.5.2. ¿Qué técnicas son las más acertadas para este tipo de fraude?
En la tabla 2.4 se muestra las técnicas aplicadas para la detección de fraude en la
facturación del consumo de agua, su nivel de exactitud en la detección, el tamaño de
registros (instancia) para la validación y la referencia.
Técnica Exactitud Instancias Referencia
Árbol de Decisión 75% 7252
Redes Neuronales 72,8% 7252 Patiño (2014)
Regresión Logísitca 71,6% 7252
Redes neuronales y K-Nearest-Neighbor
98% 55 De Castro (2014)
(Vecino más cercano)
Detección de datos atípicos
88,2% 7628 Faghafur (2014)
Anormalmente bajo consumo 80% 720.000 Eyad (2012)
Coefciente de correlación de Person
7% 859 Monedero (2015)
Algorítmos estadísticos
7% 250 Multikanga (2010)
Máquina de Soporte Vectorial
95,7% 4814 Palomino y Rivera (2016)
Tabla 2.4. Tabla de análisis de las técnicas usadas en los documentos de investigación
Observe que presentan mayor exactitud son las de redes neuronales - vecino más cercano
(De Catro, 2014), pero la instancia de pruebas es pequeña; y la técnica de datos atípicos
(Faghafur, 2014). Sin embargo, la exactitud no puede ser considerada un criterio suficiente
para identificar la técnica más acertada, en vista que ella depende de los datos, el tamaño
de los datos y el escenario.
17
2.5.3. ¿Qué herramientas tecnológicas de minería de datos se han usado?
Las herramientas tecnlogícas de minería de datos que se emplearon en la literatura son:
Weka 3.8, la cual contiene algoritmos de Machine Learning, Máquinas de Soporte
Vectorial (Support Vector Machine) (Palomino y Rivera, 2016), SPSS v 17 , Software
estadístico informático muy usado en las ciencias sociales y aplicadas (De Castro, 2015),
(Patiño, 2014), Trace Wizard® (Aquacraft) o Identiflow, se basa en árboles de decisión
simples para clasificar los eventos de uso del agua, Rapid Miner 5.1, programa informático
para el análisis y minería de datos que permite el desarrollo de procesos de análisis de datos
mediante el encadenamiento de operadores a través de un entorno gráfico (Eyad, 2012),
(Humain, 2013), EPANET2.0., crea modelos matemáticos de Sistemas de Distribución de
Agua Potable de cierta complejidad (Faghafur, 2014)
18
CAPÍTULO 3: MODELO KDD PARA LA DETECCIÓN DE
FRAUDE EN LA FACTURACIÓN DE AGUA
En el presente capítulo identificaremos y justificaremos la metodología más adecuada,
el diseño de la solución, la descripción del diseño, el modelo a proponer y, por último,
desarrollaremos la propuesta del modelo para la detección de fraude en la facturación
de agua potable.
3.1. Justificación de la metodología
Se justifica la metodología KDD como base para el desarrollo de esta investigación
debido a que es considerada un proceso metodológico para encontrar un “modelo”
válido, útil y entendible que describa patrones de acuerdo a la información, y que ha
sido aplicado en diversos problemas de detección de fraude, como Fraud Detection in
High Voltage Electricity Consumers Using Data Mining (Detección de fraude en
consumidores de electricidad de alto voltaje utilizando minería de datos) (Cabral et al.,
2008), Using the rough set theory to detect fraud committed by electricity customers
(Utilizando la teoría de conjuntos para detectar el fraude cometido por los clientes de
electricidad) (Spiric et al., 2014).
19
3.2. Modelo KDD propuesto
En la figura 3.1 se presenta las estapas que conforman la metodología propuesta para la
detección en fraude de facturación de agua.
21
Figura 3.1. Modelo KDD propuesto para la detección de fraude en la facturación de agua
22
3.3. Descripción del modelo
3.3.1. Selección de datos
En esta fase se construye una base de datos que integra registros históricos relacionados a
la facturación del consumo del agua de los clientes a ser evaluados, a partir de diversos
repositorios de la organización. Se sugiere que dicha base de datos considere en lo posible
los datos asociados a las variables dadas en la literatura (Ver tabla 2.3).
3.3.2. Preprocesamiento de datos
Se tratan los casos duplicados, missings (datos faltantes) y outliers (datos fuera de rango)
(Fayyad et al, 1996) normalización de datos (Dorian Pyle, 1999).:
Caso de datos duplicados:
- Si presenta usuarios repetidos, eliminarlos.
Caso de Missings:
- Para el caso de un cliente que posee pocos valores faltantes, se procede a imputar su
valor por el promedio.
- Ignorar la variable si presenta un alto porcentaje de missings.
- Ignorar la fila si presenta un alto porcentaje de missings.
Caso de Outliers:
- Elminar la variable en la base de datos si la variable presenta muchos outliers.
- Eliminar los registros de un cliente si este presenta muchos outliers en las variables.
23
Normalizar datos:
Normalizar significa que cada dimensión puede construirse de modo que sus valores
máximo y mínimo sean los mismos. Es muy conveniente construir el rango de escala
de modo que el valor máximo sea 1 y el mínimo 0.
Dónde:
vn: Valor normalizado.
vi: valor de instancia.
Esta expresión toma cualquier valor y lo transforma en otro número. Si el valor de
entrada está dentro de los límites, la salida estará entre 0 y 1. Cualquier valor fuera de
los límites quedará fuera del rango 0–1 (Dorian Pyle, 1999).
3.3.3. Transformación de datos
Se procederá a transformar los datos según los requerimientos de cada modelo de
clasificación (si se requiere variables estandarizada, normalizada, escalonada, entre otros)
(Fayyad et al, 1996)
3.3.4. Data mining
Esta fase se trata del análisis exploratorio y la selección de modelos: elegir el (los)
algoritmo (s) de análisis de datos y seleccionar los métodos que se utilizarán para buscar
patrones de datos.
Este proceso incluye decidir qué modelos y parámetros podrían ser apropiados (por
ejemplo, los modelos de datos categóricos son diferentes a los modelos de vectores sobre
24
los reales) y hacer coincidir un método particular de extracción de datos con los criterios
generales del proceso KDD (por ejemplo, el usuario final podría estar más interesado en
comprender el modelo que en sus capacidades predictivas) (Fayyad et al, 1996).
3.3.4.1. Variables
En esta etapa se van a saleccionar las variables que influyen en la detección de fraude de
facturación de agua. En la literatura existen 38 variables (ver tabla 2.3) que pueden ser
usadas para el modelo híbrido predictivo y a su vez consideramos para este modelo las
variables que se ven en siguiente tabla 3.1 que, según (Monedero, 2012) (Patiño, 2014)
(Eyad+2012), han proporcionado mayor tasa de detección de fraude de facturación de agua.
Variable Descripción Tipo de Valores
variable
Identificador Identificador del acuerdo, Numérica 0-10000
de cliente con la cual se puede
identificar al cliente.
Cantidad de Consumo mensual de agua Numérica 0-1000
consumo (m3). Esta variable consta de
mensual atributos que van desde
03/2000 hasta el 02/2012.
Variables Facturas Es el número de facturas que Numérica 0-100
consideradas pagadas han sido pagados totalmente
por los clientes
Pagos Es el porcentaje de cantidad Numérica 0-100
pendientes de pagos de los clientes con
del cliente respecto a la cantidad de
visitas para que realice el
pago de facturas
Fraude Indica si el cliente está Categórica YES-NO
categorizado como
fraudulento o normal. Con
los valores YES/NO
Tabla 3.1. Variables consideradas para modelo híbrido
25
3.3.4.2. Técnicas de Machine Learning
El modelo propuesto está basado en las ténicas de Regresión logística lineal, Árbol de
decisión y Máquina de Soporte Vectorial, técnicas que fueron seleccionadas de acuerdo a
la literatura que son las que presentan mayores tasas de detección siendo respectivamente
90 % (De Castro, 2014), 75 % (Patiño, 2014) y 92,29% (Eyad, 2012) 95,7 % (Palomino y
Rivera, 2016) las cuales obtuvieron también un mayor porcentaje de detección de fraude
de facturación de agua en elcapítulo de la validación.
3.3.4.3. Modelo híbrido
Se procederá a construir el modelo híbrido propuesto para la detección de fraude de
facturación de agua que consta de: variables, clasificadores de minería de datos y
parámetros.
Para la construcción del modelo híbrido se seleccionará una base datos de datos
mencionada anterioremente en 3.3.1. Del problema de facturación de fraude de agua. Se
realizará diversas pruebas numéricas para identificar los clasificadores que arrojen un
mejor resultado. La cantidad de clasificadores elegidos tiene que ser un número impar y
mayor que 1, tal como se muestra en el esquema de la figura 3.2.
El modelo híbrido se basa en los siguientes clasificadores y los cuales fueron seleccionados
por sus respectivos resultados que se presentarán en el capítulo 5:
- Regresión logistica lineal.
- Árbol de decisión.
- Máquina de Soporte Vectorial.
26
Estudios han demostrado que un enfoque híbrido de tres clasificadores que utilizan la
técnica de votación para un mismo conjunto de datos ha superado a estos clasificadores por
separado (Meka y Amit, 2014).
De los cuales presentan resultados exitosos en diversos problemas de Data Mining (los
cuales arrojaron mayor porcentaje de exactitud), sencillos en interpretación de los
resultados y con los cuales, usando el criterio de la técnica de votación, donde la mayoría
de resultados arrojados de cada uno de los clasificadores, dice que si se obtiene un resultado
negativo éste está cometiendo fraude. La base de datos de prueba usada por cada uno de
los clasificadores y aplicando la técnica de votación mayoritaria, obtendrá el resultado
final, tal como se aprecia en la figura 3.2.
Figura 3.2. Modelo predictivo
En la anterior figura 3.2. se visauliza que mediante el criterio de votación (Meka y Amit,
2014), se decidirá por la respuesta más votada, es decir, si el cliente es detectado como
fraudulento o no.
27
3.3.4.4. Parámetros
En esta fase se van a calibrar los parámetros necesarios de las técnicas de minería de datos
que han sido seleccionados. En la tabla 3.2 se mencionarán los parámetros seleccionados
(S. C. Chen, 2016) para calibrar el método de Regresión Logística, en la tabla 3.3 se
mencionarán los parámetros seleccionados por (Patiño, 2014) para calibrar el método de
Árbol de decisión. En la tabla 3.4 se mostrarán los parámetros seleccionados por (Palomino
y Rivera, 2016) para el método de Máquina de Soporte Vectorial.
Regresión Logísitca
Variable B E.T. Wald gl Sig Exp(B)
Valor 0,003 0,009 0.128 1 0.721 1,003
Tabla 3.2. Parámetros de Regresión Logística
Árbol de Decisión
Número de Número de Proporción
Variable
Nodos pliegues poda de registros
Valor 3 (Por defecto) 14 0.7
Tabla 3.3. Parámetros de Árbol de decisión
Máquina de Soporte Vectorial
Variable Costo Gamma
Valor 30 1
Tabla 3.4. Parámetros de Máquina de Soporte Vectorial
28
3.3.5. Interpretación y evaluación
En esta fase se evaluará los modelos, de forma analítica, obtenidos en la etapa de Data
Mining. Para ello, se usará la siguiente matriz, la matriz de confusión (Qasem y Mahmoud,
2018) mostrada en la Tabla 3.5:
PREDICCIÓN
Matriz de Confusión
NI I
NI A B
REAL
I C D
Tabla 3.5. Matriz de Confusión para evaluar el modelo (Qasem y Mahmoud, 2018)
• NI: clientes no irregulares (normales).
• I: clientes irregulares.
• A: número de clientes clasificados por el modelo como “normales” y que en la realidad
lo son.
• B: número de clientes clasificados por el modelo como “irregulares”, pero que en la
realidad son normales.
• C: número de clientes clasificados por el modelo como “normales”, pero que en la
realidad son irregulares.
• D: número de clientes clasificados por el modelo como “irregulares” y que en la realidad
son irregulares.
• Con los indicadores de desempeño:
� � � =
+
� � � � � =
+
29
La eficacia quiere decir que porcentaje del total de clientes verdaderamente irregulares se
clasificaron correctamente como irregulares, la eficiencia, por otro lado, se define cuántos
de los clientes predecidos como irregulares por el modelo, en verdad lo son (Figueroa,
2009).
Se interpreta las respuestas luego de aplicar la técnica de votación a los resultados de los
clasificadores, para ello se considera los tipos de errores usados para el tema de detección
de fraudes (Ellas, 2012) (Figueroa, 2009):
Error Tipo I: Cuando el modelo detecta a un cliente irregular como normal.
Error Tipo II: Cuando el modelo detecta a cliente normal como irregular.
CAPÍTULO 4: DESARROLLO DEL SISTEMA INTELIGENTE
PARA LA DETECCIÓN DE FRAUDE EN EL SERVICIO DE AGUA
POTABLE
En el presente capítulo se describirá como se ha encapsulado la herramienta weka en una
aplicación web, donde el usuario tendrá un entorno amigable del sistema y sencillo de usar.
A continuación, se describirá su arquitectura, la funcionalidad del sistema y sus respectivos
roles.
4.1. Arquitectura del Sistema
De acuerdo a los requerimientos funcionales que se captaron del sistema, este será
desplegado en un entorno vía web, con una arquitectura Cliente-Servidor, en donde se usó
en el lado del backend el lenguaje de programación Python con el framework Django y
para el lado del cliente Angular 6, PostgreSQL para la base de datos, y la librería weka para
Python que nos permite la creación de los modelos inteligentes para detectar el fraude. La
arquitectura se muestra en la siguiente figura 4.1.
31
Figura 4.1. Arquitectura del Sistema Web
La característica principal de esta arquitectura es que el mismo sistema solicita sus propios
recursos y el servidor responde inmediatamente a sus solcitudes, esto quiere decir que no
requiere de otras aplicaciones para proporcionar parte del servicio.
La arquitectura para el sistema está basada en el patron de diseño MVC (Modelo, Vista,
Controlador), en este patrón estas 3 capas, la lógica de acceso a la base de datos, la lógica
de negocios y la lógica de presentación, pero para este caso el framework Django basado
en Python adquiere un patrón de diseño MTV (Model, Template y View) ‘Model’, acceso
32
a la base de datos, ‘Template’, la capa de presentación, qué datos son mostrados o no en
una web y ‘View’, la capa lógica de negocios que contiene la lógica que accede al modelo.
4.1.1. Descripción del Sistema
Se desarrollará un sistema que tendrá como objetivo principal la detección de clientes
fraudulentos y como puntos secundarios el entrenamiento del modelo híbrido e ingreso de
parámetros para las técnicas seleccionadas, respectivamente.
El alcance abarca lo siguiente:
Crear un sistema web que valide el ingreso al sistema.
Permitir la creación de usuarios y asignación de permisos de acuerdo a los diferentes
roles.
La carga de los datos en formato CSV (archivo que es delimitado por comas) que servirá
para el entrenamiento del modelo y validación de datos del modelo final.
Configuración de parámetros para cada uno de los clasificadores desde el sistema web.
Generar reportes de clientes que cometen fraude en su facturación de agua.
4.2. Modelado del Sistema
Para el modelado del sistema, se describe a los usuarios del sistema, los casos de uso
respectivos y la presentación de las funcionalidades a través de las interfaces de usuario
que se han desarrollado. En la siguiente figura 4.2, se muestra la interfaz de ingreso para
el sistema.
33
Figura 4.2. Interfaz de ingreso del Sistema de detección de fraudes
4.2.1. Usuarios del Sistema
El sistema tendrá tres tipos de roles para los usuarios correspondientes.
Usuario: Administrador
Descripción: Usuario encargado del preprocesamiento de los datos de entrenamiento del
modelo híbrido y actualización del modelo existente.
Funciones:
- Entrenar los modelos seleccionados para la correcta detección de clientes
fraudulentos es de vital importancia, puesto que cada cierto tiempo el
comportamiento del consumo de los clientes variarán. También podemos variar
ciertos parámetros de cada una de las técnicas de clasificación y observar la tasa de
34
exactitud en la detección de fraude, tal como se puede apreciar en la siguiente figura
4.3:
Mínimo número de
instancias por hoja: N° de ins. por hoja
Figura 4.3. Entrenamiento del modelo híbrido
- Configurar y validar cada uno de los clasificadores seleccionados, es aquí donde el
usuario ingresa los datos de aquellos clientes que no hayan sido utilizados para el
entrenamiento previo. Así mismo, se puede observar la tasa de exactitud de la
validación, tal como se aprecia en la figura 4.4.
35
Figura 4.4. Validación del modelo híbrido
Usuario: Gerencia
Descripción: Usuario encargado de detectar fraude y ver los reportes de clientes
fraudulentos.
Funciones:
- Identificar el fraude mediante la carga de clientes de los cuales se desconoce fraude
alguno o no en el sistema, usará el modelo híbrido entrenado y luego validado, y
finalmente mostrará a los clientes que estén cometiendo fraude.
36
Figura 4.5. Interfaz de detección de fraude
- Generar reportes, luego de detectar fraude en los clientes, el usuario puede obtener
un listado de los clientes fraudulentos que mostrará el id del cliente y la opción de
ver detalles estadísticos.
37
Figura 4.6. Reporte de lista clientes detectados
4.2.2. Casos de uso del Sistema
Ya conocidos los usuarios del nuestro sistema en mención, se definirá los requerimientos
haciendo uso de la técnica de casos de uso. Los casos de uso se han agrupado en paquetes
correctamente para poder describir las distintas funcionalidades del sistema. A continuación,
en la figura 4.7 se muestra los paquetes que tiene el sistema.
38
Figura 4.7. Paquetes del Sistema
4.2.1.1. Acceso al Sistema
CUS: Validar Usuario
- Descripción: Este caso de uso permite validar el acceso al sistema con los permisos
respectivos otorgados.
- Actores: Jefe de fraude, gerencia, administrador del sistema
- Flujo de eventos
Flujo básico
1) Empieza cuando el usuario se encuentra en la pantalla principal de acceso al sistema.
2) El sistema mostrará una pantalla de validación de acceso al sistema, con los campos
de usuario y contraseña.
3) Ingresar el usuario y contraseña válidas, y dar clic en el botón “Iniciar Sesión”.
4) El sistema comprobará si el usuario existe en la base de datos y si existe, mostrará la
interfaz según el rol que tenga el usuario.
39
5) El caso de uso termina.
El diagrama de actividades del CUS Validar Usuario se muestra en la siguiente figura
4.8:
Figura 4.8. Diagrama de actividades del caso de uso Validar Usuario
- Precondiciones: Ninguno
- Poscondiciones: El usuario al ser validado ingresa al sistema.
- Diagrama de caso de uso: El diagrama se presenta en la siguiente figura 4.9:
40
Figura 4.9. Diagrama de CUS Validar Usuario
4.2.2.2. Detección de Fraude
CUS: Importar Archivo
- Descripción: Este caso de uso sirve para importar un archivo, tanto para el
entrenamiento y validación del modelo o detectar a los clientes que comenten fraude.
- Actores: Jefe de fraude, Gerencia
- Flujo de eventos
Empieza cuando el usuario le da clic en el botón de “Importar Archivo”.
El sistema muestra una ventana del explorador del sistema operativo para seleccionar
el archivo.
El usuario selecciona el archivo en formato CSV y da clic en seleccionar, luego el
usuario da clic en el botón “Cargar Archivo”.
El sistema carga el archivo y muestra el mensaje de “cargó correctamente el archivo”.
El caso de uso finaliza.
41
El diagrama de actividades del CUS se muestra en la siguiente figura 4.10:
Figura 4.10. Diagrama de Actividades del CUS Importar Archivo
- Precondiciones: El usuario ha sido validado por el sistema.
- Poscondiciones: El usuario importó de manera satisfactoria el archivo en formato
CSV.
- Diagrama: El diagrama del CUS se muestra en la siguiente figura 4.11:
Figura 4.11. Diagrama del CUS Importar Archivo
42
CUS: Entrenar modelo
- Descripción: Este caso de uso permite entrenar el modelo híbrido para luego validarlo.
- Actores: Jefe de fraude
- Flujo de eventos
Flujo básico
1) El caso de uso comienza cuando el usuario ingresa a la funcionalidad de
“Entrenar”.
2) El sistema muestra una interfaz de usuario donde se verá lo siguiente:
Importar archivo, parámetros de Regresión Logística, Parámetros de Árbol de
decisión, Parámetros de Máquina de Soporte Vectorial, Entrenar y Guardar
Modelo.
3) El usuario da clic en el botón de “Importar Archivo” y seleccionar el archivo
de datos.
4) El usuario ingresa los parámetros de Regresión Logística.
5) El usuario ingresa los parámetros de Árbol de decisión.
6) El usuario ingresa los parámetros de Máquina de Soporte Vectorial.
7) El sistema muestra la opción de “Entrenar Modelo” y “Guardar Modelo”.
8) El usuario da clic en “Entrenar Modelo” y con ello empieza el entrenamiento
de los modelos de Regresión Logística, Árbol de decisión y Máquina de Soporte
Vectorial, e inmediatamente el entrenamiento del modelo hibrido clasificador por
Votación que es basado en los resultados de los anteriores modelos.
43
9) El sistema entrena el modelo y muestra el porcentaje de precisón en la
detección de fraude.
10) El usuario da clic en “Guardar Modelo” y se descargará el modelo híbrido
entrenado.
11) El sistema descarga el modelo y muestra el mensaje “Modelo descargado
exitosamente”.
12) El caso de uso finaliza.
Flujo alternativo
En el paso 8, el usuario da clic en la opción de “Entrenar Modelo”. Si el usuario
no llegó a importar ni un archivo, el sistema arrojará un mensaje “Debe importar
archivo para entrenamiento”, luego continúa el paso 2.
En el paso 8, el usuario ingresa al módulo de “Entrenar”. Si falto llenar algún
parámetro El sistema muestra un mensaje “Llenar todos los campos”, luego
continúa el paso 2.
44
El diagrama de actividades del CUS “Entrenar Modelo” se muestra en la siguiente figura
4.12:
Figura 4.12. Diagrama de actividades del CUS Entrenar Modelo
- Precondiciones: El usuario ha ingresado correctamente al sistema.
- Poscondiciones: El usuario entrenó, validó y guardó el modelo.
- Diagrama: El diagrama del CUS se muestra en la siguiente figura 4.13:
Figura 4.13. Diagrama del CUS Entrenar Modelo
45
CUS: Validar Modelo
- Descripción: En este caso de uso nos permite validar el modelo que se entrenó con
nuevos registros.
- Actores: Jefe de fraude
- Flujo de eventos
Flujo básico
1) El caso de uso empieza cuando el usuario ingresa a la opción de “Validar
Modelo”
2) El sistema muestra en la interfaz de validación, las opciones de “Importar
Archivo” y “Validar Modelo”.
3) El usuario hace clic en “Importar Archivo” y seleccionar el archivo de datos para
la validación del modelo.
4) El usuario hace clic en “Validar Modelo”.
5) El sistema carga el modelo híbrido entrenado, realiza la validación y muestra al
usuario el porcentaje de tasa de exactitud.
6) El caso de uso finaliza.
Flujo alternativo
En el paso 5, si existe algún tipo de error en la carga del modelo híbrido, el
sistema muestra un mensaje “Error al cargar el modelo”.
46
El diagrama de actividades del CUS Validar Modelo se muestra en la siguiente figura
4.14:
Figura 4.14. Diagrama de actividades del CUS Validar Modelo
- Precondiciones: El usuario ha ingresado correctamente al sistema.
- Poscondiciones: El usuario validó exitosamente el modelo.
- Diagrama: El diagrama del CUS se muestra en la siguiente figura 4.15:
Figura 4.15. Diagrama del CUS Validar Modelo
47
CUS: Detectar fraude
- Descripción: Este caso de uso permite identificar qué clientes son los fraudulentos en
su consumo de agua.
- Actores: Jefe de fraude, Gerencia
- Flujo de eventos
Flujo básico
1) El caso de uso empieza cuando el usuario ingresa a la opción de “Detectar Fraude”.
2) El sistema empieza mostrando en la interfaz, la opción de “Seleccionar archivo”.
3) El sistema muestra en la interfaz la opción “Detectar fraude”.
4) El usuario da clic en “Detectar fraude”.
5) El sistema elige el modelo entrenado (modelo híbrido basado en la combinación
de modelos de minería de datos mencionados en el CUS “Entrenar modelo”),
luego pasa a ser validado con el archivo importado por el usuario, luego almacena
los clientes que han sido detectados como fraudulentos y muestra un mensaje
“Nuevos clientes fraudulentos detectados”.
6) El usuario ingresa a la funcionalidad de “Mostrar clientes”.
7) El usuario empieza el caso de uso “Generar detalle de Clientes”.
Flujo alternativo
En el paso 5, si no se encuentra ningún cliente que cometa fraude, se muestra el
mensaje “No existe clientes frauduelentos”.
48
El diagrama de actividades del CUS se muestra en la siguiente figura 4.16:
Figura 4.16. Diagrama de actividades del CUS Detectar fraude
- Precondiciones: El usuario ha ingresado correctamente al sistema.
- Poscondiciones: El usuario visualiza la información de los clientes que han sido
detectados como fraudulentos por el sistema.
- Diagramas: El diagrama del CUS Detectar fraude, se muestra en la siguiente figura
4.17:
Figura 4.17. Diagrama del CUS Detectar Fraude
49
CUS: Generar detalle de clientes
- Descripción: En este CUS, su respectiva finalidad es la de mostrar información
numérica de los clientes que se les detectó como fraudulentos en su consumo de
agua.
- Actores: Gerencia
- Flujo de eventos
Flujo básico
1) El caso de uso empieza cuando el usario ingresa a la opción de “Mostrar clientes”.
2) El sistema arrojará un reporte donde mostrará una lista de clientes que han sido
detectados como fraudulentos, por cada cliente hay una opción de “Ver” para
visualizar una data histórica y estadística.
3) El usuario ingresa a la opción de “Información estadística” para un cliente.
4) El sistema muestra la información estadísitca y su respectiva gráfica que describen
el comportamiento de consumo de agua mensualmente.
5) El caso de uso finaliza.
El diagrama de actividades del CUS Generar lista de clientes fraudulentos, se muestra
en la siguiente figura 4.18:
50
Figura 4.18. Diagrama de actividades del CUS Generar detalle de clientes
- Precondiciones: El usuario ha ingresado al sistema correctamente.
- Poscondiciones: El usuario obtiene información estadística por cliente detectado como
fraudulento.
- Diagramas: El diagrama del CUS se muestra en la siguiente figura 4.19:
Figura 4.19. Diagrama CUS Generar detalle de clientes
El diagrama y resumen para los casos de uso, respectivamente, se encuentran en el ANEXO
1.
51
4.3. Conexión Python con Weka
Para realizar un uso satisfactorio de las funcionalidades de weka con Python, se tuvo que
importar los siguientes Packages:
Python-weka-wrapper
Numpy
Matplotlib
Javabridge
Entre las funcionalidades que la librería weka ofrece está el poder realizar la carga de un
archivo en formato CSV, realizar el preprocesamiento, tanto la eliminación de atributos
que no ayuden a crear el modelo u otros filtros, así como el entrenamiento y la validación
del modelo híbrido. A continuación, se muestra el uso de la librería weka en el sistema en
la siguiente figura 4.20:
52
Figura 4.20. Uso de la librería Weka con Python
4.4. Validación del Sistema
4.4.1. Validación de la funcionalidad
Para ver la correcta funcionalidad de nuestro sistema, realizamos una validación a través
de la carga de datos de clientes que pueden estar cometiendo fraude.
53
Inputs:
Los inputs para el caso de prueba será la data histórica de consumo de clientes durante
12 años, un archivo en formato .CSV, consta de 150 variables y que conforman un
registro. La descripción de todas las variables se presentan en el anexo B. En la figura
4.21 se muestran el registro para 4 clientes.
54
Figura 4.21. Datos de entrada para la Detección de Fraude de 4 clientes
55
Resultado
El resultado que proporciona el Sistema es un listado de clientes con el idCliente,
además la opción de ingresar el id del cliente para filtrar y realizar la búsqueda del
cliente. La siguiente figura 4.22 muestra el resultado de la prueba de funcionalidad
del sistema:
Figura 4.22. Resultado de la prueba de funcionalidad del sistema
4.5. Requerimientos para el desarrollo del Sistema
A continuación, se indican los requerimientos tanto a nivel de Hardware y Software,
para el correcto desarrollo del Sistema Inteligente de detección de fraude de
facturación de agua.
4.5.1. Requisitos mínimos a nivel de Hardware
Capacidad de memoria Ram: 8 GB
Procesador: Core i7de quinta generación 3.2. GHZ
56
Capacidad Disco Duro: 500 GB
4.5.2. Requisitos mínimos a nivel de Software
Para la implementación del sistema, se escogió utilizar como lenguaje de
programación en el lado del backend Python, que es un lenguaje de fácil uso, de un
aprendizaje totalmente intuitivo y a la vez multiplataforma, el cual se puede usar tanto
en Windows como en Linux, y sobre todo es Open Source.
La tecnología Python ofrece muchas ventajas para un desarrollador de software,
sobre todo usándolo conjuntamente con el framework Django:
o Es una tecnología multiplataforma.
o Framework MVC
o Programación orientada a Objetos
Para la interfaz del usuario, se usó la tecnología AngularJS, la cual contiene
diversos componentes para las interfaces de usuario.
Servidor propio para Django
Para el desarrollo del modelo y su respectiva validación, se usó la librería weka 3.8
y para la aplicación del algoritmo de Árbol de decisión, Regresión Logísitca,
LIBSVM y Vote, se instaló previamente las librerías correspondientes para cada
uno de ellos.
57
CAPÍTULO 5: VALIDACIÓN DEL MODELO DE
DETECCIÓN DE FRAUDE EN LA FACTURACIÓN DE
AGUA
En el presente capítulo se muestra la validación del modelo híbrido propuesto, a travez de
un dataset de la Municipalidad de Gaza, Palestina y del uso de los programas J48 (árbol de
decisión), Logistic (Regresión Logística), LibSVM (Máquina de Soporte Vectorial) y el
programa Vote (Modelo híbrido) de la herramienta Weka.
5.1. Diseño de validación
La validación sigue 4 pasos. Primero, se entrena el modelo propuesto con los datos de
entrenamiento. Segundo, con el modelo entrenado se identifica los clientes fraudulentos
respecto a los datos de validación. Si los resultados del paso 2 no son satisfactorios entonces
se procede a calibrar los parámetros del modelo (Paso 3) y se retorna al paso 1, de lo
contrario (satisactorios) el modelo propuesto es usado para identificar los clientes
fraudulentos respecto a los datos de prueba (Paso 4). La calibración de los parámetros de
los modelos que conforman el modelo propuesto se explica en la sección de entrenamiento
(5.4). Ver figura 5.1.
58
Figura 5.1. Diseño de la validación del modelo propuesto
Se ha seguido el diseño de evaluación dada en la figura 5.1 porque generó mejores
resultados que el uso de la técnica cross validation (validación cruzada), los resultados de
la validación cruzada se muetran en el ANEXO C.
Para la validaicón del modelo se usó los programas de la herrramienta Weka, J48, Logistic,
LibSVM, Vote que implementan los clasificadores Árbol de Decisión, Regresión
Logística, Máquina de Soporte Vectorial e Híbrido (Criterio de Votación)
respectivamente.
59
5.2. Requerimientos para la operación del Sistema
5.2.1. Requerimientos mínimos a nivel de Hardware
Capacidad de memoria Ram: 8 GB
Procesador: Core i7de quinta generación 3.2. GHZ
Capacidad Disco Duro: 500 GB
5.2.2. Requerimientos mínimos a nivel de Software
Software Weka 3.8, package weka for Python (PYCHARM - JETBRAINS)
Librería LibSVM, J48, Logistic y Vote
Sistema Operativo: Windows 10
5.3. Instancias de pruebas
Se tiene un total de 4814 clientes, donde 4190 son clientes normales y el resto fraudulentos.
Para ver todos los atributos y la dataset completa de prueba se puede acceder al siguiente
link: https://bit.ly/2YCm06L
5.3.1. Preparación de datos
Se consdiero para los datos de entrenamiento, validación y pruebas las proporciones
dadas en la tabla 5.1
Entrenamiento Validación Pruebas Total
Porcentaje 80% 10% 10% 100%
Registros 3852 481 481 4814
Tabla 5.1. Tabla de resultados según diferentes porcentajes de entrenamiento
Cada registro corresponde a un cliente y está conformado por 150 atributos (Ver ANEXO
B).
60
5.3.2 Instancias de pruebas para el entrenamiento, validación y pruebas
La tabla 5.2, muestra la cantidad de instancias (registros) para el entrenamiento, validación
y prueba, considerando registros normales y registros con fraude.
Instancias Registros Registros Registros % Registro
Totales Normales Fraude Fraude
Entrenamiento 3852 3347 505 13,11%
Validación 481 405 76 15,80%
Pruebas 481 401 80 16,63%
Total 4814 4153 661 13,73%
Tabla 5.2. Instancias para el entrenamiento, validación y pruebas.
Los datos para el entrenamiento, validación y pruebas siguen la proporción dada en
diversos trabajos (Usama, 1996):
Para el entrenamiento, se considera el 80 %, que es un total de 3852 registros.
Para la validación, se considera el 10 %, que es un total de 481 registros.
Para las pruebas, se considera el 10 %, que es un total de 481 registros.
5.4. Métricas
Para realizar el análisis de los resultados del sistema de detección de fraude, se considera
la matriz de consfusión, que según (Bense, 2007), es el instrumento más usual que se usa
para evaluar la exactitud de una clasificación. Se construye la matriz de confusión como se
observa en la tabla 5.3. En donde a, b, c y d representan respectivamente los números de
“Clientes clasificados correctamente como fraudulentos”, “Clientes fraudulentos
clasificados incorrectamente como normales”, “Clientes normales clasificados
incorrectamente como fraudulentos” y “Clientes clasificados correcatamnete como
normales”.
61
Predicción
Matriz de Confusión
Cliente Fraude Cliente Normal
Cliente Fraude a b
REAL
Cliente Normal c d
Tabla 5.3. Matriz de confusión para el análisis de resultados.
Y se considera las siguientes métricas:
Sensibilidad (S): Nos indica de los clientes clasificados correctamente como
fraudulentos respecto de los casos de clientes que cometen fraude, y se determina
como:
�=
+
Especificad (E): Nos indica el número de casos clasificados correctamente como
clientes normales respecto a cuantos se han identificado como normales por el
sistema.
�=
+
Con lo cual se analiza la exactitud (Accuracy) de la siguiente manera:
- Exactitud o Accuracy (AC): Esta métrica nos indica el número total de clientes
clasificados correctamente respecto al total de clientes:
+
�� =
+ + +
62
5.5. Fase de entrenamiento
5.5.1. Calibración de parámetros
Para obtener un mejor resultado de entrenamiento del programa J48 se ha calibrado los
parámetros ConfindenceFactor y MimNumObj, como sigue. ConfindenceFactor asume
valores de 0.05 a 0.5 incrementando 0.05 por vez. MimNumObj asume valor de 1 ó 2. En
la tabla 5.4 se muestran los resultados que se obtuvieron al variar los valores de cada uno
de los parámetros para el programa J48.
MimNumObj: Mínimo número de instancias por hoja.
ConfindenceFactor: Umbral de confianza para la poda.
63
confindenceFactor MimNumObj Exactitud (%)
(Mínimo número de
instancias por hoja)
0.05 1 90.446
0.05 2 90.758
0.10 1 91.227
0.10 2 90.965
0.15 1 90.861
0.15 2 90.861
0.20 1 90.861
0.20 2 90.861
0.25 1 90.654
0.25 2 90.554
0.30 1 90.654
0.30 2 90.654
0.35 1 90.654
0.35 2 90.654
0.40 1 90.654
0.40 2 90.654
0.45 1 90.342
0.45 2 90.654
0.50 1 90.342
0.50 2 90.342
Tabla 5.4. Comparación de la exactitud del modelo variando el confidenceFactor y el
MinNumObj del clasificador J48.
De la Tabla 5.4 podemos concluir que nuestro modelo obtiene una mejor tasa de exactitud
alcanzando 91.227% cuando confidenceFactor es 0,10 y MimNumObj es 1.
64
Para obtener un mejor resultado de entrenamiento del programa Logistic se ha calibrado el
parámetro maxlts, como sigue. Maxlts asume valores de -1 a 90. En la tabla 5.5 se muestran
los resultados que se obtuvieron al variar el valor del parámetro para el programa Logistic.
maxllts: Número de iteracciones
maxlts Exactitud (%)
(Número de iteracciones)
-1 95.119
-2 86.396
0 86.396
1 88.265
2 91.277
3 92.253
4 93.042
5 93.769
10 93.769
15 94.081
20 94.600
35 95.119
40 94.807
45 94.117
50 95.015
60 95.223
70 95.223
80 95.119
90 95.119
Tabla 5.5. Comparación de la exactitud del modelo variando el maxlts del clasificador Logistic.
De la Tabla 5.5 podemos concluir que nuestro modelo obtiene una mejor tasa de exactitud
alcanzando 97.223% cuando maxlts es 70.
65
Para obtener un mejor resultado de entrenamiento del programa LibSVM se ha calibrado
los parámetros C (Costo) y Gamma, como sigue. C asume valores de 1 a 90 incrementando
10 por vez. Gamma varía su valor de 0.5 a 1. En la tabla 5.6 se muestran los resultados que
se obtuvieron al variar los valores de sus parámetros para el programa LibSVM.
C: Complejidad del algortimo.
Gamma: Establece el valor de Gamma en la función del Kernel.
C(costo) Gamma Exactitud (%)
1 0.5 91.173
1 1 91.794
10 0.5 94.393
10 1 94.704
20 0.5 94.807
20 1 95.056
30 0.5 94.117
30 1 95.015
40 0.5 95.119
40 1 94.911
50 0.5 95.327
50 1 94.911
60 0.5 95.223
60 1 94.704
70 0.5 95.015
70 1 94.600
80 0.5 95.119
80 1 93.977
90 0.5 95.119
90 1 93.873
100 0.5 94.911
100 1 93.977
Tabla 5.6. Comparación de la exactitud del modelo variando el parámetro C y Gamma del algoritmo SVM.
66
De la Tabla 5.6 se concluye que nuestro modelo para LibSVM obtiene una mejor tasa de
exactitud alcanzando 95.327% cuando C tiene un valor de 50 y gamma 0.5.
5.5.2. Configuración de Weka para el modelo híbrido
Para realizar el entrenamiento del modelo híbrido y obtener los resultados, se usó el 80 %
de los registros y el resto se usó para la validación y pruebas. Este proceso se configurará
con la herramienta Weka, tal como se ve en la figura 5.2.
Figura 5.2. Configuración de porcentaje para el entrenamiento.
Se utilizará el clasificador ‘Vote’, que combina salidas de predicción de más de dos
clasificadores. Se combinarán los clasificadores: Árbol de decisión (J48), Regresión
logísitca (Logistic) y Máquina de soporte Vectorial (LibSVM), como se muestra en la
figura 5.3 y 5.4:
67
Figura 5.3. Selección del clasificador Vote
Figura 5.4. Configuración para ingresar los parámetros de ‘Vote’ en Weka
68
Como se ve en la figura 5.4, para la regla de combinación (combinationRule), se usará
Voto Mayoritario (Majority Voting), y los clasificadores, las cuales se configurarán y se
muestra respectivamente en la siguiente figura 5.5:
Figura 5.5. Configuración de clasificadores
Luego de haber realizado la configuración de los parámetros del clasificador Vote,
seleccionamos la clase que se quiere predecir, en este caso FRAUD, damos clic en START,
para empezar a entrenar nuestro modelo híbrido como se muestra en la siguiente figura 5.6:
69
Seleccionamos la clase que tiene los 2 valores de
“YES” (comete fraude) y “NO” (no comete fraude)
Iniciamos el entrenamiento
Figura 5.6. Iniciar el entrenamiento del modelo
5.5.3. Resultados
Luego de haber generado el modelo, obtenemos la siguiente salida con los respectivos
resultados que se muestran en la figura 5.7:
Figura 5.7. Resultados del entrenamiento
70
En la tabla 5.7 representamos la matriz de confusión del modelo híbrido entrenado:
PREDICCIÓN
Matriz de confusión
Cliente Fraude Cliente Normal
Cliente Fraude 3347 0
REAL
Cliente Normal 84 421
Tabla 5.7. Matriz de confusión del entrenamiento del modelo híbrido
Con lo cual se calcula la métrica de exactitud:
+
Exactitud = = 0.978
+ + +
Lo que nos arroja una tasa en la detección de un 97.81 %, y de los resultados de la
detección obtenidas en el proceso de calibración (ver sección 5.5.1) se obtiene la siguiente
tabla:
Clasificadores Exactitud (%)
J48 91,22
Logistic 95,22
LibSVM 95,32
Vote 97,81
Tabla 5.8. Exactitud de modelos y el clasificador Vote.
71
5.6. Fase de validación
Para validar el modelo entrenado, debemos seguir los siguientes pasos:
Paso 1: Cargar nuestro modelo entrenado, tal como se muestran en las siguientes
figuras 5.8 y 5.9:
Figura 5.8. Cargar Modelo entrenado.
72
Figura 5.9. Modelo entrenado ha sido cargado
Paso 2: Seguidamente, cargamos el conjunto de instancias para la validación que son
un total de 481 registros, tal como se muestra en la figura 5.10:
Figura 5.10. Carga de datos para la validación
73
Paso 3: Validar sobre este conjunto de datos. Para esto damos clic derecho sobre el
modelo que fue cargado y seleccionamos la opción ‘Re-evalute on current test set’, tal
como se muestra en la figura 5.11:
Figura 5.11. Validación de los datos sobre el modelo creado
Finalmente, se obtendrá los siguientes resultados que se muestran en la figura 5.12:
74
Figura 5.12. Resultados de la validación del Modelo Híbrido
5.7. Análisis de los resultados de la validación del modelo
Para realizar el análisis de la tasa de exactitud del sistema de detección de fraude, se
construye la matriz de confusión a partir de los resultados generados por Weka tal como se
observa en la tabla 5.9, la cual nos indica la cantidad de clientes detectados como
fraudulentos de manera correcta o no, para su respectiva validación.
Predicción
Matriz de Confusión
Cliente Fraude Cliente Normal
Cliente Fraude 405 0
REAL
Cliente Normal 11 65
Tabla 5.9. Matriz de confusión, detección del sistema vs. Detección real
75
Seguidamente se analizará los resultados para cada uno de las métricas:
- Sensibilidad (S): Hallando la sensibilidad tenemos:
�=
+
El resultado es “1” que es equivalente a 100 %
- Especificad (E): Hallando la especificidad nos resulta:
�=
+
El resultado es “0.855” que es equivalente a 85,5 %
- Exactitud o Accuracy (AC):
+
�� =
+ + +
La cual nos arroja una tasa de un 97.71 %
5.8. Confirmación de los resultados.
Para confirmar los resultados de la validación se procederá a usar el conjunto de pruebas
que representa el 10% del total de registros, que son 481 instancias. Para ello procedemos
a ejecutar los siguientes pasos:
Paso 1: Cargar nuestro conjunto de pruebas, tal como se muestran en la siguiente
figura 5.13
Figura 5.13. Cargamos nuestro conjunto de pruebas
76
Paso 2: Probamos sobre este conjunto de datos. Para esto damos clic derecho
sobre el modelo que fue cargado y seleccionamos la opción ‘Re-evalute on
current test set’, tal como se muestra en la figura 5.14:
Figura 5.14. Confirmación sobre los resultados.
77
Finalmente, se obtendrá los resultados para 481 instancias el cual se presenta en el
Anexo D, los primeros 40 registros de este anexo se muestra en la figura 5.15.
Figura 5.15. Resultado para las primeras 40 instancias del conjunto de pruebas.
Error = 7.48%
Exactitud = 92.52%
78
CAPÍTULO 6: CONCLUSIONES Y TRABAJOS
FUTUROS
6.1. Conclusiones
6.1.1. Conclusión general
Se implementó un sistema inteligente usando técnicas de minería de datos: Árbol de
decisión, Regresión Logística y Máquina de Soporte Vectorial, que mediante
características y comportamiento de un cliente de consumo de agua se logra detectar si éste
comete fraude en su facturación mensual o no.
6.1.2. Conclusiones específicas
6.1.2.1. Objetivo específico 1
Se realizó una revisión de la literatura y se encontró 1 modelo, 6 técnicas de Machine
Learning, Árbol de Decisión, Regresión Logística, Redes Neuronales, K-Nearest,
Detección de datos atípicos, Coeficiente de Person, Algoritmos estadísticos, para detección
de fraude en consumo de agua en la revisión de la literatura en el capítulo 2, y se llegó a la
conclusión que existe una mejor exactitud en la detección de fraude al combinar 3 a más
técnicas.
6.1.2.2. Objetivo específico 2
Se diseñó un modelo híbrido de minería de datos basado en el clasificador ‘Vote’, que
mezcla los resultados de los clasificadores: Árbol de decisión, Regresión logística y
Máquina de Soporte Vectorial; que considera las variables que se identificaron en la
literatura y que se encontraron en diversos estudios, para la construcción del modelo y que
se visualiza en la figura 3.1.
79
6.1.2.3. Objetivo específico 3
Se desarrolló un sistema web basado en el lenguaje de programación Python, el cual se
realizó con el software Weka y la librería ‘Vote’ para las tareas de entrenamiento y
validación del modelo híbrido final incluyendo la detección de clientes que cometen fraude
en su facturación de agua, tal como se aprecia en la figura 4.22, lo cual lo convierte en un
sistema inteligente.
6.1.2.4. Objetivo específico 4
Se ha realizado el entrenamiento y validación del modelo de detección de fraude usando la
data histórica de consumo de clientes normales y fraudulentos de un dataset de la
Municipalidad de Gaza, en Palestina. La tasa de exactitud del modelo obtenido luego de la
validación es de 97.713 %, tal como se muestra en la figura 5.12, lo cual es una mejor tasa
que se alcanzó en el estudio realizado por (Palomino y Rivera, 2016) donde obtuvieron una
tasa de 95.7 %. El cual favorece también en el proceso de la toma de decisiones de
identificación de fraude y económicamente en las utilidades que percibe la empresa y sus
ejecutivos, al empezar a cobrar el agua no facturada por estas personas que cometen el
fraude y que prevalecía por mucho tiempo sin resolver.
80
6.2. Limitaciones
El trabajo de investigación solo se orienta para personas naturales, más no a empresas
que consumen agua potable.
Para que este sistema de detección de fraudes pueda entrenar y validar, se requiere de
los datos históricos de consumo de agua potable mensual del cliente.
6.3. Trabajos futuros
Según los antecedentes expuestos, existen varias empresas a nivel nacional e
internacional prestadoras de servicios de Agua Potable que tienen el mismo problema
presentado, por lo tanto, es posible plantearles dicha solución a estas empresas.
El sistema propuesto e implementado puede integrarse a servicios web, de los sistemas
propietarios por las empresas que brindan servicios de agua potable y tengan la posibilidad
de integrarlo a sus sistemas.
La solución planteada también puede aplicarse en empresas de diferentes servicios
como empresas que suministran energía eléctrica y tengan el mismo problema de fraude
en su facturación de consumo.
Según las pruebas hechas con otros modelos de entrenamiento, se pueden incluir más
técnicas de Machine Learning, como Redes Bayesianas, Regresión Lineal, entre otras, y
finalmente obtener un híbrido que llegue a un mínimo de 97 % de detección.
81
REFERENCIAS BIBLIOGRÁFICAS
Peleg, A., Armon, A., Barkay, U., Scolnicov, H., & Gutner, S. (2011). System and method
for monitoring resources in a water utility network. United States Patent.
Patiño Espinoza, V. (2014). Modelo de detección de fraude en clientes del servicio de agua
potable de una empresa sanitaria. Santiago de Chile, Chile: UNIVERSIDAD DE
CHILE.
Diaz, R. E. (2008). Creación y aplicación de un programa de control de fraudes
domiciliarios para minimizar las pérdidas de agua potable en aguas del altiplano
s.a. (Tesis de Pregrado). Santiago de Chile, Chile.
Monedero, I., Biscarri, F., Guerrero, J. I., Roldán, M., & León, C. (2015). An Approach to
Detection of Tampering in Water Meters. Procedia Computer Science, 413-421.
Humaid, E. H., & Barhoum, T. (2013). Water Consumption Financial Fraud Detection: A
Model Based on Rule Induction. Palestinian International Conference on
Information and Communication Technology, (págs. 115-120). Gaza.
Richard, P., & Mijail, R. (2016). Sistema Inteligente para detectar fraude en el servicio de
Agua Potable de una Empresa Sanitaria. Caso de Estudio: Municipalidad de Gaza,
Palestina. (Tesis de Pregrado). Universidad Nacional Mayor de San Marcos, Lima,
Perú.
Candelieri, A. (2017). Clustering and Support Vector Regression for Water Demand
Forecasting and Anomaly Detection. Water, (págs. 9-224).
82
Fettermann, D. d., Guerra, K. C., Mano, A. P., & Marodim, G. A. (2015). Uma sistemática
para detecção de fraudes em empresas de abastecimento de água. Interciencia, 114-
120.
Maghrebi, M., Aghaebrahimi, M. R., Taherian, H., & Attari, M. (2014). Determining the
amount and location of leakage in water supply networks using a neural network
improved by the Bat optimization algorithm. Civil Engineering Urbanism, 322-
327.
Gagliardi, F., Alvisi, S., Kapelan, Z., & Franchini, M. (2017). A Probabilistic Short-Term
Water Demand Forecasting Model Based on the Markov Chain. Water, 9-507.
Naib, M., & Chhabra, A. (2017). Ensemble vote approach for predicting primary tumors
using data mining. Confluence, (págs. 97-102).
Leyva, Y. O., Vázquez, E. A., & Boada, D. H. (2011). Integración entre python y Weka
aplicado en la minería de datos. V Taller de Calidad en las Tecnologías de la
Información y las Comunicaciones.
Cabral, J. E., Pinto, J. O., Martins, E. M., & Pinto, A. M. (2008). Fraud detection in high
voltage electricity consumers using data mining. IEEE/PES Transmission and
Distribution Conference and Exposition, (págs. 1-5). Chicago.
Spirić, J. &., Dočić, S. &., & Miroslav & D. Popović, T. (2014). Using the rough set
theory to detect fraud committed by electricity customers. International Journal
of Electrical Power & Energy Systems, 727-734.
Ding, N., Gao, H., Bu, H., Ma, H., & Si, H. (2018). Multivariate-Time-Series-Driven
Real-time Anomaly Detection Based on Bayesian Network. Sensors.
83
Moreno Palenzuela, J. (2018). Regresión logística basada en distancias para detección de
fraude en el IRPF. (Tesis de Maestría). Madrid, España.
Candelieri, A., Soldi, D., & Archetti, F. (2015). Short-term forecasting of hourly water
consumption by using automatic metering readers data. Procedia Engineering,
844-853.
Landa-Torres, F. &.-G., Rebolledo-Mendez, S. &., Brizio, G. &., & Héctor & Huerta -
Pacheco, N. (2015). Evaluador de Eficiencias de Técnicas de Clasificación en R.
Foro Nacional de Estadística, (págs. 66-70). At Aguascalientes.
Sedapal, Servicio de Agua Potable y Alcantarillado - (SEDAPAL S.A.). (19 de Febrero de
2019). Obtenido de http://www.aai.com.pe/wp-content/uploads/2018/10/Sedapal-
Jun-18rev.pdf.
Errecalde, M. L. (2019). Preparación de los datos en el proceso KDD.
Coma-Puig, B., Carmona, J., Gavaldá, R., & Martin, S. A. (2016). Fraud Detection in
Energy Consumption: A Supervised Approach. EEE International Conference on
Data Science and Advanced Analytics (DSAA), (págs. 120-129). Montreal.
Mounce, S. R., Mounce, R. B., Jackson, T., Austin, J., & Boxall, J. B. (2014). Pattern
matching and associative artificial neural networks for water distribution system
time series data analysis. Journal of Hydroinformatics, 617-632.
Al-Radaideh, Q. A., & Al-Zoubi, M. M. (2018). A data mining based model for detection
of fraudulent behaviour in water consumption. International Conference on
Information and Communication Systems (ICICS), (págs. 48-54). Irbid.
Fayyad, U., Piatetsky-Shapiro, G., & Smyth, P. (1996). From Data Mining to Knowledge
Discovery in Databases. American Association for Artificial Intelligence, 37-53.
84
Pyle, D. (1999). Data preparation for data mining. San Francisco.
Willmott, J., & C & Matsuura, K. (2005). Advantages of the Mean Absolute Error
(MAE) over the Root Mean Square Error (RMSE) in Assessing Average Model
Performance. Climate research, 79-82.
Rey, D. P. (2007). Un modelo de integración y preprocesamiento de información. (Tesis
Doctoral). Madrid.
Vigentes, A. A.-T. (27 de Diciembre de 2012). Obtenido de
http://www.siss.gob.cl/586/articles-4625_aguas_andinas_g1_sep2012.pdf
LEDESMA, O. (2011). Reducción de Pérdida por Micromedición.
McKenzie, A. L. (2009). Ten years in using the UARL formula to calculate
Infrastructure. International Water Data Comparisons Ltd. South Africa.
85
ANEXO A
86
A.1. Casos de uso del Sistema Inteligente
Paquete CUS Nombre CUS Descripción
Este CUS permite validar el acceso de los
Acceso al usuarios al sistema, con la respectiva
Validar Usuario
sistema clave y contraseña asiganda a un usuario.
Este CUS permite al usuario importar un
Importar Archivo archivo de formato CSV ya sea para
entrenamiento o validación del modelo.
Mantenimiento Este CUS permite generar el archivo de
del Modelo Entrenar Modelo entrenamiento del modelo híbrido para
Híbrido luego ser validado.
Este CUS realiza la validación del
modelo híbrido entrenado previamente,
Validar Modelo
confirmando la tasa de exactitud para la
detección de fraude.
Este CUS permite analizar los registros
Detectar Fraude cargados y la visualización de clientes
que están cometiendo fraude.
Detección de
Este CUS permite visualizar la
fraude
Generar detalle de información requerida de todos los
Clientes clientes que han cometido fraude para su
respectivo análisis.
87
A.2. Diagrama de Casos de Uso del Sistema
88
ANEXO B
89
B.1. Descripción de las variables usadas en la dataset
Variable Descripción
AGREEMENT ID Identificador del acuerdo, es el id con el cual se le
puede identificar al cliente.
CXXYYYY Es el consumo (m3) del cliente en el mes XX del
año YYYY.
PAID_VOUCHERS
Es el número de facturas que han sido pagados
_COUNT_PCT totalmente por los clientes.
PAYMENT_COUN Es el porcentaje de la cantidad de pagos de los
clientes con respecto a la cantidad de visitas para
T_PCT
que realice el pago de las facturas
Fraud Indica si el cliente esta categorizado como
fraudulento o normal. Toma dos valores YES/NO.
En la tabla 7.2, la variable CXXYYY va desde C032000 (marzo del año 2000) hasta
C022012 (febrero del año 2012).
90
ANEXO C
91
C.1. Resultados aplicando la técnica de Cross Validation (Validación cruzada)
Folds Exactitud (%)
5 92.77
6 93.22
7 92.95
8 93.12
9 92.99
10 92.93
15 93.24
20 93.29
92
ANEXO D
93
D.1. Resultados para todos los registros en la confirmación de los resultados
94
95
96
97
98
99
100
101
102