Você está na página 1de 7

12245

KNN, K Vecinos Ms Cercanos


Serie: Data Mining e Inteligencia de Mercados

En el captulo anterior discutimos el modelo de regresin lineal. Este es un modelo muy estructurado. La forma de la relacin entre la variable dependiente y las independientes est pre-especicada como una ecuacin lineal. Como resumen de la informacin sobre esta relacin, la ecuacin estimada es increiblemente eciente. Podemos reducir una base de datos de miles o millones de observaciones a una sola ecuacin. Si quisieramos informacin adicional sobre el comportamiento de las variables independientes podramos incluir informacin sobre sus medias y desviaciones standards. Todo cabe en un archivo de unos cuantos kilobytes. Al otro extremo de la regresin lineal se encuentra el modelo de K vecinos ms cercanos (conocido como KNN por sus siglas en ingls, K-nearest neighbors). El modelo no impone ninguna forma funcional a la relacin entre la variable dependiente y las variables independientes. Esto lo hace muy exible. Esto lo hace muy robusto a missspecications sobre estas formas funcionales. Si tenemos la dispersin necesaria de las variables independientes, este mtodo puede llegar a aproximar funciones no-lineales de cualquier complejidad. El costo es que no hay modelo. El modelo son los datos. No hay descripcin o resumen de los datos. Despus de correr el modelo, no hay nada que ver. Cuando queremos guardar el modelo, tenemos que guardar toda la base de datos.

El Mtodo de KNN
Imaginen la siguiente situacin (completamente hipottica debo aclarar) . Los estudiantes de un programa de MBA han tomado un examen al nal del primer ao de su programa. El resultado de este examen es el criterio de decisin para la promocin de los estudiantes a segundo ao. En otras palabras, es un examen muy importante. Las tres partes del examen son: Contabilidad, Finanzas y Organizacin. El problema es que la calicacin para la parte de organizacin 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 perdido y por alguna razn que no nos importa en este instante, el examen no puede repertirse. Cmo pronosticamos el score que obtuvo este estudiante en Organizacin?

No creo que este ejemplo sobreviva la prxima edicin de estas notas, pero hoy es el

mejor que se me ocurre :-).

Fig. 1: El Vecino Ms Cercano (Voronoi Tessellation)

El profesor de Finanzas sugiere encontrar al estudiante en la lista que ms se parece al estudiante con el examen perdido. Tomar su nota de organizacin y asignarsela al estudiante con la calicacin faltante. Al profesor de Estadstica le gusta la idea, pero sugiere una modicacin: buscaremos a los 5 estudiantes que ms se parezcan al estudiante con la nota perdida, tomaremos sus notas de organizacin, las promediaremos y asignaremos este promedio al estudiante con la calicacin faltante. Los dos profesores estn sugiriendo el mtodo de KNN; solo dieren en el valor de K. Lo nico que tenemos que precisar antes de hacer operativo este mtodo es que quiere decir el estudiante o los estudiantes ms parecidos al estudiante con la nota perdida. Como probablemente sospecha el lector, si las variables son todas contnuas, uno puede servirse del concepto de distancia euclidiana que utilizamos para construir grupos en Agrupamiento por K-Means, para hacer concreta la nocin de cercana entre observaciones. En el ejemplo arriba, queremos pronosticar el valor de un score de un examen de Organizacin. Esta sera la variable dependiente. Basados en los scores de Contabilidad y Finanzas, dos variables continuas, queremos hallar la observacion ms cercanas a la observacin que queremos pronosticar. La Figura 1 muestra un ejemplo. Cada punto en el grco representa una observacin con dos scores para las dos clases. Las reas identicadas en el graco, conocidas como

Voronoi tessellations, demarcan las regiones para

las cuales cada uno de los puntos representados por los asteriscos son el vecino mas cercano. Cuando una nueva obseracin aparece en este grco, simplemente

Fig. 2: Vecino Ms Cercano (Variables Positivamente Correlacionadas)

identicamos el centroide del area y asignamos al nuevo punto el valor de la variable dependiente correspondiente a este centroide. En la Figura 1, los scores en Contabilidad y Finanzas parecen no estar relacionados. Ms realista es la Figura 2, donde si existe una correlacin positiva entre los dos scores. Aun en esos casos, podemos denir las mismas areas. Cuando K>1 o cuando tenemos ms de dos variables independientes a considerar, ya no es posible representar gracamente como funciona este mtodo. Como a menudo ocurre, la intuicin la desarrollamos con ejemplos sencillos; despus generalizamos. En general, el algoritmo KNN para pronosticar el valor de la variable dependiente de una nueva observacin involucra los siguientes pasos: Calcular las distancias entre la nueva observacin y cada una de las observaciones en la base de datos Seleccionar las K observaciones en la base de datos ms cercanas a la observacin para la que queremos una prediccin Promediar los valores de la variable dependiente para las K observaciones ms cercanas Reportar este promedio como el pronstico para la variable dependiente de la nueva observacin.

