Ir al contenido principal

Regresión Logística


A continuación, quiero compartirte algunos de los conceptos de la regresión logística. abordaremos la pregunta del porqué de "regresión" en "regresión logística" Para poder comprender los temas que se presentaran a continuación necesitaras entender algunos conceptos antes los cuales iremos presentando y explicando a medida que nos adentramos más en este modelo. para empezar, debes entender que la regresión logística en un modelo esencial en el arsenal de un científico de datos ya que muchas veces usaremos la regresión logística para poner a "competir" con distintos modelos. Y usaremos las métricas de la regresión logística para de esta forma utilizar estas métricas como punto de partida para la elección del modelo. básicamente si un modelo más complejo no nos brinda mejores métricas que una regresión logística nos decantaremos como modelo a utilizar la regresión logística ya que esta no es una “Caja negra”. La regresión logística en si es un clasificador binario nos sirve para separar variables en dos conjuntos 0 y 1 aunque la misma puede ser utilizara para clasificar más de dos etiquetas. Dicho esto, pasemos la explicación de los conceptos que nos permitirán entender a fondo el funcionamiento de este modelo. desde ya muchas gracias por tu tiempo y espero este contenido te resulte de utilidad.

 

Probabilidad:

La probabilidad es una medida cuantitativa de la posibilidad de que ocurra un evento especifico. Se define como el número de casos favorables dividido por el número total de casos posibles.

En términos formales, la probabilidad P(A)de un evento A se expresa como:






La escala del resultado de la operación es un numero de 0 a 1.

0: Evento imposible de ocurrir

1: evento que ocurrirá con certeza

Valores intermedios (0<P(A)<1) el evento tiene una cierta posibilidad de ocurrir, con valores más cercanos a 0 indicando una menor probabilidad y valores más cercanos a 1 indicando una mayor probabilidad de ocurrir.

 

Por ejemplo, si lanzamos una moneda:

Evento: obtener Cara

Probabilidad:



Odds:

Los odds, o la probabilidad en termino de apuestas, son la probabilidad de que ocurra un X evento. A diferencia de la probabilidad, que se mide en escala de 0 y 1. Los odds se expresan como una razón entre el número de eventos favorables y el número de eventos desfavorables.

 Calculo:

Los odds de un evento A se calculan como la razón entre la probabilidad de que ocurra el evento (A) y la probabilidad de que no ocurra.

 



Donde P(A) es la probabilidad de que ocurra el evento A.

1- P(A) es la probabilidad de que no ocurra el evento A.

 Recordemos que la probabilidad de que un evento siempre ocurra se expresa como 1 o lo que es lo mismo en términos de probabilidad 100. Por ende, si tenemos la probabilidad de que un evento ocurra por ejemplo %40. sí restamos 40 a 100 nos dará la probabilidad de que el evento no ocurra. 

 Escala:

0: Imposible (el evento no puede ocurrir P(A) = 0).

Infinito: Cierto (el evento siempre ocurre P(A)=1).

Valores entre 0 e Infinito: indican la razón de ocurrencia frente a la no ocurrencia.

 

Ejemplo:

 Supongamos que la probabilidad de que gane un cierto equipo X un partido es del 75%.



Esto quiere decir que las probabilidades de que gane el Equipo X a su rival son de 3 a 1. O lo que es lo mismo que este equipo X gane es 3 veces más probable que gane sobre perder.

 

Odds Ratio:

 El odds Ratio es una medida de asociación entre dos eventos. Se comparan los Odds de dos eventos ocurriendo en un grupo con los odds del mismo evento, pero de otro grupo.

 Calculo:

El cálculo del Odds Ratio se calcula como la razón de los odds de dos grupos diferentes. Supongamos que tenemos dos grupos:

Grupo 1, con probabilidad de éxito P1

Grupo 2, con probabilidad de éxito P2

 Los Odds de los dos grupos como ya vimos se calcularían de la siguiente manera:











Entonteces según la definición el Odds Ratio se calcularía de la siguiente manera:

 









Interpretación:

OR = 1: No hay diferencia entre los odds de los dos grupos.

OR>1: EL Odds del evento son mayores en el Grupo 1 comparado con el Grupo 2.

OR <1: El Odds del evento son menores en el Grupo 1 comparado con el Grupo 2. 

Ejemplos en contexto:

Supongamos que estamos estudiando la eficacia de un nuevo medicamento para prevenir una enfermedad. Tenemos dos grupos:

Grupo 1 (tratado con el medicamento): De 100 personas, 40 desarrollan la enfermedad.

Grupo 2 (control, sin el medicamento): De 100 personas, 60 desarrollan la enfermedad.

 

Primero, calculamos las probabilidades de desarrollar la enfermedad en cada grupo:

 










Ahora lo que haremos será calcular los Odds de desarrollar la enfermedad en cada grupo:








Una vez ya calculados los Odds de cada grupo tenemos lo suficiente para poder calcular el Odds Ratio







