Regresión Logística en R: Derivación de Ecuaciones [Con Ejemplo]
Publicado: 2020-07-28En este artículo, analizaremos uno de los conceptos más comunes pero desafiantes en el aprendizaje automático, la regresión logística. Encontrará qué es la regresión logística y la derivación de la ecuación de regresión logística en este artículo detallado.
También hemos compartido un ejemplo de regresión logística en R para entender el concepto con mucha facilidad. Sin embargo, asegúrese de conocer todas las ideas razonablemente bien antes de trabajar en el ejemplo. Sería útil si está familiarizado con la regresión lineal porque ambos conceptos están interrelacionados.
Tabla de contenido
¿Qué es la regresión logística?
La regresión logística predice un resultado binario según un conjunto de variables independientes. Es un algoritmo de clasificación que predice la probabilidad de ocurrencia de un evento usando una función logit y ajustando datos a ella. La regresión logística es diferente de la regresión lineal, ya que puede predecir la probabilidad de un resultado que solo puede tener dos valores. El uso de la regresión lineal no es adecuado cuando tiene una variable binaria porque:
- La regresión lineal predeciría valores fuera del rango requerido
- Es posible que la regresión no distribuya los dos beneficios en una línea predicha
La regresión logística no produce una línea como lo hace una regresión lineal. Proporciona una curva logística que oscila entre 0 y un valor superior a 1.
Aprenda cursos en línea de ciencia de datos de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Echa un vistazo a: Ideas de proyectos R
Derivación de la ecuación de regresión logística
Podemos derivar la ecuación de regresión logística a partir de la ecuación de regresión lineal. La regresión logística pertenece a la clase de algoritmos glm (modelo lineal generalizado). Nelder y Wedderburn introdujeron este modelo en 1972 como un método para usar la regresión lineal para resolver problemas que antes no podía resolver. Habían propuesto una clase de modelos separados y habían agregado la regresión logística como uno especial.
Sabemos que la ecuación de un modelo lineal generalizado es la siguiente:
g(e<y) = a + bx1
g() representa la función de enlace, E(y) representa la expectativa de la variable objetivo y el RHS (lado derecho) es el predictor lineal. La función de enlace 'enlaza' la expectativa de y con el predictor lineal.
Supongamos que tenemos datos de 100 clientes y necesitamos predecir si un cliente comprará un producto específico o no. Como tenemos una variable de resultado categórica, debemos usar la regresión logística.
Empezaremos con una ecuación de regresión lineal:
g(y) = o+(ingreso) — (1)
Aquí, hemos mantenido la variable independiente como "ingresos" para facilitar la comprensión.
Nuestro enfoque está en la probabilidad de la variable dependiente resultante (¿el cliente comprará o no?). Como ya hemos discutido, g() es nuestra función de enlace y se basa en la probabilidad de éxito (p) y la probabilidad de falla (1-p). p debe tener las siguientes cualidades:
- p siempre debe ser positivo
- p siempre debe ser menor o igual a 1
Ahora, denotaremos g() con 'p' y derivaremos nuestra ecuación de regresión logística.
Como la probabilidad es siempre positiva, cubriremos la ecuación lineal en su forma exponencial y obtendremos el siguiente resultado:
p = exp(0+(ingreso)) = e((0+(ingreso)) — (2)
Tendremos que dividir p por un número mayor que p para que la probabilidad sea menor a 1:
p = exp(0+(ingreso)) / (0+(ingreso)) + 1 = e(0+(ingreso)) / (0+(ingreso)) + 1 — (3)
Usando la ec. (1), (2) y (3), podemos definir p como:
p = ey/1 + ey — (4)
Aquí, p es la probabilidad de éxito, por lo que 1-p debe ser la probabilidad de fracaso:
q = 1 – p = 1 -(ey /1 + ey) — (5)
Ahora dividamos (4) por (5):
p / 1 – p = ey
Si tomamos registro en ambos lados, obtenemos lo siguiente:
logaritmo (p / 1 – p) = y
Esta es la función de enlace. Cuando sustituimos el valor de y que habíamos establecido previamente, obtenemos:
log(p / 1 – p) = o + (ingreso)
Y ahí lo tenemos, la ecuación de regresión logística. Como proporciona la probabilidad de un resultado, su valor siempre se mantiene entre 0 y por encima de 1.
Lea acerca de: 9 interesantes ideas y temas de proyectos de regresión lineal para principiantes
Ejemplo de Regresión Logística en R
En nuestro caso de regresión logística en R, estamos usando datos de UCLA (Universidad de California, Los Ángeles). Aquí, tenemos que crear un modelo que prediga las posibilidades de ser admitido de acuerdo con los datos que tenemos. Tenemos cuatro variables, incluido el GPA, el puntaje GRE, el rango de la universidad de pregrado del estudiante y confesar.
df <- leer.csv(“https://stats.idre.ucla.edu/stat/data/binary.csv”)
cadena(df)
## 'marco.de.datos': 400 obs. de 4 variables:
## $ admitir: int 0 1 1 1 0 1 1 0 1 0 …
## $ gre : int 380 660 800 640 520 760 560 400 540 700 …
## $ gpa : núm 3.61 3.67 4 3.19 2.93 3 2.98 3.08 3.39 3.92 …
## Rango de $: int 3 3 1 4 4 2 1 2 3 2 …
Las variables son números o enteros:
sum(es.na(df))
## [1] 0
También encontramos que no hay valores nulos, y hay más eventos de rechazo que de aceptación porque la media del límite de la variable es menor que 0.5.
Debe asegurarse de que el sistema distribuya los ingresos de forma adecuada en cada categoría de rango. Suponga que un rango tiene solo 5 rechazos (o admite información), entonces no necesariamente tiene que usar ese rango en su análisis.

xtabs(~ admitir +rango ,datos=df)
## rango
## admitir 1 2 3 4
## 0 28 97 93 55
## 1 33 54 28 12
Ejecutemos nuestra función ahora:
df$rango <- as.factor(df$rango)
logit <- glm(admit ~ gre+gpa+rank,data=df,family=”binomial”)
resumen (logit)
##
## Llamada:
## glm(fórmula = admitir ~ gre + gpa + rango, familia = “binomial”,
## datos = df)
##
## Residuos de desviación:
## Mín. 1T Mediana 3T Máx.
## -1.6268 -0.8662 -0.6388 1.1490 2.0790
##
## Coeficientes:
## Estimación Estándar Error valor z Pr(>|z|)
## (Intersección) -3.989979 1.139951 -3.500 0.000465 ***
## gre 0.002264 0.001094 2.070 0.038465 *
## gpa 0.804038 0.331819 2.423 0.015388 *
## rango2 -0.675443 0.316490 -2.134 0.032829 *
## rango3 -1.340204 0.345306 -3.881 0.000104 ***
## rango4 -1.551464 0.417832 -3.713 0.000205 ***
## —
## Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Parámetro de dispersión para la familia binomial tomado como 1)
##
## Desviación nula: 499,98 en 399 grados de libertad
## Desviación residual: 458,52 en 394 grados de libertad
## AIC: 470.52
##
## Número de iteraciones de puntuación de Fisher: 4
Debe haber notado que hemos convertido la variable de rango a factor de entero antes de ejecutar la función. Asegúrate de hacer lo mismo.
Resultado final:
Supongamos que el GPA de un estudiante es 3.8, un puntaje GRE de 790 y estudió en una universidad de primer nivel. Busquemos sus posibilidades de ser admitido en el futuro usando nuestro modelo:
x <- data.frame(gre=790,gpa=3.8,rank=as.factor(1))
p<- predecir(logit,x)
pags
## 1
## 0.85426
Nuestro modelo predice que el niño tiene un 85 % de posibilidades de obtener la admisión en el futuro.
Lea también: Ideas de proyectos de aprendizaje automático
Pensamientos finales
Eso es todo por este artículo. Estamos seguros de que lo habría encontrado bastante útil. Si tiene alguna pregunta o comentario sobre la regresión logística y sus temas relacionados, compártalos en la sección de comentarios a continuación.
Si tiene curiosidad por aprender sobre R, todo sobre la ciencia de datos, consulte el Programa PG Ejecutivo en Ciencia de Datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos prácticos, tutoría con expertos de la industria, 1 a 1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
¿En qué se diferencian la regresión logística y la regresión lineal?
El objetivo de la regresión lineal es identificar la línea que mejor se ajusta, pero la regresión logística va un paso más allá y ajusta los valores de la línea a la curva sigmoidea. La principal diferencia entre estos dos métodos es que la regresión logística se aplica cuando la variable dependiente es binaria. Cuando la variable dependiente es continua y la línea de regresión es lineal, se utiliza la regresión lineal. Mientras que la técnica de mínimos cuadrados ordinarios se usa para estimar la regresión lineal, el método de estimación de máxima verosimilitud se usa para estimar la regresión logística. La salida de la regresión lineal es continua, pero la de la regresión logística tiene solo un número restringido de valores potenciales discretos.
¿Cuándo es útil el uso de la regresión logística?
La variable dependiente categórica se predice mediante regresión logística. Cuando los datos que tenemos se pueden medir en una escala infinita, podemos aplicar la regresión logística. Para estimar la probabilidad de que ocurra, es útil el análisis de regresión logística. Ayuda a determinar la probabilidad de dos clases cualesquiera. Solo los resultados de clasificación y probabilidad pueden predecirse mediante la regresión logística. Se puede usar para resolver una variedad de problemas de clasificación, como la detección de spam, la predicción de diabetes, el diagnóstico de cáncer, etc.
¿Cuáles son las limitaciones de usar la regresión logística?
1. Dado que la regresión logística tiene una superficie de decisión lineal, no puede abordar problemas no lineales.
2. El algoritmo de regresión logística es sensible a los valores atípicos.
3. Dado que tanto el escalado como la normalización son criterios clave de la regresión logística, la preparación de datos puede llevar mucho tiempo.
4. Si existe una característica que separa completamente dos clases, el modelo ya no se puede entrenar. Esto se denomina 'separación completa'.
5. Si el número de observaciones es menor que el número de características, no se debe aplicar la regresión logística, ya que puede resultar en un sobreajuste.
6. Otra desventaja es que cada punto de datos en la regresión logística debe ser independiente de todos los demás puntos de datos. Cuando las observaciones están conectadas, el modelo tiende a sobrestimar la relevancia de esas observaciones.
