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.
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.
1- P(A) es la
probabilidad de que no ocurra el evento A.
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:
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 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
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.
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:
Tomamos el logaritmo natural de los odds
para obtener la función logit:
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.
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.
Agradezco sinceramente tu tiempo y
atención hasta este punto. ¡No dudes en compartir tus comentarios, aportes o
sugerencias para seguir mejorando! 👽
Comentarios
Publicar un comentario