Interpretación del Ejemplo:

Un Odds Ratio de 0.45 indica que las odds de desarrollar la enfermedad en el grupo tratado son 0.45 veces las odds de desarrollar la enfermedad en el grupo de control. Esto significa que las odds son un 55% menores en el grupo tratado, lo que implica un efecto protector del tratamiento.

 Refrescando conceptos:

Para poder entender mejor la regresión logística necesitamos entender bien la regresión Lineal 



 

En la regresión lineal Utilizamos una función que nos ayude a predecir una variable Y con la combinación lineal de otras variables




Donde:

Y: Es la variable dependiente que queremos predecir.

 Beta 0: es el intercepto

Beta 1, Beta 2... Beta n: son los coeficientes de las variables independientes.

 X1 , X2...Xn: son las variables independientes

E: es el término del error

Cuando realizamos una regresión logística, lo que hacemos es transformar la regresión lineal de tal manera que nos permita predecir una variable binaria, en lugar de una variable numérica. Esto se logra aplicando la función logística (sigmoide) a la combinación lineal de las variables independientes. Para entender la transformación a continuación se darán una serie de ejemplos de variables binarias o dicotómicas. 

Ejemplos de Variables Binarias o dicotómicas:

Resultado de un examen:

Aprobado (1)

Reprobado (0)

Compra de un producto:

Sí (1)

No (0)

Presencia de una enfermedad:

Enfermo (1)

No enfermo (0)

 

 


 

Como podemos ver nuestros datos no se ajustan a una regresión Logit/sigmoide por lo que debemos de transformar los datos de manera tal que puedan ayudar a predecir una etiqueta y que sea consistente matemáticamente hablando.

Para esto tenemos una función llamada función logit()

 



 

 



Si observamos la fórmula de esta función podemos ver que es la misma fórmula que tenemos que utilizar para obtener los Odds. Ahora cuando observamos la gráfica de la función podemos observar que el rango de la función para el Eje X es de 0 a 1 demarcado por sus asíntotas. Lo que necesitamos es que este rango de entre 0 y 1 este en el eje de las Y. Para poder obtener esta transformación necesitamos calcular su inversa.

 



Ahora ya tenemos la inversa y de esta manera podemos tener en el eje de las Y valores de 0 a 1. Como podemos ver en la formula:









 Como se planteó necesitamos cambiar nuestros datos para pasen de ser "Lineales" a "Binarios" Si sustituimos el valor de X en la ecuación inversa por nuestra combinación lineal:

 


 

Obtenemos la siguiente función:



lo que se debe de ingresar en python debe ser una función lineal se debe aplicar una transformación de tal forma que sea igual a la combinación lineal de las variables. Entonces la ecuación inversa del modelo de regresión logística se transforma de la siguiente manera:

debemos de pasar de esto:

A esto:


Ahora la pregunta es ¿Como pasamos de una formula a otra sin perder sus propiedades? 🤔

Bueno La transformación es la siguiente: 

Esta será la parte más complicada de explicar, pero hare mi mejor esfuerzo: 😅


Función Sigmoide (Probabilidad):

La probabilidad de que Y = 1 en la regresión logística se da por:



Odds (Razón de Probabilidades):

La razón de probabilidades (odds) se define como:


Sustituimos la probabilidad P(Y=1) en la fórmula de los odds:



Simplificamos la expresión:


 Log-Odds (Logaritmo de las Odds):

Tomamos el logaritmo natural de los odds para obtener la función logit:



Esto nos permite interpretar los coeficientes de la regresión logística de una manera más directa en términos de log-odds.

¿Por qué es necesaria esta transformación para realizar la regresión logística con Python/R?

es necesaria porque la regresión logística se basa en la relación logit. En Python, la mayoría de los paquetes estadísticos, como statsmodels y scikit-learn, utilizan la forma logística para ajustar el modelo. Esto se debe a:

Linealidad en Coeficientes: La relación logit es lineal en los coeficientes (𝛽), lo que permite el uso de métodos lineales para estimar estos coeficientes.

Estabilidad Numérica: La transformación logit evita problemas numéricos que pueden surgir al trabajar directamente con probabilidades que están restringidas al intervalo (0, 1).


Cuando aplicamos la función logistica, transformamos la combinación lineal de las variables independientes en un valor que está en el rango de 0 a 1. Esto es fundamental, ya que esta salida se interpreta como la probabilidad de que el resultado sea positivo (por ejemplo, la probabilidad de que un paciente tenga una enfermedad, la probabilidad de que un cliente compre un producto, etc.).

 

Ejemplo Ilustrativo:

Supongamos que estamos interesados en predecir si un paciente tiene una enfermedad (1) o no (0) basado en su nivel de colesterol X:

Modelo Lineal:





Aplicamos la función Log:



Interpretación:

Si 







La probabilidad de tener la enfermedad seria:



 

