0% encontró este documento útil (0 votos)
55 vistas78 páginas

Introducción al Data Mining No Supervisado

Este documento presenta una introducción al método de agrupamiento K-means para minería de datos no supervisada. Explica que K-means agrupa observaciones de datos en K clusters de tal manera que las observaciones dentro de cada cluster sean similares entre sí y diferentes a las observaciones en otros clusters. Describe cómo K-means itera entre la asignación de observaciones al cluster más cercano y la recalculación de los centroides de cada cluster hasta converger en una solución estable. También introduce conceptos clave como distancia euclidiana y centroide.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
55 vistas78 páginas

Introducción al Data Mining No Supervisado

Este documento presenta una introducción al método de agrupamiento K-means para minería de datos no supervisada. Explica que K-means agrupa observaciones de datos en K clusters de tal manera que las observaciones dentro de cada cluster sean similares entre sí y diferentes a las observaciones en otros clusters. Describe cómo K-means itera entre la asignación de observaciones al cluster más cercano y la recalculación de los centroides de cada cluster hasta converger en una solución estable. También introduce conceptos clave como distancia euclidiana y centroide.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Notas sobre

Data Mining
C ARLOS QUINTANILL A
Dedicatoria

A todos los estudiantes que han sufrido mi curso y mis notas en todas sus

variaciones:

desde el mae 52,

pasando por el mae 55,

mae 56,

mae 57,

mae 58,

mba 2012 NI,

hasta, y muy especialmente,

el mba 2012 CR,

el primer grupo que no se quejo de nada :-)

i
Prefacio

Estas notas, como el gato de Neruda, no aspiran a ser nada más que lo que son y
son felices siéndolo. No aspiran a convertirse en un libro de texto. Son y siempre
serán notas escritas para estudiantes de INCAE. Son concisas, puntuales y evitan el
exceso de teoría. Están diseñadas para que cada capítulo pueda leerse, en com-
pañía de un caso cualquiera, la noche anterior a la sesión de clase. Su objetivo
principal es dar una idea general sobre los distintos algoritmos usados en el curso
antes de que el estudiante empiece a oprimir botones ciegamente en su laptop. Su
mayor virtud, la brevedad, es también su principal defecto; inevitablemente son in-
completas. Todo lo que puedo ofrecer para remediar este defecto es un apéndice
donde se provee una lista de libros de textos de verdad. El estudiante que desee
estudiar más detalladamente la disciplina puede comenzar allí. Estas recomenda-
ciones naturalmente reflejan mis gustos personales.
He decidido hacer estas notas disponibles en formato iBooks, además del tradi-
cional PDF, porque creo que el iPad (y en general, todas las tablets) tiene un rol in-
menso que jugar en educación superior. Además me encantan iBooks y iBooks
Author como programas de software. Estos programas me permiten que estas no-
tas sean una eterna obra en progreso. Nuevas versiones que reparen problemas
triviales como typos o errores menores serán denotadas como versión 1.01, 1.02...,
1.0x. Versiones que incluyan cambios importantes como material nuevo (tengo
planeados capítulos sobre visualizacion, preparación de datos y support vector ma-
chines) o capítulos viejos reescritos substancialmente serán denotadas como 1.00,
2.00, ..., X.00. El número y la fecha de la última versión siempre aparecerá al final

ii
de este prefacio (debajo del gato negro). La copia más reciente de las notas, en am-
bos formatos, siempre estará disponible en la dirección abajo:
https://s3.amazonaws.com/mirlitus/DataMining.ibooks
https://s3.amazonaws.com/mirlitus/DataMining.pdf
Finalmente, el crédito y las gracias por la excelente fotografía Fractals que
aparece en la portada y las páginas que abren las secciones son para Jessica
Grundy.

Carlos Quintanilla
Managua, Enero 02, 2013

Version 2.04 / 11-13-16

iii
PRIMERA SECCION

Data Mining No Supervisada

En esta sección estudiaremos dos técnicas de


Data Mining No Supervisada: Agrupamiento
por K-Means y Reglas de Asociación. Lo que
identifica a una técnica como no supervisada es
la ausencia de una variable dependiente.

4
CAPITULO UNO

Agrupamiento con
K-Means
Agrupamiento, al igual que Reglas de Asociación (próximo capítulo), es un
método no supervisado de Data Mining. Lo que lo hace ‘no supervisado’ es que to-
das las variables sobre las que tenemos información (e.g. ingreso, edad, educación)
tienen el mismo status. No hay variables especiales: no hay variables dependientes;
no hay variables independientes.
El objetivo central de agrupamiento es el mismo ya se le analice desde un
punto de vista estadístico o de marketing. Desde un punto de vista estrictamente
estadístico, dada una colección de observaciones individuales sin ninguna estruc-
tura conocida, la tarea de agrupamiento consiste en separar estas observaciones
como pertenecientes a un número reducido de grupos (o clusters) tales que
• las observaciones pertenecientes a un mismo grupo son parecidas entre si (ho-
mogeneidad dentro del grupo)
• las observaciones pertenecientes a diferentes grupos son diferentes (separa-
ción o heterogeneidad entre diferentes grupos).
Comparemos esta definición con la definición de segmentación ofrecida por
Michael J. Croft en su libro sobre segmentación en Marketing:
Un mercado es simplemente un grupo de usuarios con necesidades semejantes. Por lo tanto, un
mercado está constituido por subgrupos o segmentos conteniendo a usuarios con necesidades [...]
diferentes de las de otros segmentos. Segmentación de mercados es ... el proceso de identificar dif-
erentes grupos de usuarios dentro de un mercado que pueden ser atendidos con productos distintos o
programas de mercadeo distintos.

5
Medidas de Cercanía o Similitud
Echémosle un vistazo a un grupo hipotético de consumidores sobre los que
tenemos información sobre edad e ingreso. La Figura 1 muestra un grupo de 500
individuos. ¿Cuántos grupos hay? En este ejemplo sencillo, los grupos pueden iden-
tificarse sin ayuda de ninguna técnica de agrupamiento. Hay 3 grupos claramente:
• Un grupo de consumidores con ingresos bajos y edad entre 30 y 40 años.
• Otro grupo de consumidores con ingresos medios y edad entre 20 y 30.
• Finalmente hay un grupo de ingreso alto y edad entre 40 y 50 años.
¿Por qué es tan sencillo formar los grupos en este caso? Porque los miembros
de un grupo están cerca de los otros miembros del grupo y muy lejos de los miem-
bros de otros grupos. Hay una clara aglomeración. ¿Cómo hacemos preciso este
concepto? ¿Cómo medimos cercanía? Cuando las variables que estamos anali-

Figura 1: Tres Grupos de Edad e Ingreso.

6
zando son continuas es posible definir cercanía en términos de distancia física o
geométrica--llamada comúnmente distancia euclidiana. Si tenemos dos puntos
con coordenadas p1 = ( x1, x2 ) y p2 = ( y1, y2 ), la distancia entre esos dos puntos
está dada por la expresión:
d(p1, p2) = (x1 − x2)2 + (y1 − y2)2

Esta fórmula es la fórmula para calcular la distancia de la hipotenusa como fun-


ción de los otros dos catetos que uno aprende en primaria. Por ejemplo, la distan-
cia entre el punto más abajo (4.18,20.08) y el punto más arriba (5.10,49.45) en la
Figura 1 es:

d(p1, p2) = (5.10 − 4.18)2 + (49.45 − 20.08)2 = 29.38

En general, tendremos más de dos variables que considerar. La distancia euclid-


iana entre el punto p = (p1, p2, . . . , pn) y q = (q1, q2, . . . , qn) está dada por la exten-
sión natural de la fórmula de la distancia en dos dimensiones:

d(p, q) = (p1 − q1)2 + (p2 − q2)2 + . . . + (pn − qn)2

La Tabla 1 muestra 6 puntos tomados al azar de la Figura 1. La Tabla 2 cal-


cula las distancias euclidianas entre todos los pares de puntos. en la Tabla 1.

ID Edad Ingreso
1 35 0.5
2 37 1.2
3 24 3.2
4 26 4.1
5 44 5.8
6 46 6.3

Tabla 1: Puntos en el Espacio Edad-Ingreso.

Una vez definida distancia, podemos reformular nuestra estrategia para buscar
grupos de observaciones. Queremos formar grupos tales que la distancia entre
miembros de un mismo grupo, medido por la distancia euclidiana, sea lo más ppe-

7
queña posible y que la distancia entre miembros de grupos diferentes sea lo más
grande posible.

1 2 3 4 5 6
1 0 2.11 11.32 9.69 10.44 12.43
2 2.11 0 13.15 11.37 8.37 10.34
3 11.32 13.15 0 2.19 20.16 22.21
4 9.69 11.37 2.19 0 18.08 20.12
5 10.44 8.37 20.16 18.08 0 2.06
6 12.43 10.34 22.21 20.12 2.06 0

Tabla 2: Distancias entre Puntos en Tabla 1.

El Método de K-Means
El método de K-means es un método de agrupamiento que toma como insu-
mos una hoja de datos y un número deseado de grupos, llamémoslo k, y produce
como outputs las membresías de cada observación en la hoja de datos a los k gru-
pos deseados y un grupo de k centroides. Un centroide es un vector de las medias de
todas las variables utilizadas en el agrupamiento. El centroide resume las carac-
terísticas de un grupo.
Veamos como funciona el algoritmo. Lo inicializamos seleccionando k centroi-
des generados al azar. Cada centroide en este algoritmo define un grupo diferente.
El algoritmo entonces itera los siguientes pasos:
1. Calcula la distancia de cada punto en la base de datos a cada uno de los
centroides.
2. Asigna cada observación al grupo para el cual la distancia del punto al cen-
troide correspondiente es la menor.
3. Recalcula los centroides tomando las medias de todas las variables de todas
las observaciones pertenecientes a un grupo.
4. Repite 1-3 hasta que no haya ningún cambio adicional (i.e. cuando ya no
hayan reasignaciones de puntos)

8
Sigamos estos cuatro pasos para nuestro mini ejemplo arriba. Supongamos que
queremos encontrar 3 grupos (k=3). Generemos aleatoriamente 3 centroides (mas
o menos en el rango de los datos). Estos son:

Grupo Edad Ingreso


1 30 2.5
2 35 6.0
3 33 5.0

Tabla 3: Iteración 0. Generación


Aleatoria de Centroides.

Primera Iteración: Paso 1 indica que debemos calcular las distancias entre
cada uno de los 6 puntos y los 3 centroides de la Tabla 3. Estas son tres distancias
por observación. Estas distancias están denotadas en la Tabla 4 como C1, C2, C3.
Para cada una de las observaciones, identificamos en negrillas la distancia menor.
A continuación, el paso 2 nos indica que debemos asignar la observación al grupo
que exhibe la distancia menor. La primera observación, por ejemplo, está más
cerca del tercer centroide. Por lo tanto, la asignamos al grupo 3. La segunda obser-
vación está más cerca del segundo centroide. Por lo tanto, la asignamos al grupo 2.
Otro tanto hacemos para las otras 4 observaciones restantes.

C1 C2 C3
ID Edad Ingreso Grupo
(2.5,30) (6.0,35) (5.0,33)
1 35 0.5 5.39 5.50 4.92 3
2 37 1.2 7.12 5.20 5.52 2
3 24 3.2 6.04 11.35 9.18 1
4 26 4.1 4.31 9.20 7.06 1
5 44 5.8 14.38 9.00 11.03 2
6 46 6.3 16.35 11.00 13.06 2
Tabla 4: Iteración 1, Paso 1 y Paso 2.

Ahora calculamos las medias de Edad e Ingreso para cada uno de los 3 grupos
recien definidos. Estas medias se convierten en los centroides de la siguiente itera-
ción.

9
Grupo Edad Ingreso
1 25 3.65
2 42.33 4.43
3 35.00 0.5
Tabla 5: Iteracion 1, Paso 3.

Segunda Iteración: Con los nuevos centroides volvemos a calcular las distan-
cias de cada uno de los puntos y asignamos al grupo con la distancia menor.

C1 C2 C3
ID Edad Ingreso Grupo
(3.65,25) (4.43,42.33) (0.5,35)
1 35 0.5 10.48 8.32 0.00 3
2 37 1.2 12.25 6.23 2.12 3
3 24 3.2 1.10 18.37 11.33 1
4 26 4.1 1.10 16.33 9.69 1
5 44 5.8 19.12 2.16 10.44 2
6 46 6.3 21.17 4.12 12.44 2
Tabla 6: Iteración 2, Paso 1 y Paso 2.

Noten que ha habido una reasignación de grupos. La observación 2 que perte-


necía al grupo 2 está ahora en el grupo 3. Volvemos a calcular las medias de Edad
e Ingreso. Estos se convierten en los centroides de la siguiente iteración.
Grupo Edad Ingreso
1 25 3.65
2 45 6.05
3 36 0.85
Tabla 7: Iteración 2, Paso 3.

C1 C2 C3
ID Edad Ingreso Grupo
(3.65,25) (6.05,45.0) (0.85,36.0)
1 35 0.5 10.48 11.44 1.06 3
2 37 1.2 12.25 9.36 1.06 3
3 24 3.2 1.10 21.19 12.23 1
4 26 4.1 1.10 19.10 10.51 1
5 44 5.8 19.12 1.03 9.41 2
6 46 6.3 21.17 1.03 11.39 2
Tabla 8: Tercera Iteración, Paso 1, Paso 2.