Tab. 1: Coincidencia de Respuestas entre Dos Observaciones

Individuo J SI Individuo I SI NO a c NO b d

Noten algo sobre este algoritmo que le da un mal nombre. Antes de que se necesite un pronstico no se hace nada. No se estima ninguna ecuacin. No se calcula ninguna distancia. Es solamente en el momento justo que vamos a pronosticar que se hace todo el trabajo. Esto hace que a este tipo de algoritmos se les llame

perezosos.

Uno de los atractivos del mtodo de KNN es que este puede aplicarse a problemas de prediccin como el descrito en este captulo, pero tambin es fcilmente generalizable para problemas de clasicacin. Los pasos que involucra clasicar una nueva observacin son casi idnticos a los reportados arriba. Imaginen el siguiente ejemplo. Un nuevo cliente solicita un crdito en un banco. El banco obtiene de l/ella informacin sobre una serie de variables que el banco considera importante en la asignacin de este crdito. Cmo puede tomar una decisin el banco sobre la naturaleza de este nuevo cliente? Ser un buen cliente (un cliente que paga sus obligaciones nancieras sin mayor dicultad) o ser un mal cliente (un cliente que har default sobre su prstamo? El banco podra encontrar a los K clientes en su base de datos que ms se parecen al nuevo cliente. Para clasicar al nuevo cliente, el banco pone a votar a los K-clientes ms parecidos. Si la mayora de ellos son buenos clientes, el banco clasicar como buen cliente al nuevo cliente. De otra forma, ser clasicado como un mal cliente.

Midiendo Distancias: El Caso de Variables Categricas


Cuando discutimos distancias en el contexto de Agrupamiento por K-Means, impusimos, implicitamente, una restriccin de que todas las variables tenan que ser contnuas. Cuando tenamos una variable categrica, la convertiamos a variable binaria y la tratabamos como variable numrica. Es posible hacer las cosas un poco mejor deniendo directamente lo que queremos decir por semejantes o parecidos cuando una variable es categrica. Supongamos que hacemos una encuesta que contiene una bateria de preguntas de tipo SI/NO cuyas respuestas dan lugar a una serie de variables de naturaleza binaria. Cuando comparamos dos individuos por sus respuestas, habrn 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, podramos tabular el grado de coincidencia o desacuerdo entre los dos con una tabla como la Tabla 1. Las medidas de semejanza ms comunmente usadas en anlisis de KNN son:

Tab. 2: Respuestas de 3 individuos en una encuesta hipteticas

p1 1 2 3 0 0 1

p2 0 0 1

p3 0 1 0

p4 1 0 1

p5 0 1 0

p6 0 0 1

p7 0 1 0

p8 1 1 1

Coeciente de Coincidencia = ta, sea esta SI o NO.

a+d a+b+c+d . Este coeciente mide simplemente el porcentaje de veces en que los dos individuos coincidieron en su respues-

a a+b+c . Este coeciente ignora cuando dos individuos coinciden en decir NO a una pregunta. Slo las coincidencias
Coeciente de Jaquard = positivas importan. Si hay una pregunta en la encuesta que dice Tiene usted cancer y dos personas responden que SI esto las hace semejantes. Cuando ambas responden que NO, esta coincidencia no tiene el mismo impacto. Considere 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 coecientes de semejanza sugeridos arriba. Verique que los coecientes de coincidencia 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 coecientes de Jaquard son respectivamente 0.2, 0.4 y 0.125. Ambas mtricas indican que los individuos 2 y 3 son los ms parecidos y que los individuos 2 y 3 son los ms distintos.

Midiendo Distancias cuando hay variables mixtas


En la mayora de los casos, las bases de datos contienen variables de los dos tipos: variables contnuas y variables categricas. En estos casos es necesario denir nuevas mtricas que consoliden la informacin sobre distancia y semejanza en un slo indicador. La formulera necesaria para hacerlo est mas alla de los que quiero cubrir en estas notas. Baste decir que la mayora del software que se utiliza en Data Mining, sea comercial o sea open-source, cuenta con la capacidad para calcular estas mtricas mixtas.

Seleccin de K
La complejidad del modelo de KNN est inversamente relacionada al tamao de K. Si K es igual a 1, esto quiere decir que el modelo contiene n parametros (las n medias utilizadas para pronosticar nuevas observaciones). En general, uno puede pensar en el modelo KNN teniendo N/K parametros efectivos. Cmo seleccionamos K? De la misma forma que seleccionamos complejidad en el contexto del modelo de regresin 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 validacin. El valor de K que resulte en el menor error (como quiera que este sea medido; por ejemplo, podra ser RMSE) ser el K ptimo.

Você também pode gostar