Este documento presenta dos análisis de regresión lineal. El primer análisis estudia la relación entre la temperatura (°C) y el porcentaje de Ag2S (mol%). El segundo análisis investiga la relación entre varias variables independientes y una variable dependiente.
Primero, cargamos los datos de temperatura y porcentaje de Ag2S en vectores.
A continuación, graficamos un diagrama de dispersión para visualizar la relación entre temperatura y porcentaje de Ag2S.
Ahora, ajustamos un modelo de regresión lineal a los datos y mostramos un resumen del modelo.
# Ajustar el modelo de regresión lineal
modelo <- lm(Ag2S ~ Temperatura, data = data1)
summary(modelo)##
## Call:
## lm(formula = Ag2S ~ Temperatura, data = data1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.27713 -0.08736 0.03855 0.07610 0.17786
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.3230052 0.1754542 -1.841 0.09273 .
## Temperatura 0.0014615 0.0003639 4.016 0.00203 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.132 on 11 degrees of freedom
## Multiple R-squared: 0.5945, Adjusted R-squared: 0.5577
## F-statistic: 16.13 on 1 and 11 DF, p-value: 0.002029
Realizamos un análisis de varianza (ANOVA) para evaluar la significancia del modelo de regresión.
## Analysis of Variance Table
##
## Response: Ag2S
## Df Sum Sq Mean Sq F value Pr(>F)
## Temperatura 1 0.28093 0.280927 16.13 0.002029 **
## Residuals 11 0.19158 0.017416
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Verificamos los supuestos del modelo de regresión lineal (linealidad, independencia, homocedasticidad y normalidad).
Calculamos el intervalo de predicción para una temperatura específica (x = 410).
# Supuesto: Cuando x = 410, el valor promedio de y es 0.20
x0 <- 410
y0 <- 0.20
# Intervalo de predicción
pred <- predict(modelo, newdata = data.frame(Temperatura = x0), interval = "prediction")
pred## fit lwr upr
## 1 0.2762147 -0.02922 0.5816493
Realizamos una prueba de hipótesis para evaluar si el valor promedio de y cuando x = 410 es 0.20.
##
## One Sample t-test
##
## data: y - modelo$fitted.values
## t = 6.0835e-17, df = 12, p-value = 1
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.07635423 0.07635423
## sample estimates:
## mean of x
## 2.131917e-18
En el primer ejercicio, se ha analizado la relación entre la temperatura (°C) y el porcentaje de Ag2S (mol%) utilizando un modelo de regresión lineal simple. Los resultados obtenidos muestran una relación positiva entre ambas variables, indicando que a medida que la temperatura aumenta, también lo hace el porcentaje de Ag2S. El modelo de regresión lineal ajustado proporciona una comprensión clara de esta relación, respaldada por un análisis de varianza que confirma la significancia del modelo. Sin embargo, es importante considerar que, aunque el modelo es significativo, otros factores no considerados en este análisis podrían influir en la variabilidad del porcentaje de Ag2S.
Cargamos los datos en un data frame.
# Cargar los datos
data2 <- data.frame(
y = c(170, 165, 168, 175, 180, 190, 185, 220, 220, 240),
x1 = c(13, 12, 11, 16, 15, 20, 19, 24, 25, 28),
x2 = c(40, 35, 32, 40, 60, 55, 55, 65, 72, 75),
x3 = c(1648, 1900, 1740, 1710, 1600, 1500, 1360, 1300, 1200, 1100),
x4 = c(80, 95, 85, 82, 80, 75, 70, 65, 60, 55),
x5 = c(18, 25, 28, 30, 40, 45, 50, 55, 60, 65)
)
datatable(data2, options = list(pageLength = 5, autoWidth = TRUE))Ajustamos un modelo de regresión lineal múltiple a los datos y mostramos un resumen del modelo.
# Ajustar el modelo de regresión lineal múltiple
modelo_mult <- lm(y ~ ., data = data2)
summary(modelo_mult)##
## Call:
## lm(formula = y ~ ., data = data2)
##
## Residuals:
## 1 2 3 4 5 6 7 8 9 10
## 1.0267 5.6131 5.7701 -7.8724 -0.7862 -6.4893 -6.7745 4.9594 -1.8551 6.4082
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 125.26435 88.78967 1.411 0.231
## x1 2.93885 2.04789 1.435 0.225
## x2 0.23891 0.58176 0.411 0.702
## x3 0.09949 0.14408 0.690 0.528
## x4 -2.16073 2.76459 -0.782 0.478
## x5 0.26966 0.77829 0.346 0.746
##
## Residual standard error: 8.449 on 4 degrees of freedom
## Multiple R-squared: 0.9535, Adjusted R-squared: 0.8954
## F-statistic: 16.41 on 5 and 4 DF, p-value: 0.009021
Realizamos un análisis de varianza (ANOVA) para evaluar la significancia del modelo de regresión.
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x1 1 5797.2 5797.2 81.2057 0.0008397 ***
## x2 1 10.9 10.9 0.1530 0.7156091
## x3 1 3.2 3.2 0.0445 0.8431616
## x4 1 36.7 36.7 0.5142 0.5129565
## x5 1 8.6 8.6 0.1200 0.7464419
## Residuals 4 285.6 71.4
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Verificamos los supuestos del modelo de regresión lineal múltiple.
## Warning in sqrt(crit * p * (1 - hh)/hh): Se han producido NaNs
## Warning in sqrt(crit * p * (1 - hh)/hh): Se han producido NaNs
Aplicamos el método backward y forward para seleccionar las variables más significativas.
## Start: AIC=45.52
## y ~ x1 + x2 + x3 + x4 + x5
##
## Df Sum of Sq RSS AIC
## - x5 1 8.570 294.12 43.814
## - x2 1 12.039 297.59 43.931
## - x3 1 34.037 319.59 44.645
## - x4 1 43.608 329.16 44.940
## <none> 285.55 45.518
## - x1 1 147.018 432.57 47.672
##
## Step: AIC=43.81
## y ~ x1 + x2 + x3 + x4
##
## Df Sum of Sq RSS AIC
## - x2 1 18.574 312.70 42.427
## - x3 1 26.232 320.36 42.668
## - x4 1 36.710 330.84 42.990
## <none> 294.12 43.814
## - x1 1 289.324 583.45 48.664
##
## Step: AIC=42.43
## y ~ x1 + x3 + x4
##
## Df Sum of Sq RSS AIC
## - x3 1 12.14 324.84 40.808
## - x4 1 23.14 335.84 41.140
## <none> 312.70 42.427
## - x1 1 435.74 748.44 49.154
##
## Step: AIC=40.81
## y ~ x1 + x4
##
## Df Sum of Sq RSS AIC
## - x4 1 20.10 344.94 39.408
## <none> 324.84 40.808
## - x1 1 425.26 750.10 47.176
##
## Step: AIC=39.41
## y ~ x1
##
## Df Sum of Sq RSS AIC
## <none> 344.9 39.408
## - x1 1 5797.2 6142.1 66.203
##
## Call:
## lm(formula = y ~ x1, data = data2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.317 -4.835 1.197 3.831 8.162
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 112.4300 7.1118 15.81 2.56e-07 ***
## x1 4.3098 0.3717 11.60 2.78e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.566 on 8 degrees of freedom
## Multiple R-squared: 0.9438, Adjusted R-squared: 0.9368
## F-statistic: 134.5 on 1 and 8 DF, p-value: 2.783e-06
# Método forward
modelo_forward <- step(lm(y ~ 1, data = data2), scope = list(lower = ~1, upper = ~ x1 + x2 + x3 + x4 + x5), direction = "forward")## Start: AIC=66.2
## y ~ 1
##
## Df Sum of Sq RSS AIC
## + x1 1 5797.2 344.9 39.408
## + x4 1 5392.0 750.1 47.176
## + x3 1 5345.0 797.1 47.784
## + x5 1 5194.2 947.9 49.517
## + x2 1 5124.1 1018.0 50.230
## <none> 6142.1 66.203
##
## Step: AIC=39.41
## y ~ x1
##
## Df Sum of Sq RSS AIC
## <none> 344.94 39.408
## + x4 1 20.0960 324.84 40.808
## + x2 1 10.9239 334.01 41.086
## + x3 1 9.1019 335.84 41.140
## + x5 1 0.7420 344.20 41.386
##
## Call:
## lm(formula = y ~ x1, data = data2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.317 -4.835 1.197 3.831 8.162
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 112.4300 7.1118 15.81 2.56e-07 ***
## x1 4.3098 0.3717 11.60 2.78e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.566 on 8 degrees of freedom
## Multiple R-squared: 0.9438, Adjusted R-squared: 0.9368
## F-statistic: 134.5 on 1 and 8 DF, p-value: 2.783e-06
En el segundo ejercicio, se ha llevado a cabo una regresión lineal múltiple para investigar la relación entre una variable dependiente y varias variables independientes. Los resultados indican que algunas variables independientes tienen un impacto significativo en la variable dependiente. Utilizando los métodos de selección de variables backward y forward, se han identificado las variables más relevantes para el modelo. Estos métodos permiten simplificar el modelo, eliminando variables que no aportan significativamente a la predicción de la variable dependiente. El análisis de varianza y la verificación de supuestos respaldan la validez del modelo ajustado. Este análisis demuestra la importancia de la selección de variables en la construcción de modelos predictivos eficientes y precisos