Para ajustar un modelo de regresión lineal en R, podemos usar la función lm () , que usa la siguiente sintaxis:
modelo <- lm (y ~ x1 + x2, datos = df)
Luego podemos usar la siguiente sintaxis para usar el modelo para predecir un solo valor:
predecir (modelo, nuevos datos = nuevo)
Los siguientes ejemplos muestran cómo predecir un valor único utilizando modelos de regresión ajustados en R.
Ejemplo 1: Predecir utilizando un modelo de regresión lineal simple
El siguiente código muestra cómo ajustar un modelo de regresión lineal simple en R:
#create data df <- data. marco (x = c (3, 4, 4, 5, 5, 6, 7, 8, 11, 12), y = c (22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #ajustar modelo de modelo de regresión lineal simple <- lm (y ~ x, data = df)
Y podemos usar el siguiente código para predecir el valor de respuesta para una nueva observación:
#definir nueva observación nuevos <- datos. marco (x = c (5)) #utilice el modelo ajustado para predecir el valor de la nueva predicción de observación (modelo, newdata = new) 1 25.36364
El modelo predice que esta nueva observación tendrá un valor de respuesta de 25,36364 .
Ejemplo 2: Predecir utilizando un modelo de regresión lineal múltiple
El siguiente código muestra cómo ajustar un modelo de regresión lineal múltiple en R:
#create data df <- data. marco (x1 = c (3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2 = c (6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y = c (22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #ajustar modelo de modelo de regresión lineal múltiple <- lm (y ~ x1 + x2, data = df)
Y podemos usar el siguiente código para predecir el valor de respuesta para una nueva observación:
#definir nueva observación new <- data.frame (x1 = c (5), x2 = c (10)) #utilice el modelo ajustado para predecir el valor de la nueva predicción de observación (modelo, newdata = new) 1 26.17073
El modelo predice que esta nueva observación tendrá un valor de respuesta de 26.17073 .
Errores potenciales al predecir nuevos valores
El error más común que puede encontrar al intentar predecir un nuevo valor es cuando el conjunto de datos que utilizó para ajustar el modelo de regresión no tiene los mismos nombres de columna que la nueva observación que está intentando predecir .
Por ejemplo, supongamos que ajustamos el siguiente modelo de regresión lineal múltiple en R:
#create data df <- data. marco (x1 = c (3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2 = c (6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y = c (22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #ajustar modelo de modelo de regresión lineal múltiple <- lm (y ~ x1 + x2, data = df)
Luego suponga que intentamos usar el modelo para predecir el valor de respuesta para esta nueva observación:
#definir nueva observación new <- data.frame (x_1 = c (5), x_2 = c (10)) #utilice el modelo ajustado para predecir el valor de la nueva predicción de observación (modelo, newdata = new) Error en eval (predvars, data, env): objeto 'x1' no encontrado
Recibimos un error porque los nombres de las columnas para la nueva observación (x_1, x_2) no coinciden con los nombres de las columnas del marco de datos original (x1, x2) que usamos para ajustar el modelo de regresión.
Recursos adicionales
Cómo realizar una regresión lineal simple en R
Cómo realizar una regresión lineal múltiple en R
Cómo crear una gráfica residual en R
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/