Contenido de este artículo
- 0
- 0
- 0
- 0
La regresión lineal es un método que podemos utilizar para comprender la relación entre una o más variables predictoras y una variable de respuesta .
Normalmente, cuando realizamos una regresión lineal, nos interesa estimar el valor medio de la variable de respuesta.
Sin embargo, podríamos utilizar un método conocido como regresión cuantílica para estimar cualquier valor de percentil o cuantil del valor de respuesta, como el percentil 70, el percentil 90, el percentil 98, etc.
Este tutorial proporciona un ejemplo paso a paso de cómo utilizar esta función para realizar una regresión de cuantiles en Python.
Paso 1: cargue los paquetes necesarios
Primero, cargaremos los paquetes y funciones necesarios:
import numpy as np import pandas as pd import statsmodels. api como sm import statsmodels. fórmula . api como smf import matplotlib. pyplot como plt
Paso 2: crear los datos
Para este ejemplo, crearemos un conjunto de datos que contiene las horas estudiadas y el puntaje del examen recibido por 100 estudiantes en alguna universidad:
#Haga que este ejemplo sea reproducible np. al azar . semilla (0) #create dataset obs = 100 horas = np. al azar . uniforme (1, 10, obs) puntuación = 60 + 2 * horas + np. al azar . normal (loc = 0, escala = .45 * horas, tamaño = 100) gl = pd. DataFrame ({' horas ': horas, ' puntuación ': puntuación}) #ver las primeras cinco filas df. cabeza () puntaje de horas 0 5.939322 68.764553 1 7.436704 77.888040 2 6.424870 74.196060 3 5.903949 67.726441 4 4.812893 72.849046
Paso 3: realizar una regresión cuantílica
A continuación, ajustaremos un modelo de regresión por cuantiles utilizando las horas estudiadas como variable predictiva y la puntuación del examen como variable de respuesta.
Usaremos el modelo para predecir el percentil 90 esperado de los puntajes de los exámenes según la cantidad de horas estudiadas:
#ajuste el modelo model = smf. quantreg ('puntuación ~ horas', df). ajuste (q = 0,9 ) #ver impresión del resumen del modelo (modelo. resumen ()) Resultados de regresión QuantReg ================================================ ============================ Dep. Variable: puntuación Pseudo R cuadrado: 0,6057 Modelo: QuantReg Ancho de banda: 3.822 Método: Mínimos cuadrados Escasa: 10,85 Fecha: Mar 29 Dic 2020 No. Observaciones: 100 Hora: 15:41:44 Df Residuos: 98 Modelo Df: 1 ================================================ ============================ coef std err t P> | t | [0.025 0.975] -------------------------------------------------- ---------------------------- Intercepción 59,6104 0,748 79,702 0,000 58,126 61,095 horas 2.8495 0.128 22.303 0.000 2.596 3.103 ================================================ ============================
En el resultado, podemos ver la ecuación de regresión estimada:
Percentil 90 de la puntuación del examen = 59,6104 + 2,8495 * (horas)
Por ejemplo, se espera que el percentil 90 de puntajes para todos los estudiantes que estudian 8 horas sea 82.4:
Percentil 90 de la puntuación del examen = 59,6104 + 2,8495 * (8) = 82,4 .
La salida también muestra los límites de confianza superior e inferior para la intersección y las horas variables de predicción.
Paso 4: Visualice los resultados
También podemos visualizar los resultados de la regresión creando un diagrama de dispersión con la ecuación de regresión cuantílica ajustada superpuesta en el diagrama:
# definir figura y eje fig, ax = plt.subplots (figsize = (8, 6)) #obtener valores de y get_y = lambda a, b: a + b * horas y = get_y (modelo. params [' Intercepción '], modelo. params [' horas ']) # trazar puntos de datos con la ecuación de regresión cuantílica superpuesta ax. trama (horas, y, color = ' negro ') hacha. dispersión (horas, puntuación, alfa = .3) hacha. set_xlabel (' Horas estudiadas ', tamaño de fuente = 14) hacha. set_ylabel (' Puntaje del examen ', tamaño de fuente = 14)
A diferencia de una línea de regresión lineal simple, observe que esta línea ajustada no representa la «línea de mejor ajuste» para los datos. En cambio, pasa por el percentil 90 estimado en cada nivel de la variable predictora.
Recursos adicionales
Cómo realizar una regresión lineal simple en Python
Cómo realizar una regresión cuadrática en Python
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: