¿Cómo trazar valores predichos en R?

En este artículo, discutiremos cómo trazar valores predichos en el lenguaje de programación R.

Un modelo lineal se usa para predecir el valor de una variable desconocida en base a variables independientes utilizando la técnica de regresión lineal. Se utiliza principalmente para averiguar la relación entre las variables y la previsión. La función lm() se usa para ajustar modelos lineales a marcos de datos en el lenguaje R. Trazamos los valores reales predichos junto con los valores reales para saber en qué difieren ambos valores, esto nos ayuda a determinar la precisión del modelo. Para ello, disponemos de los siguientes métodos en el lenguaje R.

Método 1: graficar los valores pronosticados usando Base R 

Para trazar el valor predicho frente a los valores reales en el lenguaje R, primero ajustamos nuestro marco de datos en un modelo de regresión lineal usando la función lm() . La función lm() toma una función de regresión como argumento junto con el marco de datos y devuelve un modelo lineal. Luego, podemos usar la función predict() para usar ese modelo lineal para predecir valores para cualquier punto de datos dado. Luego trazaremos un gráfico de dispersión entre el valor predicho y el real usando la función plot() y luego agregaremos una línea diagonal lineal usando la función abline() para visualizar la diferencia entre los valores predichos y reales.

Sintaxis:

modelo_lineal <- lm( función_regresión, df)

plot(predecir(modelo_lineal), df$y)

ablina(a = 0, b = 1)

dónde,

  • regression_function: determina la función sobre la que se debe ajustar el modelo lineal.
  • df: determina el marco de datos que se utiliza para la predicción.
  • y: determina la variable del eje y.

Ejemplo: aquí hay una gráfica de valores reales frente a valores predichos usando un modelo de regresión lineal usando los métodos Base R.

R

# create sample data frame
x <- rnorm(100)
y <- rnorm(100) + x
sample_data <- data.frame(x, y)
  
# fit data to a linear model
linear_model <- lm(y~x, sample_data )
  
# plot predicted values and actual values
plot(predict(linear_model), sample_data$y,
     xlab = "Predicted Values",
     ylab = "Observed Values")
abline(a = 0, b = 1, lwd=2,
       col = "green")

Producción:

Método 2: Trazar valores predichos usando el paquete ggplot2

Para trazar el valor predicho frente a los valores reales en el lenguaje R usando la biblioteca del paquete ggplot2, primero ajustamos nuestro marco de datos en un modelo de regresión lineal usando la función lm(). La función lm() toma una función de regresión como argumento junto con el marco de datos y devuelve un modelo lineal. Luego creamos un marco de datos que contiene el valor predicho y el valor real para graficar. para obtener valores predichos, podemos usar la función predict() para usar ese modelo lineal para predecir valores para cualquier punto de datos dado. Luego trazaremos un diagrama de dispersión entre el valor predicho y el real usando la función ggplot() con la función geom_point() y luego agregaremos una línea diagonal lineal usando la función geom_abline() para visualizar la diferencia entre los valores predichos y reales.

Sintaxis:

modelo_lineal <- lm( función_regresión, df)

datos_trazado <- datos.marco(datos_predichos = predecir(modelo_lineal), datos_actuales= df$y )

ggplot( plot_data, aes( x=predicted_data, y=actual_data ) ) + geom_point()+ geom_abline(intercepción =0, pendiente=1)

dónde,

  • regression_function: determina la función sobre la que se debe ajustar el modelo lineal.
  • df: determina el marco de datos que se utiliza para la predicción.
  • y: determina la variable del eje y.

Ejemplo: aquí hay una gráfica de valores reales frente a valores predichos usando un modelo de regresión lineal usando el paquete ggplot2.

R

# create sample data frame
x1 <- rnorm(100)
x2 <- rnorm(100)
y <- rnorm(100) + x1 + x2
sample_data <- data.frame(x1, x2, y)
  
# fit data to a linear model
linear_model <- lm(y~x1+x2, sample_data )
  
# load library ggplot2
library(ggplot2)
  
# create dataframe with actual and predicted values
plot_data <- data.frame(Predicted_value = predict(linear_model),  
                       Observed_value = sample_data$y)
  
# plot predicted values and actual values
ggplot(plot_data, aes(x = Predicted_value, y = Observed_value)) +
                  geom_point() +
                 geom_abline(intercept = 0, slope = 1, color = "green")

Producción:

Publicación traducida automáticamente

Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *