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