Cómo realizar una regresión cuadrática en R

Cuando dos variables tienen una relación lineal, a menudo podemos utilizar la regresión lineal simple para cuantificar su relación.

Ejemplo de relación lineal

Sin embargo, cuando dos variables tienen una relación cuadrática, podemos utilizar la regresión cuadrática para cuantificar su relación.

Ejemplo de relación cuadrática

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)

Diagrama de dispersión en R

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')

Diagrama de dispersión de regresión cuadrática en R

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/

Deja un comentario

Dado el vector a = [a 1 , a 2 , a 3 ] y el vector b = [b…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!