Introducción

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.

Ejercicio 1: Relación entre Temperatura y Ag2S

Paso 1: Cargar los Datos

Primero, cargamos los datos de temperatura y porcentaje de Ag2S en vectores.

# Cargar los datos
x <- c(398, 292, 352, 575, 568, 450, 550, 408, 484, 350, 503, 600, 600)
y <- c(0.15, 0.05, 0.23, 0.43, 0.23, 0.40, 0.44, 0.44, 0.45, 0.09, 0.59, 0.63, 0.63)
data1 <- data.frame(Temperatura = x, Ag2S = y)
datatable(data1, options = list(pageLength = 5, autoWidth = TRUE))

Paso 2: Graficar Dispersión

A continuación, graficamos un diagrama de dispersión para visualizar la relación entre temperatura y porcentaje de Ag2S.

# Graficar dispersión
p <- ggplot(data1, aes(x = Temperatura, y = Ag2S)) +
  geom_point(color = "blue", size = 3) +
  labs(title = "Gráfico de Dispersión",
       x = "Temperatura (°C)",
       y = "Ag2S (mol%)") +
  theme_minimal()

ggplotly(p)

Paso 3: Ajustar el Modelo de Regresión Lineal

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

Paso 4: Análisis de Varianza (ANOVA)

Realizamos un análisis de varianza (ANOVA) para evaluar la significancia del modelo de regresión.

# ANOVA
anova(modelo)
## 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

Paso 5: Verificación de Supuestos

Verificamos los supuestos del modelo de regresión lineal (linealidad, independencia, homocedasticidad y normalidad).

# Verificación de los supuestos
par(mfrow=c(2,2))
plot(modelo)

par(mfrow=c(1,1))

Paso 6: Intervalo de Predicción

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

Paso 7: Prueba de Hipótesis

Realizamos una prueba de hipótesis para evaluar si el valor promedio de y cuando x = 410 es 0.20.

# Prueba de hipótesis
t.test(y - modelo$fitted.values)
## 
##  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

Conclusión del Primer Ejercicio

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.

Ejercicio 2: Relación entre Variables Independientes y Dependiente

Paso 1: Cargar los Datos

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))

Paso 2: Ajustar el Modelo de Regresión Lineal Múltiple

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

Paso 3: Análisis de Varianza (ANOVA)

Realizamos un análisis de varianza (ANOVA) para evaluar la significancia del modelo de regresión.

# ANOVA
anova(modelo_mult)
## 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

Paso 4: Verificación de Supuestos

Verificamos los supuestos del modelo de regresión lineal múltiple.

# Verificación de los supuestos
par(mfrow=c(2,2))
plot(modelo_mult)
## Warning in sqrt(crit * p * (1 - hh)/hh): Se han producido NaNs
## Warning in sqrt(crit * p * (1 - hh)/hh): Se han producido NaNs

par(mfrow=c(1,1))

Paso 5: Selección de Variables

Aplicamos el método backward y forward para seleccionar las variables más significativas.

# Método backward
modelo_backward <- step(modelo_mult, direction = "backward")
## 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
summary(modelo_backward)
## 
## 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
summary(modelo_forward)
## 
## 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

Conclusión del Segundo Ejercicio

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