Contenido de este artículo
- 0
- 0
- 0
- 0
Actualizado el 7 de mayo de 2021, por Luis Benites.
La regresión cuadrática es un tipo de regresión que podemos usar para cuantificar la relación entre una variable predictora y una variable de respuesta cuando las relaciones verdaderas son cuadráticas, que pueden verse como una «U» o una «U» invertida en un gráfico.
Es decir, cuando la variable de predicción aumenta, la variable de respuesta también tiende a aumentar, pero después de cierto punto la variable de respuesta comienza a disminuir a medida que la variable de predicción sigue aumentando.
Este tutorial explica cómo realizar una regresión cuadrática en Python.
Ejemplo: regresión cuadrática en Python
Supongamos que tenemos datos sobre la cantidad de horas trabajadas por semana y el nivel de felicidad informado (en una escala de 0 a 100) para 16 personas diferentes:
importar numpy como np importar scipy.stats como estadísticas #add leyenda horas = [6, 9, 12, 12, 15, 21, 24, 24, 27, 30, 36, 39, 45, 48, 57, 60] happy = [12, 18, 30, 42, 48, 78, 90, 96, 96, 90, 84, 78, 66, 54, 36, 24]
Si hacemos un diagrama de dispersión simple de estos datos, podemos ver que la relación entre las dos variables tiene forma de «U»:
importar matplotlib.pyplot como plt #create scatterplot plt.scatter (horas, happy)
A medida que aumentan las horas trabajadas, la felicidad también aumenta, pero una vez que las horas trabajadas pasan alrededor de 35 horas por semana, la felicidad comienza a disminuir.
Debido a esta forma de «U», esto significa que la regresión cuadrática es probablemente un buen candidato para cuantificar la relación entre las dos variables.
Para realizar realmente la regresión cuadrática, podemos ajustar un modelo de regresión polinomial con un grado de 2 usando la función numpy.polyfit () :
importar numpy como np # ajuste polinomial con grado = 2 modelo = np.poly1d (np.polyfit (horas, happ, 2)) #add línea polinomial ajustada al diagrama de dispersión polilínea = np.linspace (1, 60, 50) plt.scatter (horas, happy) plt.plot (polilínea, modelo (polilínea)) plt.show ()
Podemos obtener la ecuación de regresión polinomial ajustada imprimiendo los coeficientes del modelo:
imprimir (modelo) -0,107 x 2 + 7,173 x - 30,25
La ecuación de regresión cuadrática ajustada es:
Felicidad = -0.107 (horas) 2 + 7.173 (horas) – 30.25
Podemos usar esta ecuación para calcular el nivel de felicidad esperado de un individuo en función de sus horas trabajadas. Por ejemplo, el nivel de felicidad esperado de alguien que trabaja 30 horas a la semana es:
Felicidad = -0,107 (30) 2 + 7,173 (30) – 30,25 = 88,64 .
También podemos escribir una función corta para obtener el R cuadrado del modelo, que es la proporción de la varianza en la variable de respuesta que se puede explicar por las variables predictoras.
#define función para calcular r-cuadrado def polyfit (x, y, grado): resultados = {} coeffs = np.polyfit (x, y, grado) p = np.poly1d (coeff) #calcular r-cuadrado yhat = p (x) ybar = np.sum (y) / len (y) ssreg = np.sum ((yhat-ybar) ** 2) sstot = np.sum ((y - ybar) ** 2) resultados ['r_squared'] = ssreg / sstot devolver resultados # encontrar r-cuadrado de modelo polinomial con grado = 3 polyfit (horas, happ, 2) {'r_squared': 0.9092114182131691}
En este ejemplo, el R-cuadrado del modelo es 0.9092 . Esto significa que el 90,92% de la variación en los niveles de felicidad informados puede explicarse por las variables predictoras.
Recursos adicionales
Cómo realizar una regresión polinomial en Python
Cómo realizar una regresión cuadrática en R
Cómo realizar una regresión cuadrática en Excel
- 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: