Eliminar intercepción del modelo de regresión en R

En este artículo, discutiremos cómo eliminar la intercepción del modelo de regresión en el lenguaje de programación R.

Extraer intercepción del modelo de regresión lineal

Para extraer la intercepción del modelo de regresión lineal en el lenguaje R, usamos la función de resumen() del lenguaje R. Primero creamos el modelo de regresión lineal usando la función lm(). La función lm() se usa para ajustar modelos lineales a marcos de datos en el lenguaje R. Se puede utilizar para realizar regresiones, análisis de varianza de estrato único y análisis de covarianza para predecir el valor correspondiente a los datos que no están en el marco de datos. Luego usamos la función summary() para recuperar el resumen estadístico de ese modelo que también contiene la información de intercepción que hace el modelo ajustado.

Sintaxis:

modelo_lineal <- lm( fórmula, datos )

resumen (modelo_lineal)

Parámetro:

  • fórmula: determina la fórmula para el modelo lineal.
  • datos: determina el nombre del marco de datos que contiene los datos.

Ejemplo: aquí hay un modelo de regresión lineal con intercepto en el lenguaje R.

R

# sample data frame
sample_data <- data.frame( x1= c(2,3,5,4,8),
                  x2= c(0,3,5,6,23),
                  y= c(1,6,9,15,29))
   
# fit linear model
linear_model <- lm(y ~ x1+x2, data=sample_data)
   
# view summary of linear model
summary(linear_model)

Producción:

Call:
lm(formula = y ~ x1 + x2, data = sample_data)
Residuals:
     1       2       3       4       5  
-1.9974 -0.6673 -1.1100  4.6628 -0.8880  
Coefficients:
           Estimate Std. Error t value Pr(>|t|)
(Intercept)   1.5032     7.4142   0.203    0.858
x1            0.7471     2.7159   0.275    0.809
x2            0.9743     0.6934   1.405    0.295

Aquí, la intersección se estima en 1,5032, lo que se puede ver claramente en la sección de coeficientes del resumen del modelo lineal.

Visualización del modelo de regresión

Para visualizar el modelo de regresión lineal en el lenguaje R, usamos la función plot() para trazar el diagrama de dispersión de los puntos de datos y luego usamos el potenciómetro abline() para trazar la línea de regresión.

Sintaxis:

plot(datosx, datosy)

abline(modelo_lineal)

Parámetro:

  • datax y datay: determina el valor de las variables del eje x y del eje y.
  • linear_model: determina el modelo lineal para la visualización.

Ejemplo: aquí hay una visualización de un modelo lineal con intersección.

R

# sample data frame
sample_data <- data.frame( x1= c(2,3,5,4,8),
                  x2= c(0,3,5,6,23),
                  y= c(1,6,9,15,29))
   
# fit linear model
linear_model <- lm(y ~ x1+x2, data=sample_data)
   
# visualize linear model
plot( sample_data$x1, sample_data$y, col= "blue", pch=16 )
points( sample_data$x2, sample_data$y, col="red", pch=16 )
abline(linear_model, col="green", lwd=2 )

Producción:

Quitar intercepción del modelo de regresión lineal

Para eliminar la intersección de un modelo lineal, establecemos manualmente el valor de la intersección cero. De esta forma, es posible que no obtengamos necesariamente la línea de mejor ajuste, pero la línea garantizada pasa por el origen. Para establecer la intersección como cero, agregamos 0 y el signo más delante de la fórmula de ajuste. Esto hace que la intersección sea cero.

Sintaxis:

modelo_lineal <- lm( var1 ~ 0+ fórmula, datos )

resumen (modelo_lineal)

Parámetro:

  • var1: determina la variable sobre la que se van a ajustar los datos.
  • fórmula: determina la fórmula para el modelo lineal.
  • datos: determina el nombre del marco de datos que contiene los datos.

Ejemplo: Aquí, es un modelo de regresión lineal sin intersección en el lenguaje R.

R

# sample data frame
sample_data <- data.frame( x1= c(2,3,5,4,8),
                  x2= c(0,3,5,6,23),
                  y= c(1,6,9,15,29))
   
# fit linear model
linear_model <- lm(y ~ 0+x1+x2, data=sample_data)
   
# view summary of linear model
summary(linear_model)

Producción:

Llamar:

lm(fórmula = y ~ 0 + x1 + x2, datos = datos_muestra)

Derechos residuales de autor:

     1 2 3 4 5  

-1,5422 -0,3795 -1,6325 4,7831 -0,8434  

Coeficientes:

  Estimación estándar Error valor t Pr(>|t|)  

x1 1,2711 0,6886 1,846 0,1621  

x2 0,8554 0,3056 2,799 0,0679 .

signif. códigos: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ‘ 1

Error estándar residual: 3.097 en 3 grados de libertad

R-cuadrado múltiple: 0,9757, R-cuadrado ajustado: 0,9595  

Estadístico F: 60,22 en 2 y 3 DF, valor p: 0,003789

Aquí, no obtenemos el intercepto en la sección del coeficiente de resumen ya que el intercepto se establece en cero.

Visualización de modelo lineal sin intersección

Para visualizar el modelo lineal sin intersección, agregamos el cero y el signo más (+) delante de la fórmula de ajuste. Luego, usamos las funciones plot() y abline() para visualizar el modelo de regresión lineal.

Ejemplo: aquí hay una gráfica con un modelo de regresión lineal sin el intercepto.

R

# sample data frame
sample_data <- data.frame( x1= c(2,3,5,4,8),
                  x2= c(0,3,5,6,23),
                  y= c(1,6,9,15,29))
   
# fit linear model
linear_model <- lm(y~x1+x2+0, data=sample_data)
   
# visualize linear model
plot( sample_data$x1, sample_data$y,
     col= "blue", pch=16, xlim=c(0,10))
 
points( sample_data$x2, sample_data$y,
       col="red", pch=16 )
abline(linear_model, col="green", lwd=2 )

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 *