10
Tercera Iteración: Con los nuevos centroides volvemos a calcular las distan-
cias.
Dado que no hubo ninguna reasignación, dado que ninguna observación cam-
bio de grupo, el algoritmo se detiene. La Tabla 7 y la última columna de la Tabla
8 son los outputs de todo el algoritmo.
Seleccionando K
Uno puede pensar en Agrupamiento como un modelo para explicar las obser-
vaciones que tenemos a mano. Consideremos un ejemplo aún más sencillo en el
que queremos segmentar nuestros clientes, pero sólo tenemos acceso a una vari-
able. Esta variable podría representar, por ejemplo, el ingreso de nuestros clientes.
Si no segmentamos, estamos suponiendo que todos nuestros clientes son miembros
de un grupo homogéneo. ¿Cómo podríamos describir este grupo? Estadística 101.
Con su media, como medida de tendencia central, y su varianza, como medida de
dispersión o variabilidad.
En Agrupamiento haremos algo muy parecido. Reportaremos la media (o me-
dias si hay más de un grupo) y la desviación al cuadrado promedio alrededor de la
media (o de las medias). Para los datos de la Figura 2, si suponemos que solo hay
1 grupo, la media es 3.65 y la desviación al cuadrado promedio (DCP) es igual a
10.977. Estas fueron calculadas de la siguiente manera:
1

x̄ = xi
n
1
(xi − x̄)2
n∑
DCP =

Ahora supongamos que creemos que hay dos segmentos de ingreso y usamos el
algoritmo de K-means para encontrarlos. El segundo panel de la Figura 2 ilustra
lo que ocurre. Ahora tendremos 2 grupos, uno de ingreso alto y otro de ingreso
bajo. ¿Cómo resumimos esta nueva estructura que hemos descubierto? Repor-
tando las medias de los grupos descubiertos y nuestra medida de variación alrede-
dor de estas medias. El grupo de ingreso bajo (IB) tiene una media de 1.49 y el
grupo de ingreso alto (IA) tiene una media de 7.97. Estos valores están indicados