Esto se interpretaría como una probabilidad muy alta de tener la enfermedad con ese nivel de colesterol.

 

 Resumen:

La regresión logística toma una combinación lineal de las variables independientes y la transforma usando la función logística para obtener probabilidades que van de 0 a 1. Estos valores representan la probabilidad de que el evento de interés ocurra. La transformación se realiza porque la fórmula logística es una extensión de la fórmula de los odds, lo que permite interpretar los coeficientes de la regresión en términos de probabilidades y odds ratios.

 

Punto de Corte:

El punto de corte (threshold) es el valor de probabilidad por encima del cual asignamos una etiqueta de 1 (evento ocurre) y por debajo del cual asignamos una etiqueta de 0 (evento no ocurre).

Ajuste del Punto de Corte:

El punto de corte por defecto es 0.5, pero se puede ajustar según el contexto y los requerimientos del problema. Por ejemplo:

Más estricto: Si queremos ser más conservadores en la asignación de etiquetas 1, podemos aumentar el punto de corte a 0.7 o más.

Menos estricto: Si queremos asegurarnos de no perder casos importantes (aumentar la sensibilidad), podemos bajar el punto de corte a 0.3 o menos.

 


Evaluación del Modelo:

Para determinar si nuestro modelo de regresión logística está generando predicciones precisas, utilizamos diversas métricas de evaluación, como la precisión (accuracy), la sensibilidad (recall), la especificidad (specificity) y el área bajo la curva ROC (AUC-ROC). Estas métricas nos permiten evaluar la calidad de nuestras predicciones y detectar áreas de mejora en el modelo. En futuras publicaciones, exploraremos en detalle estos conceptos.

Ahora comprendes que el término 'regresión' en 'regresión logística' puede resultar un tanto confuso. En realidad, este método se emplea para abordar problemas de clasificación binaria, no para realizar una regresión en el sentido tradicional de predecir valores continuos. La transformación logística convierte la salida de una combinación lineal de variables independientes en una probabilidad que oscila entre 0 y 1. Esto hace que la regresión logística sea ideal para situaciones en las que queremos predecir la probabilidad de que ocurra un evento específico, como aprobar o no un examen, comprar o no un producto, y muchas otras aplicaciones. Así, podemos tomar decisiones informadas basadas en la probabilidad estimada, lo que convierte a la regresión logística en una herramienta poderosa y versátil en el ámbito de la ciencia de datos.


Si deseas ver su implementación en Python, puedes hacerlo desde mi GitHub. Allí realizo una comparación entre un modelo que programo manualmente, siguiendo los conceptos tratados en este blog, y la regresión logística ya programada en la biblioteca sklearn.

Blog-Nodo-Data/Regresion Logistica/Regresion Logistica.ipynb at main · JuanSosa01/Blog-Nodo-Data (github.com)



Agradezco sinceramente tu tiempo y atención hasta este punto. ¡No dudes en compartir tus comentarios, aportes o sugerencias para seguir mejorando! 👽






Comentarios

Entradas más populares de este blog

Análisis de Componentes Principales (PCA)

  El Análisis de Componentes Principales, comúnmente conocido por sus siglas en inglés  PCA (Principal Component Analysis),  constituye una técnica estadística fundamentada en álgebra lineal. Esta metodología es esencial para identificar las variables que retienen la mayor cantidad de información dentro de un conjunto de datos, entendiendo aquí que la 'información' se refiere principalmente a la varianza observada en los mismos. Para ilustrar este concepto, consideremos el siguiente ejemplo práctico: Supongamos que nos encontramos en una fiesta familiar y nos toca ser el fotógrafo. Imaginemos que nuestros familiares están dispersos en el espacio de la fiesta. Si tomamos una fotografía desde un ángulo inadecuado, es probable que no todos los familiares aparezcan en la imagen. Esto se puede ver en el siguiente gráfico: El análisis de componentes principales (PCA) se centra en la identificación de una rotación de los datos alrededor de un eje que maximice la conservación de la var

Árboles de Decisión

Introducción a los Árboles de Decisión Los árboles de decisión son modelos de aprendizaje supervisado utilizados tanto para clasificación como para regresión. Su estructura recuerda a un árbol invertido, donde cada nodo interno representa una "prueba" en un atributo, cada rama representa el resultado de la prueba, y cada hoja representa una clase o un valor de salida.   Conceptos Fundamentales: 1.     Nodo raíz: Es el Nodo superior de árbol, que representa la variable inicial sobre la que se hará la     primera partición de nuestro conjunto de datos. 2.    . Nodos Internos: Representan las “Pruebas” sobre los atributos (características) de los datos. 3 .   . Hojas: Representan las predicciones o categorías finales. 4.   Ramas: son las conexiones entre nodos y representan el resultado de las pruebas de los nodos internos. Construccion del Arbol El proceso de construcción de un árbol de decisión implica seleccionar el mejor atributo en cada paso para dividir el con