Regresión logística

20 julio, 2016

Hechas las presentaciones oportunas de nuestro problema, conviene ahora abordarlo. ¿Cómo podemos calcular si un donante donará el próximo mes? En realidad no podemos. Matizo la respuesta porque puede resultar un tanto contradictoria. No podemos porque no somos adivinos. Y es que la estadística no es una ciencia oculta que nos dibuja un futuro basado en cartas, posos de café o líneas de las manos. Lo que pretendemos es conocer el comportamiento global de nuestros individuos para poder hacer previsiones en función de ellas. En el caso que nos compete, nos valdremos de lo que disponemos, que no es poco.

Como hemos visto en el anterior post, con las variables disponibles o dependientes (meses desde la primera donación, meses desde la última donación y número total de donaciones en este periodo) y la variable que nos interesa medir en función del resto (donación el próximo mes). Existen diversas técnicas que podemos emplear, sin embargo en este post nos centraremos exclusivamente en una: Regresión Logística. Esta técnica se compone de dos términos, comenzaremos intentando explicar de manera sencilla el primero: REGRESIÓN.

Regresionsimple

Para poder entender mejor este concepto, haremos un paréntesis en nuestro problema. Pensemos que sólo disponemos de dos variables (número de donaciones totales y meses desde la primera donación) y dos únicos donantes. A continuación representamos ambos puntos, y unimos una recta entre ellos del tipo y=a+bx. Unir dos puntos por una recta es un concepto geométrico muy simple y que puede ser extensible a la nube de puntos de la que disponemos añadiendo todos los donantes. La regresión lineal simple es la encargada de hacer esto posible: hallar una línea que se ajuste a esta aglomeración y que además pueda explicar el comportamiento entre las variables implicadas. El resultado para nuestro ejemplo es:

meses desde la 1ª donación = 15.608 + 3.473 x (número de donaciones)

RegresionSimple2

Con este resultado podemos intuir que aquellas personas que donaron hace más tiempo, también donan más. No obstante, nuestro objetivo principal es otro, saber la probabilidad de que un donante done o no este mes. Para ello analizaremos el segundo término que nos dejamos en el tintero: LOGÍSTICA.

A diferencia de la regresión simple, la regresión logística no trata de predecir el valor de una variable numérica dado un conjunto de entradas. En lugar de ello , la salida es la probabilidad de que el punto de entrada pertenezca a una cierta clase . Para simplificar, supongamos que tenemos sólo dos variables (probabilidad de donar y meses desde la última donación).

La premisa central es la suposición de que el espacio de entrada se puede separar en dos regiones, dona o no dona, cada una de ellas asociadas a los valores 0 y 1 respectivamente. La probabilidad de que este suceso ocurra es la transformación lineal de estos sucesos que precisamente comprenderán el rango [0,1].

Logisticalineal
Pero, ¿cómo hemos transformado algo que estaba compuesto de valores 0 y 1 en valores reales? La respuesta está en la función de probabilidades. Para poder entender mejor este concepto, analicemos la tabla de datos cruzados entre probabilidad de donar (dona o no dona) y los meses desde la última donación tal que:

Tabla log

Analicemos, por ejemplo, lo que sucede con las personas que han donado por última vez hace 2 meses. Tenemos un total de 137 donantes, de los cuales 83 no han donado en el presente mes y 54 sí lo han hecho. Con lo que la probabilidad de que done una persona que ha donado ya hace 2 meses es p(x=2meses)=0.39. La razón entre la probabilidad de donar y la de no donar es p/(1-p) que denominaremos odd-ratio (OR).

Supongamos ahora que p es continua y se sitúa entre [0,1] tal que p(x). Entonces por consiguiente OR(x)=p(x)/(1-p(x)) que abarcará el intervalo comprendido entre cero e infinito. Para poder extender el dominio de la función hemos de hacer una transformación logarítmica log(OR(x)).

Aquí vamos a parar con la teoría. No obstante, si queréis saber un poco más sobre la regresión logística, os recomendamos leer el siguiente artículo.

RESULTADOS

Vamos a probar un modelo teórico con las variables que disponemos (última donación, primera donación y número de donaciones totales). Es decir, vamos a realizar regresiones logísticas múltiples.

dona/no dona ~ f(última donación, primera donación, número donaciones)

El modelo que hemos definido es el completo, es decir aquel que presenta todas las variables disponibles. No obstante podemos realizar distintas combinaciones eliminando alguna de sus variables. Para comparar los resultados, usamos un tipo de curvas denominadas ROC (Receiver Operating Characteristic) que comparan verdaderos positivos con falsos positivos.

ROC2

Cuanto más a la izquierda esté nuestra línea, mejor es nuestro poder de predicción y por lo tanto el modelo completo es el más fiable. No obstante, estamos aún lejos de un modelo perfecto. ¡Habrá que seguir analizando!

Si queréis tener acceso a los códigos de programación, podéis hacerlo a través de nuestra dirección de GitHub.

Víctor Vicente y Nacho Sánchez.