El papel de la estadística en la detección del fraude bancario
Abstract
Este documento presenta un primer acercamiento a algunas técnicas estadísticas utilizadas para la detección del fraude bancario. Aplicando modelos probabilísticos, se pretende etiquetar transacciones como fraudulentas o legítimas. Para este proceso de clasificación a menudo se intenta capturar patrones de fraude. Sin embargo, la constante innovación en las estrategias de engaño dificulta esta tarea. Por este motivo, se introducen también modelos de detección de cualquier comportamiento diferente, para examinarlos con detenimiento después. Partiendo de una tabla que contiene información sobre miles de transacciones y de modelos de clasificación, ¿se podrá detectar ágilmente el fraude en futuras transacciones?
Full text
Facultad de estudios estad ´ ısticos Trabajo de Fin de Grado El papel de la estad´ıstica en la detecci´on del fraude bancario Mar´ıa Teresa Villanueva Moreno supervisado por D. Enrique Gonz´alez Arang¨uena Julio Curso 2019-2020
Abstract Este documento presenta un primer acercamiento a algunas t´ecnicas estad´ısticas utilizadas para la detecci´on del fraude bancario. Aplicando modelos probabil´ısticos, se pretende etiquetar transacciones como fraudulentas o leg´ıtimas. Para este proceso de clasificaci´on a menudo se intenta capturar patrones de fraude. Sin embargo, la constante innovaci´on en las estrategias de enga˜no dificulta esta tarea. Por este motivo, se introducen tambi´en modelos de detecci´on de cualquier comportamiento diferente, para examinarlos con detenimiento despu´es. Partiendo de una tabla que contiene informaci´on sobre miles de transacciones y de modelos de clasificaci´on, ¿se podr´a detectar ´agilmente el fraude en futuras transacciones? English Abstract This document is an approach to some statistical techniques used to credit card fraud detection. Using probabilistic models, transactions are supposed to be correctly classified into fraud transactions and non-fraud ones. This classification problem is often solved by capturing fraud patterns. However, the constant innovation in fraud strategies makes it difficult. Therefore, it is also introduced a model that proposes detecting any anomaly behaviour to check its nature later. Taking thousands of detailed transactions and some classification models, will it be possible to detect credit card fraud quickly?
´ Indice 1. Introducci´on 3 2. Estado del arte 6 3. Soporte te´orico 8 3.1. Introducci´on al Machine Learning . . . . . . . . . . . . . . . . . . . . 8 3.2. Divisi´on y preparaci´on de la muestra . . . . . . . . . . . . . . . . . . 9 3.3. Construcci´on del modelo . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.1. CART (´arbol de decisi´on) . . . . . . . . . . . . . . . . . . . . 11 3.3.2. Bagging .............................. 16 3.3.3. Random forest (bosque aleatorio) . . . . . . . . . . . . . . . . 17 3.3.4. Extremely randomized trees . . . . . . . . . . . . . . . . . . . 18 3.3.5. Isolation forest (bosque de soledades) . . . . . . . . . . . . . . 19 3.4. Medidas de rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . 19 4. Aplicaci´on 22 4.1. An´alisis de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2. Preparaci´on de los datos de la muestra . . . . . . . . . . . . . . . . . 30 4.3. Construcci´on de los modelos . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.1. CART............................... 32 4.3.2. Bagging .............................. 33 4.3.3. Randomforest .......................... 35 4.3.4. Extremely randomized trees . . . . . . . . . . . . . . . . . . . 37 4.3.5. Isolationforest .......................... 39 4.4. Comparaci´on de los modelos . . . . . . . . . . . . . . . . . . . . . . . 40 5. Conclusiones 43 6. Bibliograf´ıa 44 7. Anexo 46
Mar´ıa Teresa Villanueva Moreno 1 Introducci´on 1. Introducci´on La enorme cantidad de transacciones bancarias ha venido acompa˜nada de un aumento significativo en el n´umero de fraudes cometidos. Adicionalmente, las nuevas tecnolog´ıas han favorecido la constante innovaci´on en las t´ecnicas de estafa, provocando que muchos detectores de fraude queden pronto totalmente obsoletos. La profesionalizaci´on de los defraudadores y el incremento en el n´umero de canales de acceso bancario han permitido el aumento de los tipos de fraude y del tama˜no de las p´erdidas que ocasionan. Este problema en expansi´on provoca p´erdidas millonarias cada a˜no y perjudica enormemente a los bancos. Al mismo tiempo, leyes europeas, como la normativa PSD21, obligan a las entidades bancarias a confirmar la autenticidad de una transacci´on antes de autorizarla, sancion´andola si su sistema de detecci´on no cumple ciertos est´andares. Luego las entidades bancarias necesitan irremediablemente erradicar este problema y deben construir un sistema de detecci´on de fraude fiable para ello. Motivado por la necesidad mencionada, este documento propone varios modelos de clasificaci´on2de Machine Learning como sistemas de detecci´on del fraude bancario. El Machine Learning es una disciplina cient´ıfica del ´ambito de la inteligencia artificial, que crea sistemas que identifican patrones complejos en millones de datos a trav´es de algoritmos. Se dice que son algoritmos que aprenden de forma aut´onoma con el tiempo, es decir, que se desarrollan y actualizan sin la intervenci´on humana. Se distinguen fundamentalmente dos tipos de aprendizaje autom´atico: el aprendizaje supervisado y el aprendizaje no supervisado. Un modelo de clasificaci´on de aprendizaje supervisado es aquel que se elabora con un grupo de datos ya clasificado. En este caso, se buscan patrones de comportamiento entre las acciones conocidas como fraudulentas para identificar otras en un futuro. Gracias al aprendizaje desarrollado con estos datos que sirven de ejemplo, se pueden hacer predicciones adecuadas de observaciones a´un no etiquetadas. Por otra parte, se encuentra el aprendizaje no supervisado, tambi´en llamado Clustering. En este caso, el conjunto de datos del que se dispone no est´a clasificado en categor´ıas ni se conoce la estructura que posee. Se busca agrupar las observaciones en funci´on de sus similitudes y perfilar as´ı su forma. Este documento presenta caminos alternativos desde el Machine Learning para distinguir el fraude en un conjunto de transacciones. Son modelos que alcanzan un gran resultado. No obstante, a menudo son catalogados como modelos de caja negra, es decir, modelos de alta complejidad en los que dif´ıcilmente se conoce con claridad qu´e hace el modelo. Pese a dicha limitaci´on, los modelos de Machine Learning son altamente utilizados por las entidades bancarias. De hecho, a´un contin´uan desarroll´andose con esta finalidad. 1PSD2 (Payment Services Directive) es la segunda directiva europea que regula los servicios de pago realizados en Europa con la finalidad de impulsar la transparencia, la competencia y la innovaci´on de los servicios de pago del sector financiero. 2Modelo estad´ıstico en el que el resultado a predecir es una etiqueta discreta. En este caso, se recogen ciertos datos de una transacci´on y se pretende que el modelo la clasifique como leg´ıtima o como fraudulenta. 3
Mar´ıa Teresa Villanueva Moreno 1 Introducci´on Para dar consistencia al estudio, se detalla cada uno de los modelos de clasificaci´on antes de su aplicaci´on a una tabla de datos. Los registros de la tabla de la que se dispone se corresponden con transacciones bancarias y una de las caracter´ısticas recogidas indica si dicha transacci´on es fraudulenta o no. Este campo habilita el uso de modelos de clasificaci´on basados en el aprendizaje supervisado, ya que etiqueta a los datos. La mayor´ıa de los modelos que se van a construir siguen un aprendizaje supervisado. Se plantea adem´as un modelo de aprendizaje no supervisado v´alido para la detecci´on del fraude. No pretende capturar un patr´on de fraude, sino detectar cualquier anomal´ıa. De ese modo, se clasifica como fraudulenta toda transacci´on que presenta un comportamiento muy distinto al de las dem´as transacciones. La tabla en cuesti´on tiene casi 300.000 filas. Esto permite dividir la muestra en dos y diferenciar los datos con los que se crea el modelo de los datos con los que se valida. La submuestra de entrenamiento es la que se emplea para la elaboraci´on del modelo. Por otro lado, est´a la submuestra test, que es menos numerosa y que queda apartada en todo el proceso de elaboraci´on del modelo para poder probar con credibilidad su precisi´on despu´es. Esta estrategia de divisi´on de la muestra es muy recurrente en la ciencia de los datos. La tabla cuenta con la ventaja de estar ya limpia, es decir, no hay valores perdidos, duplicados o incorrectos. No obstante, s´ı ser´a conveniente realizarle ciertas modificaciones para que algunos modelos consigan clasificar correctamente. Los datos equilibrados son aquellos que cuentan con una buena representaci´on de cada clase de la variable dependiente para la construcci´on del modelo de clasificaci´on. En este caso, hay dos tipos de transacciones, las leg´ıtimas y las fraudulentas. Las acciones fraudulentas son mucho menos frecuentes que las leg´ıtimas, provocando que no est´en lo suficientemente representadas. Luego la tabla no est´a equilibrada y, por consiguiente, la submuestra con la que se elabora el modelo tampoco lo estar´a. Este hecho puede ocasionar problemas de detecci´on de la clase minoritaria en los modelos de aprendizaje supervisado. El algoritmo asume que las transacciones son leg´ıtimas en su mayor´ıa y las acciones fraudulentas pueden no ser percibidas como tal. Una posible soluci´on es tratar de garantizar el equilibrio entre las clases leg´ıtima y fraudulenta en la muestra de entrenamiento. Para ello, existen distintas propuestas de sobremuestreo y de submuestreo3. En concreto, es de gran inter´es la t´ecnica SMOTE (Bowyer et al, 2002), que crea ejemplos sint´eticos de la clase menos numerosa. En este estudio, se comparan derivados del ´arbol de decisi´on, que es un modelo de Machine Learning que se expondr´a detalladamente. Se prueba la eficacia de los modelos con la porci´on de la muestra que se manten´ıa apartada. Se clasifica la muestra test seg´un cada uno y se elabora la matriz de confusi´on, que presenta las observaciones fraudulentas y leg´ıtimas clasificadas correcta e incorrectamente y es altamente ilustrativa. Adem´as, existen medidas de rendimiento que facilitan la 3En el ´ambito de la estad´ıstica, se refiere a un conjunto de t´ecnicas utilizadas para aumentar o reducir el tama˜no de una muestra. 4
Mar´ıa Teresa Villanueva Moreno 1 Introducci´on comparaci´on entre los modelos. Confrontados los modelos, se concluye cu´al es el que ofrece un mejor resultado y, de esta manera, se propone una soluci´on contrastada al problema del fraude bancario. En definitiva, actualmente las entidades bancarias deben frenar el fraude si no quieren enfrentarse a p´erdidas millonarias e incluso a problemas legales. Este trabajo quiere colaborar a la mejor detecci´on del fraude bancario y, para ello, estudia posibles soluciones y hace una valoraci´on de cu´al de ellas ser´ıa la m´as efectiva. 5
Mar´ıa Teresa Villanueva Moreno 2 Estado del arte 2. Estado del arte Desde 2006, se est´a ante una explosi´on del Machine Learning en la que numerosas empresas est´an transformando sus negocios hacia el dato e incorporando t´ecnicas de inteligencia artificial en sus procesos, productos y servicios, para obtener ventajas sobre la competencia. Entre este conjunto de empresas, se encuentran las entidades bancarias siendo la construcci´on de modelos para la detecci´on del fraude bancario una de las aplicaciones m´as populares entre ellas. El uso del Machine Learning para la detecci´on de acciones ileg´ıtimas se remonta a m´as de dos d´ecadas. Ya a finales del siglo XX, se publicaron trabajos que apoyaban el uso de las redes neuronales4para este cometido (Aleskerov, Freisleben y Rao, 1997). No obstante, no es hasta unos a˜nos m´as tarde, cuando se extiende el uso de la inteligencia artificial para la detecci´on del fraude. Los estudiosos se ven incentivados por los bancos, que muestran gran inter´es en frenarlo a trav´es de la detecci´on autom´atica. Han sido innumerables las t´ecnicas aplicadas y los distintos enfoques empleados para la resoluci´on del problema. En su mayor´ıa, los modelos siguen el denominado aprendizaje supervisado. Construyen sus algoritmos haciendo uso de transacciones bancarias de las que se conoce su condici´on leg´ıtima o fraudulenta, para tratar de acertar la naturaleza de las transacciones futuras. En cierto modo, estos modelos examinan el nuevo movimiento y deciden si se corresponde con una acci´on fraudulenta o no con base a las similitudes con transacciones bien conocidas. En concreto, este documento desarrolla modelos construidos sobre los ´arboles de decisi´on, que siguen una t´ecnica de aprendizaje supervisado que se desarrollar´a m´as adelante. Los ´arboles de decisi´on sobreajustan con facilidad. Para lidiar con este problema surge el random forest (Breiman, 2001), que construye varios ´arboles de decisi´on de manera independiente para su posterior puesta en com´un. Este modelo result´o ser muy eficaz y supuso una aut´entica revoluci´on para el Machine Learning. Por ello, se continu´o estudiando y se propusieron extensiones de este. En este estudio se hace uso de la t´ecnica extremely randomized trees (Ernst, Geurts y Wehenkel, 2006), basada en el random forest. Estos modelos de detecci´on a menudo se complementan. Se suele hablar de circunstancias en las que conviene aplicar un modelo frente a otro, y de las fortalezas y las debilidades de cada uno. Hay multitud de art´ıculos publicados en este sentido. Por ejemplo, se compara la efectividad en la detecci´on del fraude bancario de la conocida regresi´on log´ıstica con el innovador modelo random forest (Bhattacharyya et al, 2011). Los autores concluyen que el random forest presenta grandes ventajas frente a la regresi´on log´ıstica. Adem´as, alertan de que la detecci´on del fraude bancario por medio de estas t´ecnicas se enfrenta a una limitaci´on importante por el hecho de que los datos son no equilibrados. Se trata de datos no equilibrados porque, con car´acter general, las acciones 4T´ecnica de aprendizaje y procesamiento autom´atico inspirado en la forma en la que funciona el sistema nervioso de las personas (Specht, 1997). 6
Mar´ıa Teresa Villanueva Moreno 2 Estado del arte fraudulentas son poco frecuentes. Como se adelantaba, este hecho puede dificultar el proceso de aprendizaje del algoritmo. Por ello, es de utilidad tratar de alcanzar el equilibrio entre las clases. Para hacerlo, resulta de gran inter´es la t´ecnica SMOTE (Bowyer et al, 2002). Adem´as del mencionado aprendizaje supervisado, tambi´en se usa el aprendizaje no supervisado, que parte de datos de los que no hay un conocimiento a priori sobre su naturaleza. Desde el comienzo, hay autores que apoyan su uso para la detecci´on del fraude bancario. Su aplicaci´on en este estudio se ve sostenida por el hecho de que las t´ecnicas de fraude est´an innovando constantemente. Luego no basta con buscar similitudes con casos de fraude ya conocidos, sino que hay que ir m´as all´a (Domingues et al, 2018). As´ı, se apuesta por la detecci´on de anomal´ıas en las transacciones bancarias frente a la b´usqueda de patrones de comportamiento. Entre todos los algoritmos, destaca la t´ecnica de detecci´on de anomal´ıas denominada isolation forest (Liu, Ting y Zhou, 2008), que se basa en el modelo random forest. Como se adelantaba, es un tema muy actual, que tiene avances constantemente. Por lo tanto, interesa atender a art´ıculos recientes. Khare y Sait (2018) apoyan el uso del aprendizaje supervisado para la detecci´on de fraude. En concreto, resaltan las ventajas ofrecidas por el random forest. A su vez, se continua apoyando el uso del isolation forest para detectar cualquier comportamiento bancario extra˜no (Hyder y Sameena, 2019). Por lo tanto, se aprecia como el Machine Learning ofrece distintos enfoques para solventar el problema del fraude en transacciones bancarias. Parece claro que los bancos apuestan por m´etodos estad´ısticos para frenar las p´erdidas que el fraude bancario provoca. Es preciso mencionar que la gran mayor´ıa de estudios se han realizado en los ´ultimos a˜nos y que a´un contin´uan en desarrollo. 7
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico 3. Soporte te´orico El objetivo final de este documento es establecer una comparativa entre la aplicaci´on de varios modelos estad´ısticos en la detecci´on del fraude bancario. Para dar consistencia a este trabajo, en primer lugar, se presenta su soporte te´orico. Los modelos corresponden al campo del Machine Learning. Por ello, se parte de una introducci´on a esta disciplina, que proporciona una visi´on global del algoritmo que siguen los modelos para su construcci´on. 3.1. Introducci´on al Machine Learning Para realizar un modelo de clasificaci´on, se toma un conjunto de datos. En este caso, es una tabla en la que cada registro corresponde a una transacci´on bancaria. Los campos son distintas caracter´ısticas recogidas de cada transacci´on, como puede ser la cantidad de dinero implicada. Entre ellas, est´a la variable objetivo o target Class, que toma un valor u otro en funci´on de si la transacci´on se corresponde con un fraude o no. Esta variable dicot´omica es la que se quiere predecir en futuras transacciones. Dicho conjunto de datos se emplea para crear un modelo de clasificaci´on con el objetivo de catalogar una futura observaci´on como leg´ıtima o fraudulenta, por medio de un aprendizaje supervisado o no supervisado. En este trabajo, se introduce el aprendizaje no supervisado, cuya muestra inicial no cuenta con una clasificaci´on conocida y agrupa la muestra en base a ciertas evidencias. En concreto, se presenta un modelo que separa la muestra en transacciones comunes y altamente at´ıpicas, para etiquetar estas ´ultimas como fraudulentas. Sin embargo, la mayor´ıa de los modelos de clasificaci´on de los que se hace uso en este documento sigue un aprendizaje supervisado. La creaci´on del modelo de clasificaci´on se establece con un conjunto de datos para los que se conoce la salida deseada. Estos modelos hacen un tratamiento particular de la muestra, que se presenta a continuaci´on y que ser´a detallado posteriormente. Para la creaci´on de modelos de clasificaci´on es sumamente importante contar con una tabla de datos limpia y uniforme. No obstante, cuando se cuenta con una gran cantidad de datos ya etiquetados, antes de realizar cualquier manipulaci´on, interesa dividir la muestra en dos: el conjunto de entrenamiento y el conjunto test. El conjunto de entrenamiento suele comprender del 60 al 80 % de la muestra inicial y se utiliza para la creaci´on del modelo, que es probado despu´es con el conjunto test. N´otese que este ´ultimo conjunto es totalmente independiente a la creaci´on del modelo, garantizando que se hace una correcta validaci´on de este. Dividida la muestra, se toma el conjunto de entrenamiento y, en primer lugar, se realiza un an´alisis profundo de los datos. Este paso tiene encomendado garantizar la limpieza y la uniformidad de los datos de la tabla. Suele ser costoso, pero es imprescindible que el algoritmo reciba la informaci´on correctamente para que d´e predicciones de alta calidad y confianza. 8
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico Hiperpar´ametros: Funci´on de impureza. M´ınimo n´umero de observaciones para dividir un nodo. M´axima profundidad del ´arbol. M´ınimo decrecimiento de la funci´on impureza para dividir un nodo. Dependiendo del problema, el valor ´optimo para los hiperpar´ametros ser´a uno u otro. Para llegar hasta ese conjunto ´optimo puede utilizarse la validaci´on cruzada. Por defecto, el software Python tiene definido ciertos valores y no siempre ser´a necesario modificarlos todos. Ventajas y limitaciones Los ´arboles de decisi´on son fundamentales en Machine Learning y aparecen en muchos otros modelos. Gran n´umero de problemas de Machine Learning pueden resolverse bien con alg´un desarrollo de su t´ecnica. No obstante, es cierto que los ´arboles de decisi´on por s´ı solos no clasifican tan bien y caen con facilidad en el sobreajuste. Una forma de frenar el sobreajuste es estableciendo un criterio de parada que impida su m´axima extensi´on. Como todo modelo, los ´arboles de decisi´on tienen argumentos a favor de su uso y argumentos en contra. Una gran ventaja que presentan es su f´acil interpretaci´on. De hecho, la representaci´on del ´arbol permite entender el modelo y justificarlo de cara a un potencial cliente. Aunque si el ´arbol fuera muy extenso, la representaci´on no ser´ıa nada clara. Adem´as, como cada subdivisi´on utiliza una variable diferente, puede capturar patrones no lineales y de gran complejidad. Es cierto que puede resultar poco ´optimo para detectar patrones mon´otonos y que es sensible a la elecci´on de sus hiperpar´ametros. Valores distintos en los hiperpar´ametros pueden dar como resultado clasificaciones demasiado diferentes. No obstante, el mayor problema con el que lidian los ´arboles de decisi´on se corresponde con la falta de equilibrio entre el sesgo y la varianza. Se recuerda que el sesgo cuantifica cu´anto en promedio difieren los valores predecidos de los valores reales. Mientras que la varianza cuantifica cu´anto de diferentes ser´an las predicciones de un modelo en un mismo punto si muestras distintas se tomaran de la misma poblaci´on. Al construir un ´arbol peque˜no se obtendr´a un modelo con baja varianza, pero alto sesgo. Normalmente, si se incrementa la complejidad del ´arbol, disminuye el sesgo pero, el exceso de complejidad provoca el sobreajuste del modelo, que se ver´a reflejado en un incremento importante de la varianza. El modelo ´optimo debe mantener un balance entre estos dos tipos de errores. A esto se le conoce como el equilibrio entre los errores de sesgo y de varianza y es dif´ıcil de alcanzar en ´arboles de decisi´on, que generalmente tienen una alta varianza. El uso de agrupaciones de modelos es una forma de conseguir este equilibrio. 15
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico 3.3.2. Bagging El bagging es una t´ecnica muy com´un usada para reducir la varianza a trav´es de la combinaci´on de varios clasificadores. Cada uno de ellos son modelados con diferentes conjuntos tomados aleatoriamente de la misma poblaci´on. Construcci´on del modelo La Fig. 3 muestra la t´ecnica bagging aplicada con ´arboles de decisi´on. Se ve c´omo se toman diferentes subconjuntos de la muestra de entrenamiento con los que se forman distintos ´arboles. Figura 3: Bagging de ´arboles Una vez construidos todos los ´arboles, se combinan su predicciones para dar una predicci´on final. En el caso de un problema de clasificaci´on, como el planteado con la detecci´on del fraude bancario, la transacci´on podr´ıa ser clasificada con la clase m´as votada entre todos los ´arboles. Hiperpar´ametros Los hiperpar´ametros del bagging de ´arboles en su mayor´ıa son los hiperpar´ametros del CART. No obstante, el bagging tiene hiperpar´ametros propios. N´umero de ´arboles. N´umero de elementos con los que se construye cada ´arbol. Si las muestras son tomadas con reemplazamiento o no en cada ´arbol. Ventajas y limitaciones Generalmente, es m´as eficaz que el ´arbol de decisi´on, aunque es m´as costoso computacionalmente. Mejora la varianza al hacer varios ´arboles, pero corre el peligro de acabar elaborando ´arboles muy similares entre s´ı. 16
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico 3.3.3. Random forest (bosque aleatorio) El modelo random forest surge para proveer una mejora significativa a los CART, ya que sufren altos problemas de sesgo y varianza. El random forest es una versi´on m´as compleja de la t´ecnica bagging. De nuevo, se construyen varios ´arboles, de ah´ı su nombre (bosque aleatorio). La complejidad adicional del random forest reside en que en cada nodo se podr´a eligir la condici´on de separaci´on s´olo con algunas de las variables. Concretamente, con un subconjunto de variables que se tomar´a aleatoriamente en cada nodo. Esto dificulta que los ´arboles del bosque sean muy parecidos entre s´ı. As´ı hay un contraste mayor entre las predicciones y se reduce a´un m´as la varianza. Construcci´on del modelo Cada ´arbol de decisi´on se construye como sigue. 1. Se toma una muestra del conjunto de entrenamiento formado por Ncasos. Introduce aleatoriedad al algoritmo, ya que cada ´arbol se forma de una manera diferente. 2. Si existen Mvariables de entrada, un n´umero m < M se especifica tal que, para cada nodo, la condici´on de seperaci´on del nodo se puede elegir s´olo entre las mvariables que se seleccionan aleatoriamente. El valor mse mantiene constante durante la generaci´on de todo el bosque. 3. Cada ´arbol crece hasta su m´axima extensi´on posible, si no se ha establecido un criterio de parada. En la formaci´on del bosque se introduce en gran medida la aleatoriedad, ya que cada ´arbol est´a construido con una muestra distinta y variables escogidas de manera diferente. Esta aleatoriedad consigue reducir la correlaci´on entre los ´arboles. Una vez construido el bosque, se utiliza para clasificar nuevas observaciones. Al igual que en la t´ecnicas bagging, en problemas de clasificaci´on, la predicci´on final puede ser la clase m´as votada entre todos los ´arboles. Hiperpar´ametros Los bosques aleatorios contienen a los hiperpar´ametros de los ´arboles de decisi´on y adem´as poseen algunos propios. Se mencionan algunos de estos ´ultimos. N´umero de ´arboles que forman el bosque. N´umero de variables que se seleccionan en cada nodo. N´umero de elementos con los que se crea cada ´arbol. Si en cada ´arbol las muestras son tomadas con reemplazamiento o no. El error en las predicciones realizadas por el random forest est´a fuertemente relacionado con los dos primeros hiperpar´ametros nombrados. 17
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico Al reducir el n´umero mde variables, se reduce la correlaci´on entre los ´arboles, ya que cada nodo tiene menos posibilidades entre las que elegir. Sin embargo, al reducir m, tambi´en se reduce la precisi´on del ´arbol. Luego hay que llegar a un equilibrio. El valor recomendado para un problema de clasificaci´on es tomar m=√M. El n´umero de ´arboles tambi´en tiene efecto en la precisi´on de la predicci´on. Como es l´ogico, a mayor n´umero de ´arboles, mejor ser´a la predicci´on. Sin embargo, existe un valor para el cual el error ya no disminuye apenas y aumenta considerablemente la complejidad del algoritmo. Ventajas y limitaciones El random forest consigue un buen equilibrio entre el sesgo y la varianza mejorando notablemente al CART. Adem´as de realizar una buena clasificaci´on de las observaciones, facilita informaci´on acerca de las varibles predictoras. Una de las salidas del modelo es la importacia de las variables, que de alg´un modo cuantifica cu´anto aporta cada variable al modelo6. Es una informaci´on de gran utilidad. Su mayor limitaci´on es que se tiene poco control de lo que hace el modelo. Al tratarse de un bosque con decenas de ´arboles, se pierde la interpretaci´on con la que se pod´ıa contar en los ´arboles peque˜nos. 3.3.4. Extremely randomized trees El modelo extremely randomized trees (Ernst, Geurts y Wehenkel, 2006) es considerado un random forest que ha sufrido ciertas modificaciones. Construcci´on del modelo Se procede igual que en el random forest, salvo por el hecho de que los ´arboles se construyen usando todos los elementos y por la manera de tomar las condiciones en cada nodo. En cada nodo, se elige aleatoriamente un subconjunto de mvariables. Posteriormente, para cada variable, se elige una condici´on de manera aleatoria entre todas las posibles: v1< a1, v2< a2, . . . , vs < as, para a1, ..., as valores aleatorios en el rango de la variable. Finalmente, se toma la divisi´on que minimiza la funci´on de impureza. Ventajas y limitaciones La aleatoriedad hace que los ´arboles difieran m´as entre s´ı y que el entrenamiento del modelo sea m´as r´apido. No obstante, los ´arboles son m´as profundos y la velocidad de predicci´on es m´as lenta. Respecto al random forest, reduce a´un m´as la varianza. Suele ofrecer buenos resultados. 6M´as detalles al respecto pueden encontrarse, por ejemplo, en Archer y Kimes (2008) 18
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico 3.3.5. Isolation forest (bosque de soledades) El isolation forest no responde al aprendizaje supervisado como los modelos anteriores, sino al aprendizaje no supervisado. De hecho, no sirve para problemas de clasificaci´on en general, sino para la detecci´on de anomal´ıas. Su aplicaci´on en este caso consiste en tratar de detectar el fraude poniendo bajo sospecha de fraude cualquier movimiento an´omalo. Construcci´on del modelo El isolation forest tambi´en se basa en el random forest. Como en el extremely randomized trees, en cada ´arbol se toman todos los elementos. Pero, en este caso, cada corte se realiza escogiendo una variable y un punto de corte de manera totalmente aleatoria. Se mantienen los ´arboles creciendo hasta que solo queda un elemento en cada nodo terminal. Obviamente, los elementos an´omalos tienen mayor probabilidad de acabar en nodos de poca profundidad, de ser aislados antes. Mientras que elementos muy parecidos a otros acabar´an en nodos profundos. Luego la idea es calcular cu´anta profundidad en media necesita cada observaci´on para quedar aislada. As´ı, cuantas menos divisiones haya necesitado el ´arbol para aislar a cierta observaci´on, m´as an´omala ser´a. Hiperpar´ametros Porcentaje de observaciones m´as an´omalas que se quiere extraer de la muestra. Ventajas y limitaciones Detecta at´ıpicos sin necesidad de medidas de distancia, similitud o densidad, que suele ser computacionalmente muy costoso. Tiene la capacidad de escalar en tablas de datos grandes y con muchas variables irrelevantes. Adem´as, dado que las anomal´ıas se encontrar´an a poca profundidad, no interesa desarrollar ´arboles muy grandes y no ser´a tan costoso computacionalmente. Como limitaci´on principal est´a el tener que definir la proporci´on de at´ıpicos a priori. 3.4. Medidas de rendimiento Una vez obtenido el modelo de clasificaci´on, se trata de probar su validez con la muestra test, que es totalmente independiente a la creaci´on del modelo. Cuantificar el rendimiento permitir´ıa comparar la eficacia de los distintos modelos. Clasificada la muestra test seg´un un modelo, se puede establecer la siguiente tabla donde Yes la variable dicot´omica a predecir e ˆ Yla clasificaci´on realizada. En este caso, el valor 1 se corresponde con los casos de fraude y el valor 0 con los casos leg´ıtimos. 19
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico Esta tabla es conocida como la matriz de confusi´on de un modelo de clasificaci´on. ˆ Y /Y 1 0 1 VP (Verdadero Positivo) FP (Falso Positivo) 0 FN (Falso Negativo) VN (Verdadero Negativo) Tabla 1: Matriz de confusi´on En la medida de lo posible, se pretende que las observaciones sean clasificadas correctamente. Es decir, que la mayor´ıa de valores se encuentren en VP (Verdadero Positivo) o en VN (Verdadero Negativo). En general, ser´a dif´ıcil garantizar que la clasificaci´on sea correcta al 100 %. Por desgracia, se asume que la clasificaci´on probabil´ıstica comete errores. La labor del modelador ser´a que dichos errores sean m´ınimos y supongan el menor coste posible. Para ver c´omo de bien predice un modelo, se hace uso de las distintas medidas de rendimiento. Una medida de rendimiento muy intuitiva es accuracy, que calcula la proporci´on de veces en la que se ha clasificado correctamente. Accuracy =V P +V N V P +FP +FN +V N Sin embargo, no basta con tomar aquel modelo que haya acertado en un mayor n´umero de ocasiones. De ser as´ı, se podr´ıa optar por considerar que toda transacci´on es no fraudulenta. Se acertar´ıa en la basta mayor´ıa de los casos, pero parece obvio que no es un buen modelo de clasificaci´on al no detectar ning´un caso de fraude. El objetivo de este trabajo es detectar el fraude bancario. Luego errar cuando Y=1 supone no detectar que una transacci´on es fraudulenta. Ser´ıa muy costoso y generar´ıa gran desconfianza en el modelo. As´ı, conviene prestar una atenci´on especial a este tipo de error. Se encuentra la medida recall, que calcula el porcentaje de transacciones fraudulentas correctamente clasificadas. Recall =V P V P +FN Otra medidas es precision, que calcula el porcentaje de transacciones realmente fraudulentas dentro de las clasificadas como tal. Precision =V P V P +FP 20
Mar´ıa Teresa Villanueva Moreno 3 Soporte te´orico F1Score combina las medidas de recall yprecision en una sola, haciendo una media ponderada de las dos. F1Score tiene en cuenta tanto los falsos negativos (FN) como los falsos positivos (FP), queriendo reducir ambos. F1Score = 2 ∗Recall ∗Precision Recall +Precision Esta medida se considera m´as adecuada para el problema que accuracy, controlando la precisi´on en la clasificaci´on de las transacciones fraudulentas. No obstante, se le prestar´a una especial atenci´on a recall. Ante todo, es necesario detectar los casos de fraude. 21
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on 4. Aplicaci´on Se ha escogido una tabla de datos que recoge los detalles de muchas transacciones bancarias y su condici´on fraudulenta o leg´ıtima para probar, para ese caso particular, los distintos modelos analizados. En primer lugar, se debe mencionar que no es f´acil disponer de una tabla de datos que muestre la informaci´on completa de las transacciones. Por un lado, porque son datos protegidos y cada entidad bancaria tiene que cumplir con su compromiso de privacidad. Por otro, porque son datos valiosos que los bancos no est´an dispuestos a ofrecer gratuitamente. Ante dicha dificultad, se ha optado por utilizar una tabla facilitada por la plataforma kaggle7cuyas variables corresponden en su mayor´ıa con las componentes principales de un PCA (Principal Component Analysis)8. Se entiende que las variables est´an en PCA precisamente para ocultar informaci´on que pueda resultar sensible. No ha de ser un inconveniente para el posterior desarrollo del modelo, aunque s´ı que debilita la secci´on de an´alisis exploratorio. Se procede a analizar los datos que hay en la tabla. Posteriormente, se deber´an hacer ciertas manipulaciones para desarrollar algunos modelos correctamente. Elaborados los modelos, se prueba el rendimiento de cada uno y se comparan entre ellos. 4.1. An´alisis de los datos La tabla escogida cuenta con 284.807 registros y 31 campos. No hay ning´un valor perdido, duplicado o incorrecto. Lo que es una gran ventaja y ahorra una inmesa cantidad de trabajo en depuraci´on de datos. Las variables recogidas por cada transacci´on son: Time: N´umero de segundos entre la primera transacci´on de la tabla de datos y la correspondiente. V1-V28: Componentes principales del an´alisis de componentes principales. Amount: Cantidad en d´olares que envuelve la transacci´on. Class: Variable dicot´omica: 1 si es un fraude, 0 en otro caso. La interpretabilidad de las variables es escasa, puesto que no se conoce el significado de ninguna de ellas, salvo el de Time,Amount yClass. Como bien es sabido, cada una de las componentes principales corresponde a una combinaci´on lineal de las variables originales, por lo que no revela informaci´on en s´ı. El objetivo se encuentra en predecir la variable Class en futuras transacciones de las que se contar´a con el valor en el resto de variables. Es decir, el modelo recibir´a todos los datos acerca de una transacci´on, salvo su condici´on, y tratar´a 7Comunidad en l´ınea perteneciente a Google de cient´ıficos de datos y profesionales del aprendizaje autom´atico. 8M´as detalles al respecto pueden encontrarse, por ejemplo, en Hotelling (1933). 22
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on de clasificarla. Por tanto, la variable Class es la variable target en este problema e interesa especialmente. Cabe mencionar que, ante todo, el modelo ha de clasificar bien a las acciones fraudulentas. De no ser as´ı, el banco se enfrentar´ıa con p´erdidas innecesarias. En cambio, el error en la clasificaci´on de las acciones leg´ıtimas no preocupa tanto. Clasificar como fraudulenta una transacci´on leg´ıtima no supondr´ıa ninguna p´erdida a priori, tan solo habr´ıa que revisar la situaci´on y corregir la clasificaci´on, si fuera el caso. A continuaci´on, la Fig. 4 muestra la distribuci´on de la variable Class. Figura 4: Cardinalidad de cada tipo de transacci´on Hay 492 casos de fraude frente a 284.314 casos de no fraude. Las transacciones fraudulentas se corresponden con tan solo el 0,17 % de la muestra, que es un porcentaje muy bajo. La marginalidad del fraude es una buena noticia para los bancos, la mayor´ıa de transacciones entran en el marco de la legalidad. Pero no lo es tanto para la elaboraci´on de algunos modelo. Cuanto m´as ejemplos se tengan de casos de fraude, m´as sencillo resultar´a encontrar patrones de comportamiento entre ellos. Adem´as de observar la variable objetivo Class, se examinan el resto de variables. Se analiza la distribuci´on que sigue cada una y se observa si difiere mucho en funci´on del valor de Class. De ser as´ı, se intuir´ıa que ambas variables se encuentran relacionadas. En primer lugar, se analiza la variable Amount, que revela la cantidad de dinero implicada. ¿Tendr´a un comportamiento diferente en funci´on del tipo de transacci´on? Se muestran los detalles de la variable por clase. 23
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Figura 5: Detalles de Amount por Class Para presentar de una manera m´as ilustrativa estos datos, se realiza un gr´afico box-plot. As´ı, se podr´an sacar conclusiones con mayor claridad. Adem´as del gr´afico box-plot de Amount por Class, se muestra tambi´en el correspondiente con la transformaci´on logar´ıtmica de Amount. Esta transformaci´on permite una mejor visualizaci´on de la variable. Muchas transacciones toman valores muy elevados y distorsionan el gr´afico. Figura 6: Gr´aficos box-plot 24
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Figura 11: Distribuci´on de cada clase tras SMOTE Esta nueva muestra de entrenamiento se va a utilizar para la elaboraci´on de los modelos de aprendizaje supervisado que se comparar´an con los modelos creados utilizando la muestra original. 4.3. Construcci´on de los modelos En primer lugar, se construyen los modelos de aprendizaje supervisado. Como se ha mencionado, los modelos son creados con la muestra de entrenamiento y cada uno requiere la definici´on de ciertos hiperpar´ametros. El software Python define por defecto el valor de dichos hiperpar´ametros, pero pueden ser alterados por el desarrollador del modelo. Se pretende tomar los valores que, entre todos los posibles, optimicen cierta medida de rendimiento. Se puede usar la validaci´on cruzada con esta finalidad. No obstante, probar todos los conjuntos de valores posibles para ver cu´al es el que ofrece mejor resultado ralentizar´ıa enormemente la creaci´on del modelo. Por ello, los modelos se apoyar´an en la validaci´on cruzada, pero solo de manera limitada. Evidentemente, el modelo de clasificaci´on tratar´a de acertar en la clasificiaci´on de la muestra de entrenamiento, ya que conoce los valores que toma. Lo que no implica que la predicci´on sea buena para muestras diferentes. De hecho, una adecuaci´on excesiva a la muestra de entrenamiento conduce al sobreajuste y a la mala predicci´on de observaciones futuras. Por ello, la clasificaci´on de la muestra de entrenamiento no es concluyente, pudiendo confundir al desarrollador haci´endole creer que el modelo clasifica mejor de lo que lo hace realmente. Se usa entonces la muestra test, para validarlo a trav´es de su matriz de confusi´on y de ciertas medidas de rendimiento. Adem´as, se compara si existen diferencias entre tomar la muestra de entrenamiento no equilibrada y la equilibrada con ejemplos sint´eticos, y en qu´e consiste el cambio. 31
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Para la comparaci´on, se emplea exactamente el mismo modelo en ambos casos. Los modelos de aprendizaje supervisado que se prueban son: el ´arbol de decisi´on, el bagging, el random forest y el extremely randomized trees. 4.3.1. CART El ´arbol de decisi´on es el modelo m´as b´asico que se desarrolla en este documento. Es previsible que no ofrezca el mejor resultado. A´un as´ı, se pretende adaptarlo para que clasifique lo mejor posible. Para su creaci´on se mantienen los hiperpar´ametros que est´an por defecto, como el criterio de divisi´on de Gini o el no establecimiento del n´umero m´ınimo de elementos en un nodo para su divisi´on. No obstante, s´ı que se emplear´a tiempo en buscar el mejor valor para la profundidad m´axima del ´arbol. Como se ha mencionado anteriormente, los ´arboles de decisi´on sobreajustan con facilidad. Simplificar el modelo ayuda a que este no se adecue en exceso a los datos de los que dispone. Una manera de restar complejidad es fijando un criterio de parada del ´arbol que impida su m´axima extensi´on. En este caso, se trabaja con la profundidad m´axima. A priori, resulta d´ıficil saber cu´al es la profundidad m´axima adecuada. Por ello, se prueba con todas las profundidades del 1 al 20 y, por validaci´on cruzada, se coge la que ofrezca un mayor recall por este m´etodo. Se recuerda que recall es una medida de rendimiento y que cuanto mayor es su valor, m´as acciones fraudulentas se detectan. Se prueba el modelo en la muestra original y en la muestra elaborada a trav´es de SMOTE. Para la muestra original, la profundidad que ofrece un mejor resultado por validaci´on cruzada es 4. Para la muestra equilibrada, es 19. CART sin SMOTE Figura 12: Matriz de confusi´on del ´arbol de decisi´on sin SMOTE 32
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on CART con SMOTE Figura 13: Matriz de confusi´on del ´arbol de decisi´on con SMOTE Comparaci´on de las medidas de rendimiento con SMOTE sin SMOTE Precision 0.39 0.84 Recall 0.84 0.80 F1Score 0.53 0.82 Tabla 2: Medidas de rendimiento del ´arbol de decisi´on El ´arbol de decisi´on con la muestra equilibrada detecta el 84 % de los casos de fraude, mientras que sin la aplicaci´on de la t´ecnica SMOTE, solo el 80 %. No obstante, cabe mencionar que el modelo aplicando SMOTE yerra mucho m´as en los casos leg´ıtimos. De hecho, tan solo el 39 % de los casos detectados como fraudulentos realmente lo son. 4.3.2. Bagging Pese a que es generalmente aceptado que el rendimiento del bagging es peor que el del random forest, considero ´util su aportaci´on a este trabajo. El random forest es una extensi´on del bagging, as´ı se cuantifica cu´anto, en la pr´actica, lo mejora. La t´ecnica bagging es muy costosa computacionalmente, ya que en ella se realizan muchos ´arboles de decisi´on. No resulta conveniente construir demasiados ´arboles. En primer lugar, porque a˜nadir´ıa m´as complejidad al algoritmo. En segundo lugar, porque pronto los ´arboles comienzan a ser muy parecidos entre s´ı y no suman precisi´on al modelo. Se recomienda utilizar en torno a la decena de ´arboles. 33
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on En el modelo desarrollado, se construyen cada uno de los 10 ´arboles con una muestra aleatoria tomada con reemplazamiento de la muestra de entrenamiento y con su misma cardinalidad. Bagging sin SMOTE Figura 14: Matriz de confusi´on del bagging de ´arboles sin SMOTE Bagging con SMOTE Figura 15: Matriz de confusi´on del bagging de ´arboles con SMOTE 34
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Comparaci´on de las medidas de rendimiento con SMOTE sin SMOTE Precision 0.70 0.95 Recall 0.82 0.80 F1Score 0.76 0.87 Tabla 3: Medidas de rendimiento del bagging De nuevo, usando los datos equilibrados se detectan m´as casos de fraude, aunque se pierde precisi´on en la clasificaci´on de las transacciones no fraudulentas, del 95 % al 70 %. Este modelo es costoso computacionalmente. La muestra equilibrada es m´as numerosa y aumenta el tiempo de creaci´on del algoritmo, luego habr´ıa que considerar si realmente interesa. En este caso, tomar la muestra equilibrada ayuda a detectar m´as casos de fraude, pero aumentan en mayor medida los falsos positivos. Respecto al ´arbol de decisi´on, es un modelo m´as elaborado, por lo que multiplica el tiempo de compilaci´on. Es cierto que corrige notablemente el n´umero de falsos positivos, siendo ahora mucho menor. No obstante, no mejora nada la clasificaci´on de las transacciones fraudulentas. De hecho, la empeora. La t´ecnica bagging no parece haber aportado mucho al ´arbol de decisi´on por s´ı sola. Sin embargo, con peque˜nas modificaciones que introducen extensiones del modelo se consigue mejorar considerablemente el rendimiento. 4.3.3. Random forest El algoritmo del random forest construido es igual al del bagging, salvando que se toma una muestra de √Mvariables10 a elegir en cada nodo, donde M es el n´umero total de variables predictoras. Crear muchos ´arboles es costoso, pero este cambio reduce mucho el tiempo de compilaci´on respecto al modelo anterior. En cada nodo, se busca la condici´on ´optima entre √Mvariables, no M. Ayuda a no sobreajustar, por eso ahora se deja crecer cada ´arbol hasta su extensi´on m´axima. Adem´as, provoca mayores diferencias entre lo ´arboles, por eso se contruyen 100, y no 10 como en el bagging. Este n´umero de ´arboles es el que se estima necesario para reducir el error considerablemente sin ralentizar demasiado el algoritmo. De nuevo, como en el bagging, cada ´arbol est´a elaborado con una muestra tomada con reemplazamiento de la muestra de entrenamiento y con su misma cardinalidad. 10M´as detalles al respecto pueden encontrarse, por ejemplo, en Friedman, Hastie y Tibshirani (2009). 35
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Random forest sin SMOTE Figura 16: Matriz de confusi´on del random forest sin SMOTE Random forest con SMOTE Figura 17: Matriz de confusi´on del random forest con SMOTE Comparaci´on de las medidas de rendimiento con SMOTE sin SMOTE Precision 0.89 0.97 Recall 0.84 0.83 F1Score 0.87 0.89 Tabla 4: Medidas de rendimiento del random forest 36
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Otra vez, se sigue el patr´on encontrado en los modelos anteriores. Utilizando la muestra con valores sint´eticos, el modelo detecta un mayor n´umero de acciones fraudulentas, pero tambi´en aumentan los falsos positivos. Tomando el modelo elaborado con la muestra equilibrada, se tiene que el 84 % de los casos de fraude est´a correctamente clasificado y el 89 % de los casos detectados como fraudulentos realmente lo son. Esta ´ultima medida mejora claramente respecto a la correspondiente del bagging, donde apenas alcanzaba el 70 % para la muestra equilibrada. En efecto, el random forest supera al modelo bagging. El modelo random forest elabora una salida muy valiosa que se corresponde con la importancia de las variables en la creaci´on del modelo. Se extrae para el random forest elaborado con la muestra de entrenamiento equilibrada. Figura 18: Importancia de variables para random forest con SMOTE Las variables que cobran mayor importancia en el modelo son, por este orden, V14, V12, V4 y V10. Se recuerda que todas ellas fueron resaltadas al estudiar su funci´on de densidad por tipo de transacci´on. Adem´as, tanto V14 como V12 ten´ıan un ´ındice de correlaci´on negativo con Class destacable frente a los dem´as. 4.3.4. Extremely randomized trees Este modelo no induce aleatoriedad en la muestra con la que se crea cada ´arbol, pues cada uno de ellos se construye con la muestra de entrenamiento al completo. 37
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on Sin embargo, s´ı que toma de manera cuasi-aleatoria las condiciones de separaci´on de los nodos. Esto provoca que los ´arboles no sobreajusten con tanta facilidad. Por ello, tambi´en se deja que crezcan hasta su m´axima extensi´on posible. Se elaboran 100 ´arboles y, como en el random forest, s´olo se puede tomar la condici´on de sepaci´on entre √Mvariables. Extremely randomized trees sin SMOTE Figura 19: Matriz de confusi´on del extremely randomized trees sin SMOTE Extremely randomized trees con SMOTE Figura 20: Matriz de confusi´on del extremely randomized trees con SMOTE 38
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on con SMOTE sin SMOTE Precision 0.91 0.96 Recall 0.86 0.83 F1Score 0.88 0.89 Tabla 5: Medidas de rendimiento del extremely randomized trees Este modelo es el que ofrece una mejor clasificaci´on. Alcanza el 86 % de recall con la muestra equilibrada y disminuye a´un m´as los falsos positivos. Adem´as, su aleatoriedad permite que el modelo se ejecute r´apido. De nuevo, la muestra equilibrada detecta m´as casos de fraude a cargo de clasificar err´oneamente transacciones leg´ıtimas como fraudulentas. Se pasa a probar el modelo de aprendizaje no supervisado isolation forest. Ahora se prescinde de la informaci´on que indica de qu´e tipo es cada transacci´on para la elaboraci´on del modelo. S´ı que se har´a uso de dicha informaci´on al probar su rendimiento con la muestra test, que adem´as permitir´a la comparaci´on con el resto de modelos. 4.3.5. Isolation forest El isolation forest propone una forma alternativa de detectar de fraude. Asume que hay una relaci´on directa entre las transacciones fraudulentas y los comportamientos an´omalos. Por ello, plantea la detecci´on de anomal´ıas como equivalente a la detecci´on del fraude. Al igual que con los modelos anteriores, se va a elaborar con el conjunto de entrenamiento y se va a probar con el conjunto test. Sin embargo, ahora no se necesita de una muestra equilibrada. De hecho, en principio, es bueno que haya pocas transacciones fraudulentas, as´ı ser´an filtradas como an´omalas con mayor facilidad. Como se ha mencionado con anterioridad, es necesario indicar el porcentaje de observaciones an´omalas que se quiere detectar. En este caso, se parte con ventaja, al disponer de la muestra ya etiquetada. En el an´alisis de los datos, se determin´o que las transacciones fraudulentas conformaban el 0,17 % de la muestra total. Luego, tiene sentido tomar esta cantidad como porcentaje de observaciones m´as an´omalas a detectar. Normalmente no se dispone de este dato. Se va a comparar el rendimiento del modelo con distintos valores para el hiperpar´ametro mencionado. En concreto, se va a comparar para el 0,2 %, el 0,5 %, el 1 % y el 5 %. A continuaci´on, aparecen las matrices de confusi´on para cada uno de los modelos desarrollados. 39
Mar´ıa Teresa Villanueva Moreno 4 Aplicaci´on (a) Detecci´on del 0,2 % (b) Detecci´on del 0,5 % (c) Detecci´on del 1 % (d) Detecci´on del 5 % Figura 21: Matriz de correlaciones de isolation forest A medida que aumenta el porcentaje de anomal´ıas que se retiene, aumenta el n´umero de casos de fraude que se detectan. No obstante, aumenta tambi´en el n´umero de falsos positivos, siendo este demasiado elevado. 4.4. Comparaci´on de los modelos Los cinco modelos utilizan ´arboles de decisi´on. Sin embargo, se observa c´omo la efectividad alcanzada por cada uno es diferente. El modelo de aprendizaje no supervisado isolation forest presenta una clara desventaja frente a los dem´as. Para alcanzar un n´umero similar a los otros modelos de casos de fraude detectados correctamente, clasifica err´oneamente muchas transacciones leg´ıtimas. Por lo tanto, este modelo queda descartado. Los otros modelos corresponden al aprendizaje supervisado y la siguiente tabla presenta el rendimiento de cada modelo para cada una de las dos muestras empleadas. 40
Mar´ıa Teresa Villanueva Moreno 7 Anexo ## CART tree params = {”max depth”: list(range(1 , 20) ) } g r i d t r e e = GridSearchCV ( D e c i s i o n T r e e C l a s s i f i e r ( ) , tree params , sc ori ng = ’ r e c a l l ’ ) # sin SMOTE g r i d t r e e . f i t ( X train , y tr ain ) m best1 = g r i d t r e e . b es t e st im at or p r e d i c t i o n s c a r t 1 = m best1 . p r ed ict ( X test ) # con SMOTE g r i d t r e e . f i t ( X trai n re s , y t r a i n r e s ) m best2 = g r i d t r e e 2 . b e s t e st im a to r p r e d i c t i o n s c a r t 2 = m best2 . p r ed ict ( X test ) ## BAGGING bagging = Ba g g i n g C lass i f i e r ( D e c i s i o n T r e e C l a s s i f i e r ( max depth = 10 , c r i t e r i o n = ’ g i n i ’ ) , n estimators = 10 , random state = 10) # sin SMOTE model bag1 = bagging . f i t ( X train , y t r a i n ) pr ed ic tions ba g1 = model bag1 . p re dic t ( X test ) # con SMOTE model bag2 = bagging . f i t ( X t rain res , y t r a i n r e s ) pr ed ic tions ba g2 = model bag2 . p re dic t ( X test ) ## RANDOM FOREST r f = RandomForestClassifier ( n estimators = 100 , max features = ’ sqrt ’ , random state = 10) # sin SMOTE mode l rf1 = r f . f i t ( X train , y t r a i n ) p r e d i c t i o n s r f 1 = model rf1 . p red ict ( X test ) # con SMOTE model rf2 = r f . f i t ( X train res , y t r a i n r e s ) p r e d i c t i o n s r f 2 = model rf2 . p red ict ( X test ) ## EXTREMELY RANDOMIZED TREES extra = E x t r a T r e e sCla s s i f i e r ( n estimato rs = 100 , max features = ’ sqrt ’ , c r i t e r i o n = ’ g i n i ’ , random state = 10) # sin SMOTE model extra1 = ex tr a . f i t ( X train , y t r a i n ) p r e d i c t i o n s e x t r a 1 = model extra1 . p r ed ic t ( X t es t ) # con SMOTE 47
Mar´ıa Teresa Villanueva Moreno 7 Anexo model extra2 = extra . f i t ( X trai n re s , y t r a i n r e s ) p r e d i c t i o n s e x t r a 2 = model extra2 . p r ed ic t ( X t es t ) ## ISOLATION FOREST i s f 1 = I s o l a t i o n F o r e s t ( n esti mato rs =100, contamination =0.002 , random state =10, verbose =0) i s f 2 = I s o l a t i o n F o r e s t ( n esti mato rs =100, contamination =0.005 , random state =10, verbose =0) i s f 3 = I s o l a t i o n F o r e s t ( n esti mato rs =100, contamination =0.01 , random state =10, verbose =0) i s f 4 = I s o l a t i o n F o r e s t ( n esti mato rs =100, contamination =0.05 , random state =10, verbose =0) y p r e d i s f 1 = mod el is f1 . pr ed ict ( X test ) y p r e d i s f 2 = mod el is f2 . pr ed ict ( X test ) y p r e d i s f 3 = mod el is f3 . pr ed ict ( X test ) y p r e d i s f 4 = mod el is f4 . pr ed ict ( X test ) 48