11
por lineas verticales en el segundo panel. La variabilidad alrededor de estas me-
dias será resumida por un solo indicador, la desviación al cuadrado promedio:
1
(xi − x¯IA)2 + (xi − x¯IB)2)
n ∑ ∑
DCP = (

Noten que ahora hay dos sumatorias para calcular el DCP. Las desviaciones al-
rededor de las medias se calculan por grupo porque cada grupo tiene una media
que lo caracteriza. Este estadístico toma el valor de 1.637. Esto es un progreso
enorme comparado al valor cuando suponíamos que sólo existía un grupo. El
DCP ahora es un quinto de lo que era antes.

Figura 2: Mas y Mas Grupos.

Podemos continuar y suponer ahora que hay 3 grupos, en lugar de 2. Ahora re-
portaremos la existencia de 3 segmentos (ingreso bajo, medio y alto). Cuando cor-
remos K-means, encontramos que estas medias son -0.03, 3.02 y 7.97 respectiva-
mente. No se preocupen por los valores negativos para el ingreso. Este sólo es un

12
ejemplo. Podría también ser Log(Ingreso). El DCP ha caído a 0.07. Visualmente,
este parece ser el mejor modelo. Naturalmente parecían existir 3 grupos.
¿Qué ocurriría si intentáramos 4 grupos? Como regla, el DCP siempre dismi-
nuirá. Esto es equivalente, por ejemplo, en regresión a aumentar el número de
variables explicativas y su efecto sobre R-cuadrada. Siempre que aumentamos el
número de variables en una regresión, su R-cuadrada aumenta. Pero no siempre
es aconsejable. Si intentamos 4 grupos, DCP es ahora 0.058. Pero... ¿vale la pena?
No parecemos haber ganado mucho al hacer nuestro modelo más complicado. La
regla que utilizaremos, bastante informal lo admito, es: Nos detendremos cuando
notemos que la reducción en el DCP es marginal.
Hagamoslo gráficamente. Graficaremos el DCP desde 2 hasta un valor alto, k-
max, y seleccionaremos el valor de K para el cual notamos un quiebre. En la Fig-
ura 3, graficamos los valores de K desde 2 hasta 6. Noten que el break natural
ocurre cuando K=3. Si seguimos aumentando K, las ganancias en reducción del
DCP son marginales.
Este fue el caso cuando sólo tenemos una variable, ingreso. Cuando tengamos
información sobre más de una variable, utilizaremos una estrategia semejante.

Figura 3: Seleccionando el K Optimo.


13
Esta vez describiremos los grupos con un vector de medias en lugar de una sola
media. El DCP seguirá siendo un solo número que captura ahora la variabilidad
alredor de cada una de las medias dentro de cada uno de los grupos.
Una advertencia final: En los ejemplos de este capítulo, los grupos están clara-
mente definidos. Los he seleccionado más por razones pedagógicas que por real-
ismo. En la realidad, esta nítida separación rara vez ocurre. A menudo no habrá
una caída violenta en la Figura 3 que nos permita identificar fácilmente el valor de
K. Cuando hagamos gráficos como los de la Figura 1, no habrá una clara separa-
ción. En muchos casos, deberemos emplear además de criterios estrictamente es-
tadísticos (o en lugar de ellos), criterios de negocios. ¿Tienen sentido los grupos cre-
ados? ¿Puedo hacer un perfil de cada uno de ellos? Si ofrezco distintas promocio-
nes a estos grupos, ¿se comportan de manera distinta?
Normalización o Estandarización
Hay muchas dificultades y consideraciones técnicas alrededor de este método.
Por ejemplo, la selección de los centroides iniciales, cuántas veces debemos iniciar
el programa, cómo verificar que el programa no se ha estancado, etc. En estas no-
tas introductorias vamos a ignorar la mayoría de estas tecnicalidades. Sin em-
bargo, quiero discutir una en particular: la necesidad de normalizar de alguna
manera las variables antes de correr el algoritmo.
El método de K-means es un método basado en el concepto de distancia. Desa-
fortunadamente, la distancia entre 2 puntos depende de las unidades en que mida-
mos las variables involucradas. Si medimos ingreso en dólares, en miles de dólares
o en Logaritmo de miles de dólares, esto tiene importantes consecuencias sobre el
calculo de las distancias.
Un problema serio que hay que resolver es el siguiente. Si no normalizamos de
alguna manera las unidades en que están medidas las distintas variables, las vari-
ables que estén medidas en las más grandes unidades dominarán la definición de
los distintos grupos. Por ejemplo, si tengo una variable que mide ingreso en
dólares (con rango digamos de $1,000 a $6,000 mensuales) y otra variable que
mide porcentaje del presupuesto del hogar destinado a comer en restaurantes (con
rango digamos de 0.03 a 0.2), cuando construyamos los grupos con K-Means la

14
información sobre presupuesto destinado a restaurantes será, para efectos prácti-
cos, completamente ignorada. Pero esto es desafortunado porque es concebible
que grupos interesantes basados en estas dos variables podrían surgir si trataramos
igualmente a las dos variables.
Por esta razón, antes de correr K-Means, es práctica común estandarizar las
variables que se van a utilizar. Esta es la forma más común de normalización. Es-
tandarizar una variable X consiste en restarle su media y dividirla entre su desvia-
ción standard. Es decir, consiste en definir una nueva variable Z con las siguientes
caractarísticas:

X − X̄
Z=
σx

Las características de esta nueva variable son las esperadas. La nueva variable
Z tiene media 0 y desviación estandar 1. Si aplicamos esta transformación a todas
las variables de una base de datos antes de aplicar K-means, ahora el campo está
nivelado. Ninguna variable será más importante que las demás porque todas es-
tarán medidas en las mismas variables (desviaciones standards alredor de la me-
dia).
Es también posible mapear la variable X a una nueva variable Z que esté con-
tenida en el rango del 0 al 1. Esto se logra aplicando la siguiente transformación:

X − min(X )
Z=
ma x(X ) − min(X )
Esta transformación también logra el objetivo de neutralizar el efecto de las uni-
dades de medida. Es, sin embargo, menos usada que la primera.

15
CAPITULO DOS

Reglas de Asociación

Si alguna vez han comprado un libro u otro artículo en Amazon.com, habrán


notado que inmediatamente después de que uno hace click a un item cualquiera
(por ejemplo, un libro sobre Data Mining), el sistema provee al usuario informa-
ción sobre el item consultado como su precio, descuentos, tamaño, peso, reviews
de otros usuarios, etc. El sistema sugiere también otros items que pueden resultarle
de interés al usuario.
Por ejemplo, la Figura 1 muestra la selección de un libro de Data Mining. El ti-
tulo del libro es Introduction to Data Mining. La página nos informa el precio del libro
($81.45), el autor (Pan-Ning Tan), el review promedio para el libro (4 y media es-
trellas) y otros detalles (esta en stock, etc). En el panel de abajo, Amazon nos in-
forma que hay otros dos títulos que han sido comprados “en paquete”por otros cli-
entes que también compraron el libro que me interesa. No sólo eso; el sistema tam-
bién nos sugiere que compremos los tres títulos juntos por un total de $151.04.
Como usuario de Amazon que soy, no puedo decirles el número de veces que
he comprado libros sugeridos por el sistema además de los que yo buscaba o en lugar
de los que había seleccionado. El sistema funciona de maravillas para mi como
usuario al ayudarme a encontrar material relacionado sin mucho esfuerzo y fun-
ciona aun mejor para Amazon al incentivar nuevas compras.
Este capítulo discute la técnica de Data Mining que esta detrás de este
sistema--las llamadas reglas de asociación. La técnica también se conoce como
Market Basket Analysis.

16
Figura 1: Sistema de Recomendación de Amazon.com.

Bases de Datos Transaccionales


Antes de definir lo que son las reglas de asociación, echémosle un vistazo a las
bases de datos de transacciones sobre las que estas se construyen. Pensemos en un
ejemplo de un mini mercado que vende cientos de productos. Cuando un cliente
paga por sus productos en la caja, una nueva transacción es generada. El sistema
de registros de la tienda asignará a esta nueva transacción un número de identifica-
ción único y registrará qué productos fueron comprados en esta transacción. La
Tabla 1 presenta un ejemplo. Cada fila representa una transacción. La primera,
por ejemplo, fue de una persona que compró Jamón, Pan y Queso. La segunda
fue de una persona que compró Pan y Mantequilla y así sucesivamente. Un su-

Transacción # Items Comprados


1 Jamón, Pan, Queso
2 Pan, Mantequilla
3 Naranjas, Pan, Huevos
4 Huevos, Jamón, Pan
5 Queso

Tabla 1: Ejemplo de transacciones en un supermercado.

17
permercado verdadero genera típicamente millones de transacciones de este tipo
cada año.
Generalizando, podemos pensar en una base de datos transaccionales de la
siguiente forma. Existe un conjunto de productos o items. Llamemos a este con-
junto I = {i1, i2, . . . , in}. Cada transacción, ti, en la base de datos es un subcon-
junto del conjunto I que indica la presencia de ciertos artículos en la transacción
más una variable identificadora. La base de datos entera B = {t1, t2, …, tm} es una
colección de transacciones. El objeto de la técnica de reglas de asociación es descu-
brir patrones de consumo interesantes entre estas transacciones.

Transacción
Jamón Pan Queso Mantequilla Naranjas Huevos
#
1 1 1 1 0 0 0
2 0 1 0 1 0 0
3 0 1 0 0 1 1
4 1 1 0 0 0 1
5 0 0 1 0 0 0

Tabla 2: Ejemplo de Matriz Binaria para el Ejemplo Anterior.

Antes de alimentar a la computadora con estas transacciones es necesario repre-


sentarlas en una forma que la computadora entienda. La manera standard de rep-
resentarlas es una matriz binaria. En esta matriz, las columnas se refieren a los dis-
tintos productos que ofrece el establecimiento y las filas a cada una de las transac-
ciones registradas. Como su nombre lo indica, las entradas en esta matriz son 1s y
0s.
Tomemos una transacción en particular. Es decir, concentremonos en una fila
de la matriz. Registraremos un 1 si el producto al que se refiere cada una de las co-
lumnas está presente en la transacción y un 0 si no esta. La primera transacción de
la Tabla 1 contenía 3 productos: Jamon, Pan y Queso. Para estas tres columnas
escribiremos un 1 y para las otras tres (Mantequilla, Naranjas, Huevos) escribire-
mos un 0. Verifiquen que el resto de la matriz en la Tabla 2 refleja correctamente
las transacciones reportadas en la Tabla 1.

18
Figura 2: Imagen de una Pequeña Matriz de Transaccio-
nes con 6 productos (columnas) y 5 transacciones (filas).

Si quisieramos representar graficamente esta matriz de transacciones podría-


mos hacerlo como en la Figura 2. Esto nos puede ayudar a vizualizar cuáles son
los productos más demandados. El ejemplo que hemos usado hasta el momento
es, por supuesto, trivialmente pequeño. La siguiente figura (Figura 3) muestra 500
transacciones en 169 “productos” en una tienda verdadera. Una característica de
este tipo de matrices que salta a la vista inmediatamente es que la mayor parte de
sus entradas son 0s. Este tipo de matrices se conocen en matemáticas como matri-
ces ralas (sparse matrices en inglés).
¿Qué son Reglas de Asociación?
Las reglas de asociación son reglas del tipo “Si-...-entonces-...” que tratan de
medir la frecuencia con que dos productos (o grupos de productos) tienden a
aparecer al mismo tiempo en una canasta. La notación que utilizaremos será la
siguiente:
A⇒B
Esta regla se lee “Si el producto A está presente en la canasta, entonces el pro-
ducto B también lo estará”. Toda regla tiene dos partes:
• el antecedente ( en este caso el producto A) y

19
• la consecuencia (en este caso el producto B).
Las reglas pueden ser más complicadas e involucrar un número mayor de pro-
ductos. Por ejemplo, podemos tener una regla que involucre 3 productos.
{A, B} ⇒ C
Esta regla significa que si el cliente compra productos A y B, entonces com-
prará también el producto C. El antecedente de esta regla es ahora {A, B} y la
consecuencia es C.

Figura 3: Imagen de Matriz de Transaccio-


nes con 169 productos y 500 transacciones.

20
Obviamente, las reglas que queremos descubrir no son determinísticas (es de-
cir, no necesariamente se tienen que cumplir siempre). Por eso será necesario de-
sarrollar una métrica probabilística para medir la fortaleza de una regla. La rela-
ción entre estas métricas y conceptos elementales de probabilidad como probabili-
dades marginales, conjuntas o condicionales será inmediatamente aparente para
ustedes.
Volviendo a nuestro ejemplo arriba, queremos responder algunas preguntas.
Queremos saber:

• ¿Con qué frecuencia se compra Jamón?


• ¿Con qué frecuencia se compran Huevos?
• ¿Con qué frecuencia se compran los productos Jamón y Huevos juntos?
• Si sabemos con seguridad que un cliente ha comprado Jamon, ¿qué tan prob-
able es que también compre Huevos y viceversa.
Definamos algunos conceptos que nos ayuden a responder estas preguntas y
otras relacionadas. Supongamos que A es un producto o grupos de productos. B es
otro producto o grupo de productos.

1. Soporte de una Regla: Es la frecuencia relativa con que aparecen A y B


simultáneamente en la base de datos. También es posible hablar del soporte de
items individuales; podemos hablar del soporte de A y del soporte de B. Estos
estarían definidos como las frecuencias relativas con que aparecen A o B indi-
vidualmente. Podemos utilizar notación de probabilidad.

S(A) = P(A)
S(B) = P(B)
S(A ⇒ B) = S(B ⇒ A) = P(A ∩ B)

21
Tamaño Items Soporte
1 Jamón 0.4
1 Pan 0.8
1 Queso 0.4
1 Mantequilla 0.2
1 Naranjas 0.2
1 Huevos 0.4
2 Pan, Queso 0.2
2 Pan, Jamón 0.4
2 Pan, Huevos 0.4
2 Pan, Mantequilla 0.2
2 Queso, Jamón 0.2
2 Jamón, Huevos 0.2
2 Huevos, Naranjas 0.2
3 Pan, Queso, Jamón 0.2
3 Pan, Jamón, Huevos 0.2
3 Pan, Huevos, Naranjas 0.2

Tabla 3: Soporte de Productos y Subconjuntos de Productos.

2. Confianza de una regla: Es el cociente del soporte de una regla dividido


entre el soporte del antecedente. Si soporte mide frecuencia, confianza mide
fortaleza de una regla. Confianza es una probabilidad condicional.

P(A ∩ B)
C(A ⇒ B) = P(B | A) =
P(A)
En general, preferimos reglas con una confianza alta.
3. Lift de una Regla: Está definido como el cociente del soporte de la regla
dividido entre el producto del soporte de A y el soporte de B. Mide que tan
probable o improbable es que la regla haya sido producto del azar.
P(A ∩ B)
L(A ⇒ B) =
P(A) * P(B)
4. Tamaño de una Regla es el número de productos que involucra. Si A, B
y C son productos individuales, el tamaño de la regla ( {A} ⇒ {B} es 2; la re-
gla ( {A, B} ⇒ {C} ) tiene tamaño 3.

22
Regla Antecedente Consecuencia Soporte Confianza Lift
1 Pan Jamón 0.4 0.5 1.25
2 Pan Huevos 0.4 0.5 1.25
3 Jamón Pan 0.4 1.0 1.25
4 Huevos Pan 0.4 1.0 1.25
Tabla 4: Reglas con Soporte Mínimo de 0.4 y Confianza Mínima de 0.5.

Siempre que reportemos una regla de interés reportaremos también estas cu-
atro medidas. Calculemos algunas de esta medidas para nuestro ejemplo y reporte-
moslas en la Tabla 3. Calculemos inicialmente los soportes de los productos indi-
viduales. El número total de transacciones es 5. Jamon, Huevos y Queso, consid-
erados individualmente, aparecen en dos de estas transacciones. Por lo tanto, su
soporte es igual a 2/5. Pan es el producto más frecuente; aparece en 4 de las 5
transacciones y tiene un soporte de 0.8.Mantequilla y Naranjas aparecen sola-
mente 1 vez; su soporte es 1/5. La Tabla 3 reporta también soportes para combi-
naciones de productos (parejas, trios, etc).Pan y Jamon, por ejemplo, tomados
como pareja aparecen en 2 de las 5 transacciones. Esta combinación por lo tanto

Figura 4: Subconjuntos más frecuentes.

23
tiene un soporte de 0.4. La Figura 4 muestra los soportes de los subconjuntos más
frecuentes.
Una vez que hemos calculado los soportes de todas las combinaciones de pro-
ductos podemos calcular soportes, confianzas y lifts para cualquier regla que se
nos ocurra utilizando las fórmulas de la página anterior. Si las bases de datos
fueran pequeñas, podríamos utilizar el método de fuerza bruta para calcularlas to-
das. Podríamos enumerar todas las reglas posibles y después contar en la base de
datos la frecuencia con que estas ocurren. El número de reglas posibles cuando el
número de items es n es igual a
3n − 2n+1 + 1
En el nuestro ejemplo esto es igual a 729-128+1 = 602! El numero de reglas po-
sibles en una base de datos verdadera es simplemente abrumadora. Por eso a
menudo reportaremos solamente reglas que tengan un soporte mínimo y una con-
fianza mínima. Podemos instruir, por ejemplo, a un programa que busque todas
las reglas con un soporte mínimo de 40% y una confianza mínima de 50%. En
nuestro ejemplo, esto genera 4 reglas distintas. Echemosle un vistazo a la primera.
La regla dice que si la persona compra pan (el antecedente de la regla), también

Figura 5: Representación Gráfica de Reglas de Asociación.

24
comprará Jamon (la consecuencia de la regla). Esta regla tiene un soporte de 0.4.
Es decir que Jamon y Pan aparecen juntos en el 40% de las canastas. La regla ti-
ene una confianza de 0.5. Es decir, si la persona tiene Pan en su canasta hay una
probabilidad de 50% de que también compre Jamon. La tercera regla involucra
los mismos productos, pero tiene la dirección de causalidad revertida. El soporte
de la regla es el mismo, pero la confianza aumentó. En este ejemplo de 5 transac-
ciones, si una persona pone Jamon en su canasta con seguridad también pondrá
Pan (confianza=100%). La Figura 5 muestra estas reglas gráficamente.
La última metrica que examinaremos es lift. ¿Por qué la necesitamos? Consider-
emos el ejemplo de una tienda de alimentos. Supongamos que tenemos 1,000
transacciones. En un 80% de ellas encontramos que las personas han comprado
Arroz. En un 70% encontramos que han comprado Frijoles. Aun si no existiera
ninguna asociación entre la compra de arroz y la de frijoles (en el lenguaje de prob-
abilidad, si los eventos fueran independientes), esperaríamos solo por casualidad,
encontrar arroz y frijoles al mismo tiempo en un 0.8(0.7) = 0.56 de las canastas.
Supongamos que este es el caso. Ahora calculemos, soporte y confianza para las
reglas Arroz->Frijoles y Frijoles->Arroz.
P(Arroz) = 0.8
P(Frijoles) = 0.7
P(Arroz ∩ Frijoles) = 0.56
S(Arroz ⇒ Frijoles) = P(Arroz ∩ Frijoles) = 0.56
P(Arroz ∩ Frijoles)
C(Arroz ⇒ Frijoles) = = 0.7
P(Arroz)
P(Arroz ∩ Frijoles)
C(Frijoles ⇒ Arroz) = = 0.8
P(Frijoles)

Ambas reglas parecen ser excelentes: tienen un alto soporte y altas confianzas,
pero... las construimos suponiendo independencia! No miden asociación de
ningún tipo. Entra la escena la nueva metrica, lift. Si calculamos lift para ambas
reglas observamos que ambas tienen un lift de 1.

25
P(Arroz ∩ Frijoles) 0.56
L(Arroz ⇒ Frijoles) = = =1
P(Arroz) * P(Frijoles) 0.8 * 0.7
P(Arroz ∩ Frijoles) 0.56
L(Frijoles ⇒ Arroz) = = =1
P(Arroz) * P(Frijoles) 0.8 * 0.7

Por lo tanto, queremos reglas con alto soporte, alta confianza y lift diferente de
1. Un lift superior a 1 mide una relación positiva entre los dos productos. Los pro-
ductos podrían ser complementos. Un lift por debajo de 1 mide una relación nega-
tiva entre los dos productos. Los productos podrían ser substitutos. Típicamente
estamos buscando lifts por encima de 1. Entre más alto el lift, mejor. Modifique-
mos el ejemplo arriba. Los soportes individuales siguen siendo los mismos, pero
ahora Arroz y Frijoles aparecen al mismo tiempo en 660 transacciones (en lugar
de 560). Esto es reflejado inmediatamente en lifts superiores a 1. Ahora si hay una
relación fuerte entre ambas.
P(Arroz) = 0.8
P(Frijoles) = 0.7
P(Arroz ∩ Frijoles) = 0.66
S(Arroz ⇒ Frijoles) = P(Arroz ∩ Frijoles) = 0.66
P(Arroz ∩ Frijoles)
C(Arroz ⇒ Frijoles) = = 0.825
P(Arroz)
P(Arroz ∩ Frijoles)
C(Frijoles ⇒ Arroz) = = 0.9428
P(Frijoles)
P(Arroz ∩ Frijoles) 0.66
L(Arroz ⇒ Frijoles) = = = 1.17
P(Arroz) * P(Frijoles) 0.8 * 0.7
P(Arroz ∩ Frijoles) 0.66
L(Frijoles ⇒ Arroz) = = = 1.17
P(Arroz) * P(Frijoles) 0.8 * 0.7

Aplicaciones de Reglas de Asociación


Las reglas de asociación son la técnica de Data Mining más sencilla conceptual-
mente. Las dificultades técnicas se refieren a su aplicación eficiente a grandes
bases de datos. El descubrimiento de algoritmos que permitieron su aplicación a
26
estas no es de interés para nosotros en estas notas. Más interesante para nosotros
es la aplicación de las reglas en un contexto de negocios. A continuación enumero
algunas de las aplicaciones más comunes de esta técnica.
• Ventas Cruzadas: Imaginen el caso de Amazon.com. Cuando usted pone el
libro de Introduccion al Data Mining en su canasta, Amazon sabe, por ejemplo, que
54% de los clientes que compraron ese libro compraron inmediata o posterior-
mente los libros X, Y, Z. Así que, para tratar de inducir nuevas compras, Ama-
zon informará al cliente sobre este comportamiento.
• Upselling: Si sabemos que las personas que compran pantalones de tipo A,
típicamente compran fajas de tipo B, podríamos tratar de inducir a los clientes a
comprar mejor fajas de tipo C que tienen un margen superior para nosotros.
• Promociones: Si sabemos que el café y las rosquillas se compran juntas po-
demos inducir la compra de más rosquillas ofreciendo descuentos al café. Otra
manera de utilizar esta información sobre esta regla es que no queremos ofrecer
descuentos simultáneos a café y rosquillas. Cuando los clientes compren más
café, respondiendo a nuestro descuento, esperamos que automáticamente com-
pren más rosquillas sin necesidad de ofrecerles un descuento.
• Optima colocación de los productos en los estantes de la tienda. Si yo se que
el productos A y el B tienden a comprarse juntos, puedo ponerlos juntos para
hacer mas fácil la compra... o puedo ponerlos lejos uno del otro para exponer a
mi cliente a otros productos.
• Bundling: Reglas de asociación pueden ofrecer información valiosa en el
diseño de paquetes de productos.

27
SEGUNDA SECCION

Data Mining Supervisada

En esta sección nos movemos de técnicas en


las que todas las variables juegan el mismo rol
a técnicas en las que el objetivo principal es
explicar una variable, la variable dependiente,
como función de otro grupo de variables, las
variables independientes. Esto hace a estos méto-
dos ejemplos de Data Mining Supervisada.
Hay dos variedades principales: Predicción y
Clasificación. Cuando la variable dependiente es continua, hablaremos de proble-
mas de predicción. Cuando la variable dependiente es categórica (binaria o poli-
nominal), hablaremos de problemas de clasificación.

28
CAPITULO TRES

Regresión Lineal

En estas notas cuando hablemos de predicción nos estaremos refiriendo a todos los
modelos que tengan por objeto pronosticar el valor de una variable continua. Po-
demos, por ejemplo, desarrollar un modelo para pronosticar cuánto gastará uno
de nuestros clientes, con el gasto medido en dólares, como función de una serie de
atributos de la persona (edad, sexo, ingreso, etc). En capítulos posteriores, utilizare-
mos la palabra clasificación para referirnos a modelos cuyo fin es pronosticar el
valor que tomará una variable categórica. Por ejemplo, querremos un modelo que
explique la decisión de compra de un cliente (Compró/No Compró) como fun-
ción de los atributos de la persona. El modelo de predicción más conocido en Es-
tadística o en Data Mining, es el de Regresión Lineal. Utilizaremos regresión para
explicar algunos de los conceptos más importantes en Data Mining:
• Sobre-ajuste (overfitting)
• Particiones de entrenamiento y validación
• Evaluación de desempeño
Como lo indica su nombre, el modelo de regresión lineal explica el comporta-
mient o de una variable que nos interesa como una función lineal de los atributos
que la explican:
Y = β0 + β1 * X1 + β2 * X2 + ⋯ + βn * Xn + ϵ

donde Y es la variable a explicar, X son los atributos y ϵ es un componente aleato-


rio. Por ejemplo, podríamos tratar de estimar una ecuación que explique el con-

29
sumo de cerveza de una persona como una función lineal de su nivel de ingreso,
edad y educación.
La primera pregunta que podemos hacernos es: ¿cómo estimamos los coeficien-
tes de esta ecuación?. El método que utilizamos para calcularlos (el método de
mínimos cuadrados) escoge los coeficientes que minimizan la suma de errores al
cuadrado en la muestra.
Por comparación con otros modelos que vendrán luego, ¿cuáles son los pros y
cons del modelo de regresión lineal? Los Pros son:
• Facil y rápido de calcular.
• Fácil de interpretar.
• El rol de cada variable en la regresión está muy claro
Los Cons son:
• No es muy bueno para lidiar con formas de no-linealidad compleja. El mod-
elo de regresión lineal puede lidiar con ciertas formas de no-linealidad. Por ejem-
plo, en las páginas que siguen estimaremos funciones cuadráticas y cúbicas
usando regresión lineal. Para ser técnicamente correctos, el modelo es lineal es
los coeficientes pero no necesariamente en las variables. Podemos estimar una ec-
uación Y = b0 + b1*Log(X1) + b2*Cos(X2) + b3 * (1/X3) + error usando regre-
sión lineal. Pero no podemos estimar una ecuacion Y = b0 + Log(b1)*X1+error.
• El modelo impone una estructura que si no está presente en los datos resul-
tará en una pérdida de capacidad de pronóstico.
Sobre-ajuste
¿Qué es sobre-ajuste? Esto se refiere al problema de muchos métodos de predic-
ción de explicar casi a la perfección el comportamiento de la variable dependiente
en la muestra incrementando el nivel de complejidad del modelo. Tomemos el
caso más sencillo. Tenemos 4 observaciones del nivel de ingreso de una familia y
sus correspondientes 4 observaciones para su nivel de consumo.

30
Observacion Ingreso Consumo
1 100 92
2 120 113
3 140 123
4 160 145

Tabla 1: Relación entre Consumo e Ingreso.

Figura 1: Consumo como Función de Ingreso

Comencemos graficando los datos de la Tabla 1 en la Figura 1. La relación en-


tre Consumo e Ingreso parece bastante lineal. Así que nos animamos a estimar
una regresión lineal.
El programa que usamos para estimar esta regresión nos dice que la mejor
línea que pasa a través de esos puntos es:
Consumo = 8.4 + 0.845 * Ingreso
Podemos representar esta línea gráficamente (ver Figura 2). No sólo eso; el
ajuste parece ser muy bueno medido por la R-cuadrada=0.9816. La pregunta es:
¿No podríamos mejorarla un poco más aumentando la complejidad de nuestro

31
Figura 2: Modelo Lineal de Consumo como Funcion de Ingreso.

modelo? Por ejemplo, podríamos tratar de estimar una función cuadrática del in-
greso. Ingreso aparecería en la ecuación en dos términos: uno lineal y otro
cuadrático.
La ecuación estimada es:
Consumo = 18.65 + 0.682 * Ingreso + 0.000625 * Ingreso 2
La R-cuadrada ha subido a 0.9818 aunque lo ha hecho marginalmente. La Fig-
ura 3 muestra esta ecuación. La curvatura de la ecuación cuadrática apenas se
nota. Intentemos una vez mas complicar el modelo en aras de un mejor ajuste.
Probemos una ecuación cúbica. Esta vez la ecuación estimada es:
Consumo = − 983 + 24.58 * Ingreso − 0.186 * Ingreso 2 + 0.00047 * Ingreso 3
Esta nueva ecuación tiene una pecualiaridad. Explica el comportamiento del Con-
sumo en la muestra a la perfección!! Los errores son todos iguales a cero.
Convénzance. La R-Cuadrada es 1.00. La pregunta por supuesto es: ¿Es este un
buen modelo? ¿Si, no, por qué? Respondanse la pregunta antes de seguir leyendo.

32
Figura 3: Modelo Cuadrático de Consumo como Funcion de Ingreso.

Figura 4: Modelo Cúbico de Consumo como Función de Ingreso.

33
El modelo podrá ser bueno con la muestra a la mano, pero cuando tengamos
nuevas observaciones, muy probablemente su desempeño se derrumbará. El prob-
lema es que se nos fue la mano y tratamos de explicar la mas mínima peculiaridad
de la muestra. Estas peculiaridades o ruido no estarán presentes en nuevos datos y
el desempeño del modelo como predictor de nuevas observaciones será mala.
Pero, predecir nuevas observaciones es la razón de ser de un modelo de este tipo.
Por lo tanto, no podemos dejar que se complique demasiado. Un buen modelo, en
este contexto, será un modelo que explica bien nuevos datos.
Evaluando el Desempeño de un Modelo de Predicción
Antes de que veamos la solución al problema anterior, hablemos un poco de
cómo evaluamos pronósticos en Data Mining. La evaluación de un pronóstico se
hace con datos nuevos. Un modelo bueno es un modelo que explica bien el com-
portamiento de la variable dependiente. En otras palabras, es un modelo que
comete errores pequeños. Hay varias medidas de desempeño de un modelo. Todas
están construidas a partir del error que comete el modelo al pronosticar cada una
de las observaciones de la muestra de datos nuevas. Cada observación de este set
puede ser descompuesta en la parte pronosticada y el error. La parte pronosticada
es una función de las variables independientes:
Yi = Yî + ϵi
Yî = F(Xi)
Noten que hay una ecuación de este tipo para cada observación en la muestra.
Si llamamos al error cometido al pronosticar la observación “i”, ϵi , las siguientes
medidas nos pueden servir para evaluar el desempeño de un modelo:
1
ϵi2,
n∑
RMSE =

1

MAD = | ϵi | ,
n
1 ϵi
n ∑ yi
MAPE = | |.

34
Todas las siglas están en inglés. Esto les facilita la busqueda en la internet si
quieren profundizar. La primera es la raíz del error medio cuadrático. Esta es
probablemente la medida más comúnmente usada para evaluar desempeño de
modelos de pronóstico. Se parece mucho a error standard de la regresión. La difer-
encia fundamental es que este se aplica a datos nuevos. La segunda es el error abso-
luto medio que es muy parecida a la primera. La última es el error absoluto por-
centual medio. Igual que el anterior, pero expresado en términos relativos a la vari-
able dependiente. No es lo mismo decir, en promedio mi error es $10, que decir en
promedio me equivoco 1%.
Particiones
Volvamos ahora al problema del sobre-ajuste. De nada nos sirve tener un mod-
elo que sea muy preciso para pronosticar una muestra que ya conocemos, pero
malo para pronosticar una por conocer--es decir, nuevas observaciones. No esta-
mos en el negocio de pronosticar el pasado, sino el futuro. En casi todos los méto-
dos de Data Mining que discutiremos en esta clase trataremos de protegernos en
contra del sobre-ajuste dividiendo la muestra en 2 partes:
• Un set de entrenamiento (típicamente alrededor de 70% de los datos a
mano). Esta será la parte de la base de datos que el algoritmo podrá ver y de la
cual aprenderá. Tiene que ser lo suficientemente grande para capturar todos los
aspectos esenciales del proceso.
• Un set de prueba (el resto de la muestra). Estos datos nunca fueron “vistos”
por el algoritmo. Solo sirven para validar qué tan bueno es este algoritmo para
pronosticar datos “nuevos”.
Las observaciones en una base de datos se asignan aleatoriamente a las dos par-
ticiones arriba.
Ahora consideremos dos modelos cualesquiera. Podrían ser dos modelos de un
mismo tipo que solo se distinguen por sus distintos niveles de complejidad o po-
drían ser dos tipos de modelos completamente distintos. Como ejemplo del primer
tipo, podríamos estar evaluando dos regresiones con distinto número de variables
en el modelo. Por ejemplo, tenemos una ecuación que pronostica el consumo
como función única del ingreso y otra ecuación que además de ingreso incluye
35
sexo, edad, nacionalidad, educación. Como ejemplo del segundo tipo, podríamos
estar comparando la habilidad de un modelo de regresión lineal contra la de un
modelo de redes neuronales (neural networks). ¿Cómo decidimos cuál es mejor
modelo?
Si capacidad de pronóstico es nuestra métrica, deberíamos seleccionar el mod-
elo que exhiba el menor error en el set de prueba. En esta clase, ustedes estarán ex-
puestos a una serie de modelos diferentes que han surgido en distintos campos de
la ciencia (regresiones, arboles, knn, y otros más). Mi recomendación es que no se
enamoren de ninguna técnica en particular. El proceso de Data Mining es un
proceso de experimentación; de prueba y error hasta hallar el modelo que hace la
mejor labor de pronóstico para una base de datos en particular.

36
C APITULO CUATRO

KNN, K Vecinos Más


Cercanos
En el capítulo anterior discutimos el modelo de regresión lineal. Este es un modelo
muy estructurado. La forma de la relación entre la variable dependiente y las inde-
pendientes está pre-especificada como una ecuación lineal. Como resumen de la
información sobre esta relación, la ecuación estimada es increiblemente eficiente.
Podemos reducir una base de datos de miles o millones de observaciones a una
sola ecuación. Si quisieramos información adicional sobre el comportamiento de
las variables independientes podríamos incluir información sobre sus medias y des-
viaciones standards. Todo cabe en un archivo de unos cuantos kilobytes.
Al otro extremo de la regresión lineal se encuentra el “modelo” de K vecinos
más cercanos (conocido como KNN por sus siglas en inglés, K-nearest neighbors).
Este “modelo” no impone ninguna forma funcional a la relación entre la variable
dependiente y las variables independientes. Esto lo hace sumamente flexible. Esto
lo hace muy robusto a “misspecifications” sobre estas formas funcionales. Si tene-
mos la dispersión necesaria de las variables independientes, este método puede lle-
gar a aproximar funciones no-lineales de cualquier complejidad. El costo es que
no hay modelo. El modelo son los datos. No hay descripción o resumen de los da-
tos. Después de correr el modelo, no hay nada que ver. Cuando queremos
“guardar” el modelo, tenemos que guardar toda la base de datos.
El Método de KNN
Imaginen la siguiente situación (completamente hipotética debo apresurarme a
aclarar): Los estudiantes de un programa de MBA han tomado un examen al final
del primer año de su programa. El resultado de este examen es el criterio de deci-
sión para la promoción de los estudiantes a segundo año. Las tres partes del ex-

37
Figura 1: El Vecino Mas Cercano (Voronoi Tessellation)

amen son: Contabilidad, Finanzas y Organización. El problema es que la califica-


ción para la parte de organización del último estudiante que tomó el examen se ha
“extraviado”. Nadie sabe a ciencia cierta si el estudiante no entregó esa parte o si
la persona que cuidaba el examen perdió el documento. Lo cierto es que está per-
dido y por alguna razón que no nos importa en este instante, el examen no puede
repertirse.
¿Cómo pronosticamos el score que obtuvo este estudiante en Organización? El
profesor de Finanzas sugiere encontrar al estudiante en la lista que más se parece
al estudiante con el examen perdido. Tomar su nota de organización y asignársela
al estudiante con la calificación faltante. Al profesor de Estadística le gusta la idea,
pero sugiere una modificación: buscaremos a los 10 estudiantes que más se
parezcan al estudiante con la nota perdida, tomaremos sus notas de organización,
las promediaremos y asignaremos este promedio al estudiante con la calificación
faltante. Los dos profesores están sugiriendo el método de KNN; solo difieren en el
valor de K. Lo único que tenemos que precisar antes de hacer operativo este

38
Figura 2: El Vecino Mas Cercano (Variables Positivamente Correlacionadas)

método es que quiere decir “el estudiante o los estudiantes más parecidos”al estu-
diante con la nota perdida.
Como probablemente sospechan, si las variables son todas continuas, uno
puede usar la distancia euclidiana que utilizamos para construir grupos en Agrupa-
miento por K-Means, para hacer concreta la noción de cercanía entre observacio-
nes. En el ejemplo arriba, queremos pronosticar el valor de un score de un ex-
amen de Organización. Esta sería la variable dependiente. Basados en los scores
de Contabilidad y Finanzas, dos variables continuas, queremos hallar la observa-
cion más cercanas a la observación que queremos pronosticar. La Figura 1 mues-
tra un ejemplo. Cada punto en el gráfico representa una observación con dos
scores para las dos clases. Las áreas identificadas en el gráfico, conocidas como Vo-
ronoi tessellations, demarcan las regiones para las cuales cada uno de los puntos rep-
resentados por los asteriscos son el vecino mas cercano. Cuando una nueva obser-
vación aparece en este gráfico, simplemente identificamos el centroide del area y
asignamos al nuevo punto el valor de la variable dependiente correspondiente a
39
este centroide. En la Figura 1, los scores en Contabilidad y Finanzas parecen no
estar relacionados. Más realista es la Figura 2, donde si existe una correlación posi-
tiva entre los dos scores. Ambas son materias numéricas. Aun en esos casos, po-
demos definir las mismas areas. Cuando K>1 o cuando tenemos más de dos vari-
ables independientes a considerar, ya no es posible representar gráficamente como
funciona este método. Como a menudo ocurre, la intuición la desarrollamos con
ejemplos sencillos; después generalizamos.
En general, el algoritmo KNN para pronosticar el valor de la variable dependi-
ente de una nueva observación involucra los siguientes pasos:
• Calcular las distancias entre la nueva observación y cada una de las observa-
cion es en la base de datos
• Seleccionar las K observaciones en la base de datos más cercanas a la observa-
ció n para la que queremos una predicción
• Promediar los valores de la variable dependiente para las K observaciones
más cercanas. Este promedio es el pronóstico para la variable dependiente de la
nueva observación.
Noten algo sobre este tipo de algoritmos que les da su mal nombre . Antes de
que se necesite un pronóstico no es necesario hacer nada. No se estima ninguna ec-
uación. No se calcula ninguna distancia. Es sólamente en el momento justo en que
vamos a pronosticar que se hace todo el trabajo. Esto hace que a este tipo de algo-
ritmos se les llame “perezosos”.
KNN como Método de Clasificación
Uno de los atractivos del método de KNN es que este puede aplicarse tanto a
problemas de predicción como a problemas de clasificación. Los pasos que involu-
cra clasificar una nueva observación son casi idénticos a los reportados arriba.
Imaginen el siguiente ejemplo. Un nuevo cliente solicita un crédito en un banco.
El banco obtiene de él/ella información sobre una serie de variables que el banco
considera importante en la asignación de este crédito. ¿Cómo puede tomar una de-
cisión el banco sobre la naturaleza de este nuevo cliente? ¿Será un buen cliente (un

40
cliente que paga sus todas sus obligaciones financieras a tiempo) o será un mal cli-
ente (un cliente que hará default sobre su préstamo)?
El problema del banco es clasificar al nuevo cliente como perteneciente a una
de dos clases: buen cliente o mal cliente. El banco podría encontrar a los K clien-
tes en su base de datos que más se parecen al nuevo cliente. Para clasificar al
nuevo cliente, el banco pone a “votar” a los K-clientes más parecidos. Si la may-
oría de ellos son buenos clientes, el banco clasificará como buen cliente al nuevo
cliente. De otra forma, será clasificado como un mal cliente.
Midiendo Distancias: El Caso de Variables Categóricas
Cuando discutimos distancias en el contexto de Agrupamiento por K-Means,
impusimos, implícitamente, una restricción de que todas las variables tenían que
ser continuas. Cuando teníamos una variable categórica, la convertiamos a vari-
able binaria y la tratabamos como variable numérica. Es posible hacer las cosas un
poco mejor definiendo directamente lo que queremos decir por semejantes o pare-
cidos cuando una variable es categórica.
Supongamos que hacemos una encuesta que contiene una batería de preguntas
de tipo si/no cuyas respuestas dan lugar a una serie de variables de naturaleza bina-
ria. Cuando comparamos dos individuos por sus respuestas, habrán preguntas en
la que los dos individuos respondieron si, otras en las que los dos respondieron no,
otras en las que el primer individuo dijo si y el segundo no y viceversa. Dados dos
individuos i y j, podríamos tabular el grado de coincidencia o desacuerdo entre los
dos con una tabla como la Tabla 1.

Individuo j
SI No
Individuo i Si a b
No c d

Tabla 1: Coincidencia de Respuestas entre Dos Observaciones.

Las medidas de semejanza más comunmente usadas en análisis de KNN son:

41
a+d
• Coeficiente de Coincidencia = a + b + c + d . Este coeficiente mide simplemente
el porcentaje de veces en que los dos individuos coincidieron en su respuesta, sea
esta si o no.
a
• Coeficiente de Jaquard = a + b + c . Este coeficiente ignora cuando dos indi-
viduos coinciden en decir no a una pregunta. Sólo las coincidencias positivas im-
portan. Si hay una pregunta en la encuesta que dice “Tiene usted cancer?” y dos

p1 p2 p3 p4 p5 p6 p7 p8
1 0 0 0 1 0 0 0 1
2 0 0 1 0 1 0 1 1
3 1 1 0 1 0 1 0 1

Tabla 2: Respuestas de 3 individuos en una encuesta hipotética.

personas responden que si esto las hace muy semejantes. Cuando ambas respon-
den que no, esta coincidencia no tiene el mismo impacto. De hecho no tiene nin-
guno.
Considere ahora como ejemplo, los 3 individuos en la Tabla 2 y sus respuestas
a las 8 preguntas representadas por las columnas p1-p8. Trate de calcular los dos
coeficientes de semejanza sugeridos arriba. Verifique que los coeficientes de coinci-
dencia entre los individuos 1 y 2 es 0.5, entre los individuos 1 y 3 es 0.625 y entre
los individuos 2 y 3 es 0.125. Los coeficientes de Jaquard son respectivamente 0.2,
0.4 y 0.125. Ambas métricas indican que los individuos 2 y 3 son los más distintos
y que los individuos 1 y 3 son los más parecidos.
Midiendo Distancias cuando hay variables mixtas
En la mayoría de los casos, las bases de datos contienen variables de los dos ti-
pos: variables continuas y variables categóricas. En estos casos es necesario definir
nuevas métricas que consoliden la información sobre distancia y semejanza en un
sólo indicador. La formulería necesaria para hacerlo está mas allá de los que
quiero cubrir en estas notas. Baste decir que la mayoría del software que se utiliza
en Data Mining, sea comercial o sea open-source, cuenta con la capacidad para
calcular estas métricas mixtas.

42
Selección de K
La “complejidad” del modelo de KNN está inversamente relacionada al ta-
maño de K. Si K es igual a 1, esto quiere decir que el modelo contiene “n”
parámetros (las “n” medias utilizadas para pronosticar nuevas observaciones). En
general, uno puede pensar en el modelo KNN teniendo N/K parametros efecti-
vos.
¿Cómo seleccionamos K? De la misma forma que seleccionamos complejidad
en el contexto del modelo de regresión lineal. Pondremos a competir a modelos
con distintos valores de K. La competencia consiste en pronosticar con el menor
error las “nuevas” observaciones de la muestra de validación. El valor de K que re-
sulte en el menor error (como quiera que este sea medido; por ejemplo, podría ser
RMSE) será el K óptimo.

43
CAPITULO CINCO

Regresión Logística

Consideren el caso de un banco que recibe de una empresa una solicitud de


préstamo. El banco conoce algunas características de la empresa en los últimos
años como su nivel de endeudamiento actual, su nivel de ventas, su nivel de utili-
dades. Basado en estas características, el banco debe tomar una decisión sobre si
prestar o no el dinero a la empresa. En otras palabras, el banco debe clasificar a la
empresa como miembro de una de dos clases: las empresas que pagarán su
préstamo y las que no lo harán.
En este capítulo comenzaremos la discusión de modelos de clasificación. A se-
mejanza de los modelos de predicción, los modelos de clasificación son modelos su-
pervisados de Data Mining. En otras palabras, hay una variable dependiente que
nos interesa explicar o pronosticar. Pero a diferencia de los modelos de predicción,
esta variable ya no es una variable continua, sino una categórica. Lo que quere-
mos pronosticar ahora es si una observación pertenece o no a un grupo finito de
clases.
La regresión logística es un método de clasificación que supone que podemos
modelar la probabilidad, y más precisamente una transformación de esta probabili-
dad, como una función lineal de las variables dependientes. En Estadística, este
tipo de modelos se conocen como Modelos Lineales Generalizados.
Por qué no Seguir Usando Regresión Lineal?
Consideren el siguiente ejemplo. Tenemos datos sobre las preferencias de 1,000
consumidores y algunas variables demográficas sobre ellos. En particular, supon-
gan que estamos estudiando quienes son los subscriptores a un periódico local

44
como función, inicialmente, de la edad del subscriptor. Más adelante considerare-
mos edad e ingreso. La variable dependiente y está codificada de la siguiente
manera: es igual a 1 si la persona se subscribe al periodico y 0 si no se subscribe.
Aparte de que ser binaria, no hay nada especial sobre esta y y podríamos intentar
correr una regresión como la siguiente:

y = β0 + β1x1 + e

donde x1 es la edad de la persona.


Antes de discutir la interpretación de los coeficientes pensemos por un segundo
sobre el significado de un pronóstico formulado a partir de esta ecuación. Recuer-
den que el pronostico de una regresión es nuestro estimado del valor esperado de
la variable dependiente como función de los regresores. Pero, ¿cuál es el valor es-
perado de una variable que sólo toma dos valores 0 y 1?

E(y | x) = 1 * prob(y = 1 | x) + 0 * prob(y = 0 | x)


= prob(y = 1 | x)
El pronóstico no es otra cosa que nuestro estimado de la probabilidad de éxito
(y = 1) como función de las x's; en nuestro ejemplo, la probabilidad de que una
persona se subscriba al periódico como función de la edad. Pongámosle números.
Supongan que corro la regresión y obtengo los siguientes resultados:
y ̂ = − 1.7007 + 0.06454 * x
La probabilidad de que una persona se subscriba al periódico es una función
lineal de la edad de esta persona. A mayor sea la edad, mayor será la probabilidad
de que esta persona se subscriba. Dado que las edades oscilan entre 20 y 55, po-
demos concluir que este es un periódico que llama la atención a personas mayores
principalmente. El coeficiente de la pendiente puede interpretarse de la siguiente
manera: por cada año de edad, la probabilidad de que una persona se subscriba al
periódico aumenta 6.45%.

45
Supongamos que quiero hacer mi pronóstico sobre la probabilidad de que una
persona se subscriba al periódico para tres edades distintas: 25, 35 y 45. “Fácil”,
diran ustedes. Solo usamos la ecuación arriba y substituimos por x por los valores
25, 35 y 45 respectivamente. Los pronósticos puntuales para las tres edades son:
-0.087, 0.558, 1.203. El problema es que sólo el pronóstico del centro tiene sen-
tido. Las probabilidades son números mayores que 0, pero menores que 1. ¿Qué
quiere decir una probabilidad de -8.7% o de 120.3%?
Derivando la Regresión Logística
El problema inmediato que enfrentamos es cómo forzamos nuestros pronósti-
cos a caer siempre en el intervalo {0,1}. Una posible solución implementada por
la regresión logística es hacer a la probabilidad de éxito una función no lineal de los
regresores. En particular, renombrando prob(y = 1 | x) como p simplemente:

exp(β0 + β1x1)
p=
1 + exp(β0 + β1x1)

Esta expresión podrá lucir intimidante al principio, pero verán que resulta en
un modelo lineal muy fácil de interpretar. Noten primero que nada que definir p
de esta manera la obliga a estar comprendida entre 0 y 1. El numerador es siem-
pre un número positivo y el denominador (también siempre un número positivo)
es un poco mayor que el numerador. El objetivo de las derivaciones a continua-
ción es dejar en el lado derecho de la ecuación una expresión lineal de las xs.

p exp(β0 + β1x1) exp(β0 + β1x1)


= ÷ (1 − )
1 − p 1 + exp(β0 + β1x1) 1 + exp(β0 + β1x1)
p exp(β0 + β1x1) 1
= ÷
1 − p 1 + exp(β0 + β1x1) 1 + exp(β0 + β1x1)
p exp(β0 + β1x1) 1 + exp(β0 + β1x1)
= *
1 − p 1 + exp(β0 + β1x1) 1
p
= exp(β0 + β1x1)
1−p

46
p
log( ) = log(exp(β0 + β1x1))
1−p
p
log( ) = β0 + β1x1
1−p

La probabilidad de éxito podrá no ser una función lineal de las x's, pero una
p
función bastante simple de la probabilidad, log( 1 − p ), si lo es. La última línea de
la derivación es la única que me importa.
En el caso general de muchas variables dependientes, la regresión logística es-
tima la ecuación
p
log( ) = β0 + β1x1 + ⋯ + βn xn
1−p

Pronosticando Probabilidades
Corramos entonces la regresión logística para nuestro ejemplo sobre sub-
scripciones y edad. La ecuación obtenida es:
p
log( ) = − 26.5240 + 0.7810 * x1
1−p

Ahora podemos usar esta ecuación para pronosticar la probabilidad de sub-


scripci ón para personas de distintas edades. Usemos los valores que pusieron en
problemas a la regresión lineal simple x={25,35,45}. Para una edad de 35,
p
log( ) = − 26.5240 + 0.7810 * 35
1−p
p
log( ) = 0.8111
1−p
p
exp(log( )) = exp(0.8111)
1−p
p
= 2.2504
1−p

p = 0.69235.

47
Para los otros dos valores, las probabilidades son 0.0091% y 99.9% respectiva-
mente.
La interpretación de coeficientes de la regresión logística difiere de lo que sabe-
mos sobre la regresión lineal. Recuerden que si yo estimo una ecuación lineal, diga-
mos
y = β0 + β1x1

el coeficiente β1 mide la sensitividad de la variable dependiente, y, a cambios en la


variable independiente x1. Más precisamente, decimos que β1 es el cambio en y
cuando x1 cambia una unidad.
Cuando corremos una regresión logística estamos estimando la ecuación
p
log( ) = β0 + β1x1.
1−p
p
Aquí podríamos decir que β1 es el cambio en log( 1 − p ) cuando x1 cambia una
p
unidad. Estaríamos en lo cierto, pero log( 1 − p ) no es una variable “natural”. Lo
que quisieramos hacer es medir el efecto de un cambio de una unidad en x1 sobre
p. Quisieramos decir cosas como: “un aumento en 1 año en la edad de una per-
sona, aumenta (o reduce) la probabilida d de que esta persona se subscriba al
periódico en 0.03”. Desafortunadamente ya no es posible dar una respuesta con-
stante que sea válida para todo el rango de valores de edad. La sensibilidad de la
probabilidad de subscripción a cambios en edad depende la edad misma. Técnica-
mente, la pendiente de la función de probabilidad con respecto a edad no es con-
stante como pueden comprobar en la Figura 1. La pendiente es casi horizontal
para niveles bajos de edad. Se hace muy empinada para valores cercanos a 35 y se
vuelve casi horizontal para valores cerca de 40.
Lo que todavía podemos interpretar en la ecuación estimada es el signo de los
coeficientes. Aunque el 0.7810 en la ecuación arriba no sea fácilmente interpret-
able, su signo positivo si lo es. Hay una relación positiva entre edad y probabilidad
de subscripción.

48
Figura 1: Relación entre Edad y Probabilidad de Subscripción.

Clasificando Observaciones
En esta sección vamos a agregar una nueva variable a nuestro análisis. Supon-
gan que también tenemos información sobre el nivel de ingreso de la personas en
nuestra muestra. Esta variable está medida en miles de dólares. Supongamos que
estimamos una ecuación de regresión logística múltiple esta vez. Obtenemos:
p
log( ) = − 12.8129 + 0.2261 * Edad + 0.3811 * Ingreso
1−p

Lo que hemos dicho arriba aplica a esta nueva ecuación. Parece haber una rela-
ción positiva entre probabilidad de subscripción y ambos: edad e ingreso. Los sub-
scriptores de esta publicación parecen ser personas mayores y de dinero. Ahora su-
pongan que alguien nos pide clasificar a tres nuevos consumidores sobre los que
tenemos datos como “Subscriptores” o “No Subscriptores” (ver Tabla 1). ¿Cómo
decidirían ustedes? Piensen antes de seguir leyendo.

49
Consumidor Edad Ingreso
1 34 8
2 38 10
3 42 12
Tabla 1: Nuevos Consumidores

Un criterio aceptable sería: voy a clasificar a un individuo como subscriptor si


la probabilidad de que sea subscriptor es alta. Cuando hay sólo dos posibilidades:
éxito o fracaso, una probabilidad alta es una probabilidad mayor que 0.5. Nuestro
criterio entonces es: si la probabilidad de subscripción es mayor que 0.5 clasifico a
la persona como subscriptor. De otra forma lo clasifico como no-subscriptor.
Cuando aplicamos los resultados de la regresión anterior a esta tabla obtenemos la
siguiente tabla:

Consumidor Edad Ingreso Log-Odds Probabilidad Clasificación


1 34 8 -2.0767 0.1113 No Subscriptor
2 38 10 -0.4101 0.3988 No Subscriptor
3 42 12 1.2565 0.7784 Suscriptor
Tabla 2: Clasificación de los Nuevos Consumidores

Si regresamos a la ecuación de pronóstico una vez más, podemos pensar en


como visualizar este proceso de clasificación. La ecuación dice:
p
log( ) = − 12.8129 + 0.2261 * Edad + 0.3811 * Ingreso
1−p

Clasificaremos a alguien como subscriptor, si la probabilidad de subscripción es


p
mayor que 0.5. ¿Qué valor toma log( 1 − p ) cuando p=0.5? Toma el valor de 0.
Esto significa que la ecuación
−12.8129 + 0.2261 * Edad + 0.3811 * Ingreso = 0

define una una frontera de decisión que podemos visualizar. La Figura 2 nos mues-
tra esta frontera y nos muestra las dos regiones a las que da lugar esta frontera. La
p
región magenta es la región donde log( 1 − p ) es positiva. Cualquier punto que
caiga en esta región sera automáticamente clasificado por nuestro método como

50
p
“Subscriptor”. La región celeste es la región donde log( 1 − p ) es negativa. Cu-
alquier punto que caiga en esta región será automaticamente clasificado como
“No Subscriptor”. En el gráfico, las observaciones están representadas como 1s o
0s dependiendo de si la persona se subscribe o no respectivamente. Noten que el
método cometerá errores en su clasificación. Los errores están representados en
color rojo. Otros métodos como Support Vector Machines y Análisis Discrimi-
nante comparten con la regresión logística esta característica de fronteras de deci-
sión lineales. En tres dimensiones, estas fronteras son planos y en más de tres di-
mensiones son hiper-planos.
Evaluando la Calidad de la Clasificación
Una vez que hemos estimado una ecuación logística, podemos utilizarla para
clasificar nuevas observaciones. ¿Cómo podemos formarnos una idea del éxito que
tendra un clasificador con nuevos datos? Podemos usar una estrategia idéntica a la

Figura 2: Frontera de Decisión para Regresión Logística.

51
utilizada en regresión lineal. Podemos separar las observaciones con que contamos
en dos particiones: una partición de entrenamiento y una partición de prueba.
Con la partición de entrenamiento estimamos los coeficientes de la regresión logís-
tica. Una vez que tenemos esta ecuación, podemos pronosticar la probabilidad de
éxito para las observaciónes de la partición de prueba. Todas aquellas observacio-
nes con probabilidades de éxito mayores de 0.5 serán clasificadas como éxitos y el
resto como fracasos. Después podemos comparar nuestros pronósticos con las ver-
daderas membresías de estas observaciones. Cuatro posibilidades surgen :
• Exitos son pronosticados como éxitos
• Exitos son pronosticados como fracasos
• Fracasos son pronosticados como éxitos
• Fracasos son pronosticados como fracasos.
Cuando esta información es organizada en una matriz, obtenemos la llamada
matriz de confusión. A partir de esta matriz, podemos construir una serie de métri-
cas para evaluar la calidad de nuestra clasificación en la partición de validación.
Dos muy sencillas son:
• Porcentaje de Aciertos es igual al número de observaciones en el caso 1 y el
caso 4 divididos entre el número total de observaciones a clasificar.
• Porcentaje de Error es igual al número de observaciones en el caso 2 y 3 di-
vididos entre el número total de observaciones a clasificar.

52
CAPITULO SEIS

Arboles

En el capítulo anterior, estudiamos el método de regresión logística. Este es un


ejemplo de un método de clasificación paramétrico. Estimamos los coeficientes o
parámetros de una ecuación lineal que conecta las variables independientes con la
probabilidad de éxito a través de una función sencilla. Los árboles de clasificación,
al otro extremo, son un ejemplo de un método no-paramétrico de clasificación. La
relación entre la variable dependiente y las variables independientes no asume nin-
guna forma funcional especial. De hecho, la relación se representa gráficamente.
A diferencia de la regresión logística, que sólo puede ser usado para analizar vari-
ables binomiales o binarias, los arboles pueden ser aplicados a variables categori-
cas con más de dos categorías. Los árboles fueron propuestos independientemente
en los años ochentas por Leo Breiman en Estadística y Thomas Quinlan en Com-
puter Science.
El objetivo de un árbol de clasificación es asignar un grupo de observaciones a
un número reducido (aunque no necesariamente igual a 2) de clases, usando infor-
mación sobre un grupo de variables independientes. Aunque las matemáticas de la
técnica estén más alla de lo que nos interesa en este curso, la presentación de los
resultados es sumamente intuitiva. El lector que haya tomado un curso de Manage-
ment Science, notará la semejanza con los árboles de decisión y recordará lo efecti-
vos que éstos son para representar un proceso de toma de decisiones. Los árboles
de clasificación comparten esta propiedad atractiva.
La construcción de un árbol, que discutimos en la siguiente sección, se parece
mucho a la manera en que un doctor llega a un diagnóstico sobre un paciente. El
médico hace una serie de preguntas de tipo si/no (Tenés fiebre? Te duele la

53
Figura 1: Ejemplo Original de un Arbol de Clasificación.

cabeza? Tenés tos? Estás cansando?). Dependiendo de las respuestas que el


médico va a recibiendo, éste cambia las preguntas que hace y finalmente llega a
una conclusión. De hecho, una de las primeras aplicaciones de árboles en Estadís-
tica fue la clasificación de pacientes que acababan de tener un ataque al corazón
como miembros de dos clases: alto riesgo y bajo riesgo de experimentar complica-
ciones fatales en los 30 días posteriores al ataque:
“En el Centro Medico de la Universidad de California en San Diego, cuando una persona que
ha sufrido un ataque al corazon es admitida, 19 variables son recogidas durante las primeras 24
horas. Estas incluyen presión arterial, edad y 17 otras variables binarias o numéricas resumiendo
todos los síntomas considerados indicadores importantes sobre la condición del paciente.
El objetivo de un estudio reciente (...) fue desarrollar un método para identificar pacientes de
alto riesgo (que no sobreviviran en los próximos 30 días) sobre la base de la información recogida
durante las primeras 24 horas. La Figura 1 ilustra un set de reglas estructuradas en un árbol de
clasificación que fue producido en ese estudio. Las variables utilizadas en el árbol son presión arte-
rial (BP), edad (age) y taquicardia (ST).

54
La simplicidad del arbol levanta sospechas que su precisión puede ser fácilmente mejorada con
los métodos standard de clasificación estadística. Sin embargo, cuando estos fueron usados, la preci-
sión del proceso de clasificación disminuyo.” (Breiman et al., 1980)
El Algoritmo CART: Cómo Funciona?
El nombre técnico de esta técnica es Partición Binaria Recursiva. Ahora verán
por qué. Consideremos el ejemplo ilustrado en la Figura 2. Tenemos un grupo hi-
potético de 48 individuos sobre los cuales tenemos informaci ón sobre edad e in-
greso. Sabemos también si estos individuos respondieron positiva o negativamente
a una oferta de venta. El color en el gráfico indica la clase a la que pertenecen: ne-
gro refleja los compradores y rojo refleja los no compradores. Nuestra misión es
construir una serie de reglas basadas en ingreso y edad para clasificar a un indi-
viduo ya sea como comprador o como no-comprador. Noten de entrada que méto-
dos de clasificación como regresión lineal o regresión logística que resultan en

Figura 2: Ejemplo de Construcción de Arbol de Clasificación

55
fronteras de decisión lineales están condenados a fracasar. No hay línea que pueda
separar las dos clases exitosamente.
Echenle un vistazo al árbol de un par de páginas atrás. ¿Cómo fue seleccionada
la presión arterial para aparecer como primera variable en el arbol? ¿Por qué le
ganó a las otras 18 variables posibles? Además, ¿cómo fue seleccionado el valor de
91 para hacer la pregunta inicial? Claramente necesitamos una métrica para en-
tender porque algunas variables y algunos puntos de corte son óptimos. Esta
métrica es el índice de Gini (no tiene nada que ver con la medida de desigualdad
de ingreso).
El índice de Gini trata de medir la “impureza” de una partición. Pureza
máxima se alcanza cuando todas las observaciones en una partición pertenecen a
la misma clase. Pureza mínima se alcanza cuando las observaciones en una parti-
ción están igualmente repartidas entre las clases posibles (mitad y mitad si hay dos
1 1 1
clases; ( , , ) si hay tres clases y asi respectivamente). El índice de Gini está de-
3 3 3
finido:
pi2

G =1−

donde el subíndice corre de 1 al número de clases (2 en este ejemplo). En nuestro


ejemplo, en la muestra tenemos 32 observaciones de individuos que compran y 16
observaciones de individuos que no compran. Entonces
32 2 16
G =1−( ) − ( )2 = 0.4444.
48 48
Ahora el algoritmo considerará todos y cada uno de los cortes verticales u hori-
zontales que dividan la muestra original en 2 particiones. Por ejemplo, comen-
zando con edad probaremos todos los cortes posibles:
• Es Edad < 19?
• Es Edad < 20?
• ...
• Es Edad < 31?
56
Después continuaremos con ingreso:
• Es Ingreso < 5.5?
• Es Ingreso < 6.5?
• ...
• Es Ingreso < 9.5?
Para cada uno de esos cortes posibles, tenemos una partición resultante. Dado
que el objetivo es maximizar la métrica de pureza y el índice de Gini mide im-
pureza, la partición ganadora será aquella que logre reducir el índice lo máximo
posible. Una vez que hemos encontrado el ganador, hemos logrado partir la mues-
tra original en dos particiones. Ahora aplicamos el mismo proceso a cada una de
las particiones resultantes y así sucesivamente (y así recursivamente).
En nuestro ejemplo, el corte que resulta en la reducción máxima en el índice
de Gini es “Es Ingreso < 8.5?”. Esta partición puede verse en la Figura 3 y resulta
en la primera parte del árbol que podemos ver en la Figura 4. Comentemos rápi-
damente este árbol. El árbol pregunta incialmente por el nivel de ingreso. Si el
nivel de ingreso es menor que 8.5, tomamos el nodo de la izquierda. En este nodo
hay 32 clientes en total. De ellos, 24 compran el producto y 8 no compran el pro-
ducto. Podríamos afirmar entonces que la probabilidad de compra en este nodo es
75%. Si tuvieramos que clasificar a una persona que caiga en este nodo, muy prob-
ablemente la clasificaríamos como un comprador (realmente, técnicamente, esto
depende de la probabilidad de corte que estemos usando. Esta a su vez, dependerá
de los costos relativos de cometer los dos errores en clasificación).
Si el nivel de ingreso es mayor que 8.5, tomamos el nodo de la derecha. En este
nodo hay 16 clientes. De ellos, 8 compran y 8 no compran. Es decir, en este nodo
la probabilidad de compra es 50%. Sin mayor información sobre los costos de
cometer los distintos errores en clasificación seríamos indiferentes entre clasificar
alguien que caiga en este nodo como comprador o no.
Ahora el proceso se repite. Primero para la partición superior (ingreso>8.5).
Allí el corte que maximizará pureza es obvio (¿Es edad < 25?). Con este corte lo-
gramos pureza máxima y ya no haremos más preguntas sobre estas dos particio-

57
Figura 3: Primera Partición.

Figura 4: Primer Nivel del Arbol.

nes nuevas resultantes. Para la partición inferior (ingreso<8.5), no hay corte que
logre pureza perfecta. Así que, de nuevo trataremos de minimizar el Gini. El corte
que logra es, por casualidad, el mismo que para la partición superior, “Es edad <
25?”.
En este segundo árbol, tenemos 4 posibles nodos finales. En tres de ellos, la
pureza es máxima en el sentido de que todos los clientes que caigan en esas parti-
ciones pertenecen a uno de los dos grupos: compradores o no compradores. Noten

58
una característica atractiva sobre el arbol de clasificación: si el arbol es pequeño,
es increíblemente intuitivo. De hecho, nos ayuda enormemente a construir el per-
fil de quienes son nuestros compradores. De acuerdo a este segundo árbol, los com-
pradores son o clientes de alto ingreso y edad relativamente alta (grupo en la ex-

Figura 5: Segunda y Tercera Partición.

Figura 6: Segundo Nivel del Arbol.

59
trema derecha de la Figura 6) o clientes de ingreso bajo y edad relativamente baja
(grupo en la extrema izquierda).
Finalmente, sólo nos queda una partición con que lidiar (edad > 25 e ingreso <
8.5). Para esta, el corte que logra pureza perfecta también es obvio (ingreso < 6.5).
La muestra original ha sido cortada en una serie de rectangulos (recuerden que
solo cortes verticales u horizontales son permitidos) que forman las distintas parti-
ciones. En cada partición hemos logrado pureza perfecta. La partición final y el ar-
bol final pueden verse en las Figuras 7 y 8.

Figura 7: Ultima Partición

En este ejemplo inicial, hemos ilustrado el principio de que aumentando la


complejidad de un modelo, es posible eliminar todo error en los datos que se nos
da para entrenar ese modelo. La complejidad de un árbol se mide por el número
de niveles que tiene el árbol. La pregunta crítica en este momento es: ¿Vale la
pena alcanzar pureza perfecta o debimos habernos detenido antes de lograrla?

60
Figura 8: Arbol Final

El lector que ha leído atentamente estas notas ya conoce la respuesta. Aumen-


taremos la complejidad del modelo siempre y cuando esto nos compre poder de
predicción con observaciones nuevas. Por lo tanto, seleccionaremos la complejidad
del modelo usando validación simple o validación cruzada. Usando una muestra
de entrenamiento estimaremos árboles de distintas complejidades. Utilizaremos
una muestra de prueba para evaluar el desempeño de estos distintos árboles. Nos
quedaremos con el árbol que pronostique mejor esta muestra de prueba. Ese es el
nivel óptimo de complejidad de un árbol.
Bondad de Ajuste
¿Qué tan exitoso es un árbol como método de clasificación? La métrica que
usamos para evaluar el árbol es la misma que utilizamos para evaluar la regresión
logística o KNN para clasificación. Le pedimos al algoritmo que clasifique cada ob-
servación en la muestra de prueba y comparamos estos resultados con las clases ob-
servadas en la realidad.
Tratemos de calcular la matriz de confusión para los árboles de la sección ante-
rior. Para el primer árbol que corresponde a las Figuras 3 y 4, nuestra predicción
para la partición inferior es que todos los clientes en esa partición serán compra-
dores. Acertamos para 24 de los 32 (los puntos negros) y nos equivocamos en 8 de

61
ellos (los puntos rojos). Para los clientes en la particion superior, pronosticamos que
todos los clientes son compradores (realmente somos indiferentes. Pudimos haber-
los pronosticados todos no-compradores también). Por lo tanto, acertamos en 8 de
16 y nos equivocamos en 8 de 16. La tasa de error global es 16/48 = 33.33%. A
manera de ejercicio traten de calcular la tasa de error para el segundo y tercer ar-
bol.
Arboles de Regresión
Es fácil adaptar el algoritmo arboles de clasificación para lidiar con problemas
de predicción. Los invito a que traten de pensar que harían para desarrollar este
algoritmo antes de continuar leyendo esta sección.
La idea de particiones recursivas binarias todavía aplica al problema de predic-
ción (variable dependiente es continua ahora). Lo que cambia es la métrica que
utilizamos para hallar el mejor corte y la mejor variable para cortar. Consideren
una variación del ejemplo que hemos discutido en este capítulo. Ahora en lugar de
clasificar a un cliente como comprador o no, queremos pronosticar cuanto va a
comprar un cliente. La última columna de la Figura 11 contiene esta información.
Los datos fueron creados artificialmente usando la siguiente regla:
• ingreso bajo, edad baja, compras = Normal (media=50, desviacion stan-
dard=5)
• ingreso alto, edad alta, compras = Normal (media=100, desviacion stan-
dard=10)
• ingreso bajo, edad alta, compras = Normal (media=10, desviacion stan-
dard=2)
• ingreso alto, edad baja, compras = Normal (media=30, desviacion stan-
dard=5)
Es posible con estos datos correr una regresión de compras contra edad e in-
greso. Si lo hacemos obtenemos, la ecuación
Compras = − 70.44 + 2.68 * edad + 8.03 * ingreso
con un R-cuadrado de 27.72% y un RMSE=29.765.

62
Para construir nuestro árbol de regresión podríamos usar la métrica del
RMSE. Nuestro prónostico en cada partición será igual al promedio de la variable
compras de todos los miembros de esa partición. Por ejemplo, antes de empezar a
crear nuestro arbol, todas las observaciones pertenecen a la misma partición. Nues-
tro pronóstico es igual a la media de todas las observaciones. El RMSE es igual a
35.012.
Ahora empezamos a considerar todos los cortes posibles ya sea de edad o de in-
greso. Esto es exactamente igual que para el caso de clasificación. Pero ahora para
cada dos particiones resultantes calculamos el RMSE en cada partición (en lugar
del indice de Gini). El corte que resulte en la mayor reducción en el RMSE es
nuestra partición ganadora. La variable ganadora resulta ser ingreso (y el corte
<6.5). El RMSE cae a 29.00. El árbol resultante puede verse en la Figura 9. El ár-
bol se lee de la siguiente manera. Si el ingreso del cliente es mayor que 6.5, enton-
ces mi predicción de sus compras será $70.95. De lo contrario, mi predicción cae
a $28.71.

Figura 9: Primer Nivel del Arbol de Regresión.

Ahora con las dos particiones resultantes, comenzamos nuestro trabajo de


nuevo. Buscamos por separado para cada partición, cuál es la mejor variable y el
mejor corte. En este caso, el árbol resultante recobra los parámetros utilizados
para simular los datos con sorprendente exactitud. La Figura 10 reporta nuestro
arbol final. El RMSE de este arbol ha caido a 8.55, el 28% del de la regresión lin-
eal.

63
Figura 10: Arbol de Regresión Final.

Figura 11: Datos Usados en este Capítulo.

64
CAPITULO SIETE

Naive Bayes

A George E. P. Box se le atribuye la famosa frase: “Todos los modelos son falsos...,
pero hay algunos que son útiles”. La frase aplica a la perfección al modelo que nos
ocupa en este capítulo--Naive Bayes. El modelo está construido sobre un supuesto
“ingenuo” que es falso en la inmensa mayoría de los casos--independencia condi-
cional, pero que resulta en una simplificación de la fórmula de Bayes que permite
que el modelo puede estimarse con bases de datos de tamaño razonable. Aunque
falso, Naive Bayes simple y sencillamente funciona. Además es rápido!
Comenzaremos con un breve refresher de los conceptos de probabilidad condi-
cional, independencia y el teorema de Bayes. Después explicaremos el supuesto so-
bre el que se construye Naive Bayes.
Probabilidades Conjuntas, Marginales y Condicionales
Supongan que tenemos información sobre género, nacionalidad y concentra-
ción de estudio (mercadeo o finanzas) para un número grande de estudiantes de
una universidad cualquiera. Esta información podría darsenos en la forma de una
tabla de conteos como la Tabla 1. Cada fila nos da el número de estudiantes que
satisfacen una combinación particular de género, nacionalidad y especialización.
Por ejemplo, la primera fila nos dice que hay 959 estudiantes que son hombres y
centroamericanos y siguen la especialización de Finanzas.
La misma información se nos podría presentar en términos porcentuales como
lo hace la Tabla 2. Para simplificar notación, llamemos X1 a la variable género
con posibilidades {H, M}. Llamemos X2 a la variable nacionalidad con posibili-
dades {C, S, N} y llamemos Y a la variable especialización con posibilidades {F,
M}. Ahora la primera fila nos dice que, de todo este grupo de estudiantes, el

65
Genero Nacionalidad Especializacion Conteo
Hombre CentroAmerica Finanzas 959
Hombre CentroAmerica Mercadeo 172
Hombre NorteAmerica Finanzas 271
Hombre NorteAmerica Mercadeo 140
Hombre SurAmerica Finanzas 337
Hombre SurAmerica Mercadeo 57
Mujer CentroAmerica Finanzas 253
Mujer CentroAmerica Mercadeo 244
Mujer NorteAmerica Finanzas 11
Mujer NorteAmerica Mercadeo 314
Mujer SurAmerica Finanzas 27
Mujer SurAmerica Mercadeo 215
3000
Tabla 1: Conteos de Estudiantes Universitarios.

Probabilidades
Genero Nacionalidad Especializacion
Conjuntas
Hombre CentroAmerica Finanzas 0.3197
Hombre CentroAmerica Mercadeo 0.0573
Hombre NorteAmerica Finanzas 0.0903
Hombre NorteAmerica Mercadeo 0.0467
Hombre SurAmerica Finanzas 0.1123
Hombre SurAmerica Mercadeo 0.019
Mujer CentroAmerica Finanzas 0.0843
Mujer CentroAmerica Mercadeo 0.0813
Mujer NorteAmerica Finanzas 0.0037
Mujer NorteAmerica Mercadeo 0.1047
Mujer SurAmerica Finanzas 0.009
Mujer SurAmerica Mercadeo 0.0717
1.0000
Tabla 2: Probabilidades Conjuntas

0.3197 son hombres y centroamericanos y siguen la especialización de Finanzas.


Algebraicamente:
P(X1 = H ∩ X2 = C ∩ Y = F ) = 0.3197

Ustedes recordarán que este tipo de probabilidades se conocen como probabilida-


66
dades conjuntas. Nos informan para cada combinación de atributos (género, nacion-
alidad, especialización) cuál es la probabilidad de ocurrencia simultánea. No hay
descripción más completa del comportamiento de estas variables y sus interrelacio-
nes que esa tabla de probabilidades conjuntas.
A partir de esta tabla de probabilidades conjuntas podemos calcular otras prob-
abilidades de interés (como probabilidades marginales y condicionales). Por ejem-
plo, podríamos preguntar cuál es la probabilidad de que una persona tomada al
azar de este grupo estudie Finanzas o Mercadeo. De los tres atributos, nos estamos
concentrando en uno en particular--especialización. Estamos buscando su prob-
abilidad marginal. ¿Cómo calculamos esa probabilidad? Hay 3000 estudiantes. De
ellos 1858 estudian Finanzas (959+271+337+253+11+27) y 1142 estudian Merca-
deo (172+140+57+244+314+215). Entonces la probabilidad marginal de estudiar
Finanzas es 0.6193 y de estudiar Mercadeo es 0.3807. Algebraicamente:

P(Y = F ) = 0.6193
P(Y = M ) = 0.3807
Podemos también calcular probabilidades condicionales. Por ejemplo, podría-
mos preguntarnos: Si sabemos que un estudiante es hombre y centroamericano,
cuál es la probabilidad de que estudie finanzas. Algebraicamente estamos pregun-
tando:

P(Y = F | X1 = H ∩ X2 = C)

Y confio que todos recordarán cómo calcular esa expresión usando la definición
de probabilidad condicional:

P(Y = F ∩ X1 = H ∩ X2 = C)
P(Y = F | X1 = H ∩ X2 = C) =
P(X1 = H ∩ X2 = C)

La probabilidad en el numerador ya la conocemos. Es la primera fila de la Tabla


2. Es igual a 0.3197. ¿Cómo obtenemos la probabilidad en el denominador? Esta
es la probabilidad de que un estudiante sea hombre y centroamericano. Sumemos

67
en la Tabla 1 todas las filas en las que aparezcan hombres y centroamericanos. La
suma es 1131 (979+172). Si dividimos entre el total de estudiantes obtenemos
1131/3000 = 0.377.

0.3197
P(Y = F | X1 = H ∩ X2 = C) = = 0.848
0.377
Quiero que reflexionen un poco. Estas probabilidades condicionales son detrás
de lo que hemos andado en todo este curso (por lo menos en la parte de métodos
de Clasificacion). Cuando corremos una regresión logística en este curso es porque
queremos calcular la probabilidad de éxito para un cliente dadas ciertas característi-
cas; queremos calcular una probabilidad de éxito condicional. Lo mismo aplica a
KNN y arboles de clasificación.
Siguiendo los mismos pasos podríamos calcular la probabilidad condicional de
que un estudiante siga la especialización de Mercadeo. Sin embargo, hay una
forma aún mas fácil de determinarla (una vez que calculamos la probabilidad con-
dional de que estudie Finanzas). Especialización sólo tiene dos posibilidades, Finan-
zas y Mercadeo. Por lo tanto, las probabilidades condicionales son complemen-
tarias. Por lo tanto,

P(Y = M | X1 = H ∩ X2 = C) = 1 − 0.848 = 0.152


Ignoren por un segundo que la mayor parte de las variables independientes
que hemos enfrentado en el curso han sido continuas. ¿Por qué no hemos hecho
los cálculos de este capítulo antes si la tabla de probabilidad conjunta es la de-
scripción más completa de la relación entre variables aleatorias? La respuesta es la
llamada maldición de la dimensionalidad (en inglés, curse of dimensionality). Supongamos
que todas las variables independientes son binomiales. Si tenemos 2 variables inde-
pendientes binomiales y una variable dependiente binomial necesitamos una tabla
de 8 filas. Ningún problema, especialmente si tenemos una muestra grande como
3,000 estudiantes. ¿Cuántas filas tiene la tabla si tenemos 9 variables independien-
tes binomiales y la misma variable dependiente? 1,024. Supongamos que necesita-
mos unas 100 observaciones por celda para estimar precisamente las probabili-
dades conjuntas. Ahora necesitamos un mínimo absoluto de 102,400 observacio-

68
nes. ¿Cuántas filas para 20 variables? 1,048,576. Multipliquemos por 100 y ya esta-
mos hablando de bases de datos absurdamente grandes.
Naive Bayes al Rescate
Aquí es donde entra en escena Naive Bayes. Como su nombre indica está rela-
cionado con el teorema de Bayes. ¿Que sugeriría el teorema de Bayes que hiciera-
mos para calcular la probabilidad condicional arriba? Si buscan “Teorema de
Bayes” en la internet probablemente encuentren una expresión como la siguiente:

P(Y | X ) ∝ P(X | Y ) * P(Y )

Traduzcamos a las expresiones que hemos estado usando en este capítulo:

P(Y | X1 ∩ X2) ∝ P(X1 ∩ X2 | Y ) * P(Y )

El supuesto fundamental que hace el modelo de Naive Bayes tiene que ver
con el primer término a la derecha del símbolo ∝. Naive Bayes supone independen-
cia condicional. Googleen independencia (sin la parte condicional) y probablemente ob-
tengan la siguente definición: X1 y X2 son independientes si su probabilidad con-
junta es igual al producto de sus probabilidades marginales:

P(X1 ∩ X2) = P(X1) * P(X2)

Es fácil adivinar en qué consiste independencia condicional. Independencia siempre ti-


ene que ver con productos. X1 y X2 son independientes dado el valor de una tercera
variable Y si:

P(X1 ∩ X2 | Y ) = P(X1 | Y ) * P(X2 | Y )


Naive Bayes entonces nos da una forma de aproximar la fórmula de probabili-
dad condicional que más nos interesa en este curso.

P(Y | X1 ∩ X2) ∝ P(X1 | Y ) * P(X2 | Y ) * P(Y )

69
Sucede que esta aproximación resulta en una simplificación colosal en el proceso
de cálculo de estas probabilidades. En el caso de nuestro ejercicio atrás, Naive
Bayes implica que

P(Y = F | X1 = H ∩ X2 = C) ∝ P(X1 = H | Y = F ) * P(X2 = C | Y = F ) * P(Y = F )

y su complemento:

P(Y = M | X1 = H ∩ X2 = C) ∝ P(X1 = H | Y = M ) * P(X2 = C | Y = M ) * P(Y = M )

Probabilidad
Especializacion Genero Conteo
Condicional
Finanzas Hombre 1,567 0.8434
Mujer 291 0.1566
SubTotal 1,858
Mercadeo Hombre 369 0.3231
Mujer 773 0.6769
SubTotal 1,142
Total 3,000

Tabla 3: Genero condicionado sobre Especializacion.

Calculemos cada uno de estos términos para ambas expresiones. Necesitamos 4

Probabilidad
Especializacion Nacionalidad Conteo
Condicional
Finanzas CentroAmerica 1,212 0.6523
NorteAmerica 282 0.1518
SurAmerica 364 0.1959
SubTotal 1,858
Mercadeo CentroAmerica 416 0.3643
NorteAmerica 454 0.3975
SurAmerica 272 0.2382
SubTotal 1,142
Total 3,000

Tabla 4: Nacionalidad condicionada sobre Especialización

70
probabilidades condicionales y 2 probabilidades marginales. Las marginales ya las
calculamos atrás. Las repito:

P(Y = F ) = 0.6193
P(Y = M ) = 0.3807
La primera probabilidad condicional que necesitamos calcular es
P(X1 = H | Y = F ). Usemos la Tabla 3. En español, esta probabilidad responde la
pregunta: De todos los estudiantes de Finanzas (1,858), ¿qué proporción son hom-
bres? Hay 1,567 hombres. Estos representan un 0.8434 de todo el sub-universo de
estudiantes de Finanzas.
La segunda probabilidad condicional que necesitamos calcular es
P(X2 = C | Y = F ). Usemos ahora la Tabla 4. En español, esta probabilidad re-
sponde la pregunta: De todos los estudiantes de Finanzas (1,858), ¿qué proporción
son centroamericanos? Hay 1,212 centroamericanos. Estos representan un 0.6523
de todo el sub-universo de estudiantes de Finanzas.
La tercera probabilidad condicional que necesitamos calcular es
P(X1 = H | Y = M ). Usemos la Tabla 3. En español, esta probabilidad responde la
pregunta: De todos los estudiantes de Mercadeo (1,142), ¿qué proporción son hom-
bres? Hay 369 hombres. Estos representan un 0.3231 de todo el sub-universo de
estudiantes de Mercadeo.
La cuarta y última probabilidad condicional que necesitamos calcular es
P(X2 = C | Y = M ). Usemos ahora la Tabla 4. En español, esta probabilidad re-
sponde la pregunta: De todos los estudiantes de Mercadeo (1,142), ¿qué propor-
ción son centroamericanos? Hay 416 centroamericanos. Estos representan un
0.3643 de todo el sub-universo de estudiantes de Mercadeo. Listos. Ahora reem-
placemos:

P(Y = F | X1 = H ∩ X2 = C) ∝ P(X1 = H | Y = F ) * P(X2 = C | Y = F ) * P(Y = F )


P(Y = F | X1 = H ∩ X2 = C) ∝ 0.8434 * 0.6523 * 0.6193 = 0.3403.

y su complemento

71
P(Y = M | X1 = H ∩ X2 = C) ∝ P(X1 = H | Y = M ) * P(X2 = C | Y = M ) * P(Y = M )
P(Y = M | X1 = H ∩ X2 = C) ∝ 0.3231 * 0.3643 * 0.3807 = 0.0448.

Pero... si son complementos no deberían sumar a 1.00? Si, pero recuerden que el
teorema de Bayes que usamos no era una ecuación de igualdad era una de “pro-
porcional a”. Pero no entren en pánico. Esta es la parte más fácil de reparar. Si no
suman a 1.00, las hacemos sumar a 1 dividiendo entre la suma de los dos:

0.3403
P(Y = F | X1 = H ∩ X2 = C) = = 0.8836
0.3403 + 0.0448
0.0448
P(Y = M | X1 = H ∩ X2 = C) = = 0.1163.
0.3403 + 0.0448

Eso es todo. Esa es nuestra respuesta de acuerdo a Naive Bayes.


Voy a ser franco con ustedes. La primera vez que leí un capítulo sobre Naive
Bayes me pregunté sarcásticamente: ¿Y esto es simplificar los cálculos? Parece que
hicimos tantos o más cálculos que antes. Pero la respuesta es un rotundo ‘Si’. La
simplificación es verdaderamente enorme.
Volvamos a hacernos la pregunta que hicimos antes. Si todas las variables inde-
pendientes (y dependiente) fueran binomiales, cuántas probabilidades tengo que
calcular para poder responder cualquier pregunta que me hagan? 2 probabili-
dades marginales para la variable dependiente y 4 probabilidades condicionales
por cada variable adicional. Si tenemos 3 variables (2 independientes y 1 dependi-
ente) necesitamos 2+2*4 = 10. Antes necesitabamos 23 = 8. Esto no parece una
mejora del todo. Paciencia.
Ahora probemos 10 variables (9 independientes y 1 dependiente). Ahora necesi-
tamos 2+9*4 = 38. Antes 1024. Una más: Si tenemos 20 variables (19 independi-
entes y 1 dependiente), ahora necesitamos 2+19*4 = 78. Antes necesitabamos más
de un millón. Esa es una reducción colosal. Uno de los primeros éxitos de Naive
Bayes fue en Text Mining, donde crea una variable binaria para cada palabra dif-
erente que aparece en un texto. Hay miles de palabras y por lo tanto, miles de vari-

72
ables. Las demandas de Naive Bayes son lineales en el número de variables. Cu-
alquier otro método basado en calcular las probabilidades correctamente estaría
destinado a fracasar.
Pero no nos engañemos. Naive Bayes hace un supuesto que a menudo (si no
siempre) es falso. En casos con pocas variables todavía es posible evaluar la hipóte-
sis de independencia condicional. En el ejercicio de este capítulo, por ejemplo,
cuando se evalua la hipótesis de independencia condicional, esta es rechazada
fácilmente. La Tabla 5 muestra las probabilidades condicionales calculadas correc-
tamente y aproximándolas con Naive Bayes. Noten que las diferencias pueden ser
grandes. Pero si todo lo que me importa es clasificar como éxito o fracaso, tal vez
esa diferencia no sea tan importante.

Probabilidad Naive
Sexo Nacionalidad Correcta
Condicional Bayes
Hombre CentroAmerica Finanzas 0.8479 0.884
Mercadeo 0.1521 0.116
Hombre NorteAmerica Finanzas 0.6594 0.619
Mercadeo 0.3406 0.381
Hombre SurAmerica Finanzas 0.8553 0.777
Mercadeo 0.1447 0.223
Mujer CentroAmerica Finanzas 0.5091 0.403
Mercadeo 0.4909 0.597
Mujer NorteAmerica Finanzas 0.0338 0.126
Mercadeo 0.9662 0.874
Mujer SurAmerica Finanzas 0.1116 0.236
Mercadeo 0.8884 0.764
Tabla 5: Comparacion de Probabilidades Condicionales Correctas vs. las
que resultan de aplicar Naive Bayes.

73
TERCERA SECCION

Apéndices

En esta sección hay recomendaciones sobre


libros de texto adicional y sobre paquetes de
software adicionales que pueden usarse para
continuar estudiando Data Mining una vez
que este curso termine.

74
CAPITULO OC HO

Libros
Recomendados
• Data Mining for Business Intelligence: Concepts, Techniques, and Applications
in Microsoft Excel with XLMiner. Galit Shmueli, Nitin R. Patel, and Peter C.
Bruce. Este es el libro que a mi me hubiera gustado escribir. Es un libro para estu-
diantes de MBA. Si diera esta clase en inglés probablemente usaría este texto.
• Data Mining Techniques: For Marketing, Sales, and Customer Relationship
Management. Gordon S. Linoff and Michael J. Berry. Estos autores populariza-
ron el uso de Data Mining en el campo de Marketing.
• Competing on Analytics: The New Science of Winning. Thomas H. Davenport
and Jeanne G. Harris. Ni una sola ecuación en el libro. Es más que todo una his-
toria de las compañías que han sido exitosas en el uso de “analytics” en su estrate-
gia de negocios.
• Applied Predictive Modeling. Max Kuhn. Este es a mi juicio el mejor libro para
aprender todo el proceso de Data Mining desde preprocesamiento hasta imple-
mentación. Es también una manera excelente de alcanzar un nivel intermedio
en R. Kuhn es el autor de una importante library en R (caret) que hace la aplica-
ción de R más amigable, ordenada y sistemática.
• An Introduction to Statistical Learning: with Applications in R. Gareth James,
Daniela Witten, Trevor Hastie and Robert Tibshirani. Este es una excelente in-
troducción a la teoría de Data Mining desde un punto de vista estadístico. Los úl-
timos dos autores son legendarios en el campo de Data Mining. Son autores de
otro libro clásico en la disciplina, pero realmente avanzado. Este libro podría con-
siderarse la versión baby de ese libro.

75
CAPITULO NUEVE

Software
Recomendado
• RapidMiner: Este es el paquete oficial del curso de Data Mining. Es poderoso
de usar y con el entrenamiento apropiado, es también relativamente fácil de
utilizar. Una vez que uno empieza a utilizarlo, uno se pregunta por qué otros
paquetes no se comportan como este. La licencia es comercial, pero hay una Com-
munity Version que se distingue de la comercial simplemente por el apoyo técnico y
por el tipo de bases de datos a las que puede conectar.
• Tableau Software: Es un paquete comercial de visualización. Es mi pro-
grama de visualización favorito. Yo bajé una versión demo cuando salió para ex-
perimentar con el programa y cuando se venció la compré de inmediato. Pero...
de todas formas seguía siendo comercial. Un día decidieron hacer la versión com-
ercial disponible gratis para estudiantes. Desde entonces es un programa oficial
en mis cursos de Metodos y Data Mining.
• Microsoft Azure Machine Learning Studio: Esta es una plataforma de diseño
de programas que no requiere instalacion. Se utiliza desde un browser de inter-
net como Chrome o Firefox. Es un ejemplo perfecto del concepto de SaaS,
software-as-a-service. Se asemeja a RapidMiner en que el diseño de los programas
se hace gráficamente. Si confiará en la internet en América Latina, este sería el
programa oficial del curso (cero problemas de instalación).

Para los que quieran seguir haciendo Data Mining después de terminar este
curso, creo que es inevitable que tarde o temprano tengan que aprender uno de
los dos programas siguientes. El problema de ambos es que son lenguajes de pro-

76
gramación con curvas de aprendizaje relativamente empinadas. Pero no pain, no
gain:
• R y Rstudio: Estos realmente son dos “paquetes” distintos. El primero, R, es
probablemente el paquete estadístico más completo del mundo. Es ademas
open-source. RStudio es un GUI que se sienta encima de R y lo hace menos
traumático de utilizar.
• Python: Es el otro gran lenguage de Data Science. Tiene un grupo de segui-
dores y colaboradores tan grande y entusiasta como los de R. Es también un pro-
grama de aplicaciones generales (no sólo de Data Mining o Estadística) Python
es usado en MIT como el primer programa que aprenden los estudiantes de
Computer Science.
Tanto RapidMiner como el Machine Learning Studio tienen protocolos para
comunicarse con R y con Python. Esto debería darles una idea de que tan popu-
lares son estos dos programas.

77

También podría gustarte