- 0
- 0
- 0
- 0
El análisis de regresión se utiliza para cuantificar la relación entre una o más variables explicativas y una variable de respuesta.
El tipo más común de análisis de regresión es la regresión lineal simple , que se usa cuando una variable predictora y una variable de respuesta tienen una relación lineal.
Sin embargo, a veces la relación entre una variable predictora y una variable de respuesta no es lineal.
Por ejemplo, la verdadera relación puede ser cuadrática:
O puede ser cúbico:
En estos casos, tiene sentido utilizar la regresión polinomial , que puede explicar la relación no lineal entre las variables.
Este tutorial explica cómo realizar una regresión polinomial en Python.
Ejemplo: regresión polinomial en Python
Supongamos que tenemos la siguiente variable predictora (x) y variable de respuesta (y) en Python:
x = [2, 3, 4, 5, 6, 7, 7, 8, 9, 11, 12] y = [18, 16, 15, 17, 20, 23, 25, 28, 31, 30, 29]
Si creamos una gráfica de dispersión simple de estos datos, podemos ver que la relación entre xey claramente no es lineal:
importar matplotlib.pyplot como plt #create scatterplot dispersión plt (x, y)
Por lo tanto, no tendría sentido ajustar un modelo de regresión lineal a estos datos. En su lugar, podemos intentar ajustar un modelo de regresión polinomial con un grado de 3 usando la función numpy.polyfit () :
importar numpy como np # ajuste polinomial con grado = 3 modelo = np.poly1d (np.polyfit (x, y, 3)) #add línea polinomial ajustada al diagrama de dispersión polilínea = np.linspace (1, 12, 50) dispersión plt (x, y) 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) poly1d ([-0.10889554, 2.25592957, -11.83877127, 33.62640038])
La ecuación de regresión polinomial ajustada es:
y = -0,109x 3 + 2,256x 2 – 11,839x + 33,626
Esta ecuación se puede utilizar para encontrar el valor esperado para la variable de respuesta con base en un valor dado para la variable explicativa. Por ejemplo, suponga que x = 4. El valor esperado para la variable de respuesta, y, sería:
y = -0,109 (4) 3 + 2,256 (4) 2 – 11,839 (4) + 33,626 = 15,39 .
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 = numpy.polyfit (x, y, grado) p = numpy.poly1d (coeff) #calcular r-cuadrado yhat = p (x) ybar = numpy.sum (y) / len (y) ssreg = numpy.sum ((yhat-ybar) ** 2) sstot = numpy.sum ((y - ybar) ** 2) resultados ['r_squared'] = ssreg / sstot devolver resultados # encontrar r-cuadrado del modelo polinomial con grado = 3 polyfit (x, y, 3) {'r_squared': 0.9841113454245183}
En este ejemplo, el R-cuadrado del modelo es 0.9841 . Esto significa que el 98,41% de la variación en la variable de respuesta puede explicarse por las variables predictoras.
- 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: