- 0
- 0
- 0
- 0
Cuando dos variables tienen una relación lineal, a menudo podemos utilizar la regresión lineal simple para cuantificar su relación.
Sin embargo, cuando dos variables tienen una relación cuadrática, podemos utilizar la regresión cuadrática para cuantificar su relación.
Este tutorial explica cómo realizar una regresión cuadrática en R.
Ejemplo: regresión cuadrática en R
Supongamos que estamos interesados en comprender la relación entre el número de horas trabajadas y la felicidad reportada. Tenemos los siguientes datos sobre la cantidad de horas trabajadas por semana y el nivel de felicidad informado (en una escala de 0-100) para 11 personas diferentes:
Utilice los siguientes pasos para ajustar un modelo de regresión cuadrática en R.
Paso 1: Ingrese los datos.
Primero, crearemos un marco de datos que contiene nuestros datos:
#crear datos data <- data.frame (horas = c (6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60), felicidad = c (14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27)) #ver datos datos horas de felicidad 1 6 14 2 9 28 3 12 50 4 14 70 5 30 89 6 35 94 7 40 90 8 47 75 9 51 59 10 55 44 11 60 27
Paso 2: Visualiza los datos.
A continuación, crearemos un diagrama de dispersión simple para visualizar los datos.
#create scatterplot plot (datos $ horas, datos $ felicidad, pch = 16)
Podemos ver claramente que los datos no siguen un patrón lineal.
Paso 3: ajuste un modelo de regresión lineal simple.
A continuación, ajustaremos un modelo de regresión lineal simple para ver qué tan bien se ajusta a los datos:
#fit modelo lineal linearModel <- lm (felicidad ~ horas, datos = datos) #ver resumen del modelo resumen (modelo lineal) Llamada: lm (fórmula = felicidad ~ horas) Derechos residuales de autor: Mín. 1T Mediana 3T Máx. -39,34 -21,99 -2,03 23,50 35,11 Coeficientes: Estimar Std. Valor t de error Pr (> | t |) (Intercepción) 48,4531 17,3288 2,796 0,0208 * horas 0,2981 0,4599 0,648 0,5331 --- Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1 Error estándar residual: 28,72 en 9 grados de libertad R-cuadrado múltiple: 0.0446, R-cuadrado ajustado: -0.06156 Estadístico F: 0,4201 en 1 y 9 DF, valor de p: 0,5331
La varianza total en la felicidad explicada por el modelo es solo 4,46% , como lo muestra el valor de R-cuadrado múltiple.
Paso 4: ajuste un modelo de regresión cuadrática.
A continuación, ajustaremos un modelo de regresión cuadrática.
#crea una nueva variable para las horas 2 datos $ horas2 <- datos $ horas ^ 2 #fit modelo de regresión cuadrática quadraticModel <- lm (felicidad ~ horas + horas2, datos = datos) #ver resumen de resumen del modelo ( modelo cuadrático) Llamada: lm (fórmula = felicidad ~ horas + horas2, datos = datos) Derechos residuales de autor: Mín. 1T Mediana 3T Máx. -6,2484 -3,7429 -0,1812 1,1464 13,6678 Coeficientes: Estimar Std. Valor t de error Pr (> | t |) (Intercepción) -18.25364 6.18507 -2.951 0.0184 * horas 6.74436 0.48551 13.891 6.98e-07 *** horas2 -0.10120 0.00746 -13.565 8.38e-07 *** --- Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1 Error estándar residual: 6.218 en 8 grados de libertad R-cuadrado múltiple: 0,9602, R-cuadrado ajustado: 0,9502 Estadístico F: 96,49 en 2 y 8 DF, valor p: 2,51e-06
La varianza total en la felicidad explicada por el modelo saltó al 96,02% .
Podemos usar el siguiente código para visualizar qué tan bien se ajusta el modelo a los datos:
#crear secuencia de valores de hora hourValues <- seq (0, 60, 0.1) #crear una lista de niveles de felicidad pronosticados usando el modelo cuadrático happinessPredict <- predecir (quadraticModel, list (hours = hourValues, hours2 = hourValues ^ 2)) # crear un diagrama de dispersión de la gráfica de valores de datos originales (datos $ horas, datos $ felicidad, pch = 16) # agregar líneas predichas basadas en el modelo de regresión cuadrática líneas (hourValues, happinessPredict, col = 'blue')
Podemos ver que la línea de regresión cuadrática se ajusta bastante bien a los valores de los datos.
Paso 5: Interprete el modelo de regresión cuadrática.
En el paso anterior vimos que el resultado del modelo de regresión cuadrática era el siguiente:
Coeficientes: Estimar Std. Valor t de error Pr (> | t |) (Intercepción) -18.25364 6.18507 -2.951 0.0184 * horas 6.74436 0.48551 13.891 6.98e-07 *** horas2 -0.10120 0.00746 -13.565 8.38e-07 ***
Según los coeficientes que se muestran aquí, la regresión cuadrática ajustada sería:
Felicidad = -0,1012 (horas) 2 + 6,7444 (horas) – 18,2536
Podemos usar esta ecuación para encontrar la felicidad prevista de un individuo, dada la cantidad de horas que trabaja por semana.
Por ejemplo, se predice que una persona que trabaja 60 horas a la semana tendrá un nivel de felicidad de 22.09 :
Felicidad = -0.1012 (60) 2 + 6.7444 (60) – 18.2536 = 22.09
Por el contrario, se predice que una persona que trabaja 30 horas por semana tendrá un nivel de felicidad de 92,99 :
Felicidad = -0.1012 (30) 2 + 6.7444 (30) – 18.2536 = 92.99
- 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: