Informe Regresión Múltiple

load("D:/01_PUJ/02_02_Met_Est_Toma_decis/Scripts/moluscos.RData")
BD_moluscos
df <- data.frame(BD_moluscos)
df$c_agua <- as.factor(df$c_agua)
df$molusco <- as.factor(df$molusco)
head(df)
attach(df)

1. Dos tipos de moluscos A y B fueron sometidos a tres concentraciones distintas de agua de mar (100%, 75% y 50%) y se observó el consumo de oxígeno midiendo la proporción de O2 por unidad de peso seco del molusco.

a. Realice un análisis exploratorio que permita conocer como es el consumo de oxígeno en las distintas concentraciones de agua de mar. y si estas conclusiones son las mismas para cada tipo de molusco.

library(ggplot2)
library(plotly)
summary(df)
##  c_agua   molusco     cons_o      
##  50 :16   A:24    Min.   : 1.800  
##  75 :16   B:24    1st Qu.: 6.312  
##  100:16           Median : 9.700  
##                   Mean   : 9.305  
##                   3rd Qu.:11.232  
##                   Max.   :18.800
tapply(cons_o, molusco, mean)
##         A         B 
## 10.000417  8.609167
boxplot(cons_o~molusco, col =("blue"), ylab = ("Consumo Oxigeno"), xlab = ("Molusco"))

graf0 <- ggplot(df,aes(y=cons_o,x=c_agua,fill=molusco))+geom_boxplot()+facet_grid(~molusco)+ggtitle("Concentracíón de H2O - Comsumo de O2 - Tipo de Molusco")+labs(x="Concentración agua de mar",y="Consumo de Oxigeno")

ggplotly(graf0)
graf_1 <- ggplot(df, aes(x = c_agua, y = cons_o)) +
  geom_point() + facet_grid(~molusco) +theme_bw() +
  labs(x = "Concentración agua de mar", y = "Consumo de Oxigeno")

ggplotly(graf_1)

En la gráfica de caja se puede observar que el consumo de oxigeno de los moluscos varia dependiendo en las diferentes concentraciones de agua de mar. El consumo de oxigeno de los moluscos “A” y “B” es más alto cuando la concentración del agua de mar es del 50% de concentración y el más bajo es cuando está en el 75% de concentración.

Según el diagrama de caja, para el molusco “A” la mediana que coincide con el segundo cuartil, en promedio para las diferentes concentraciones de agua de mar es del 9.19 de consumo de oxigeno. Para el molusco “B” la mediana en promedio es del 8.20 del consumo de oxigeno.

Para el molusco “A” tiene asimetría positiva o sesgada a la derecha en las diferentes concentraciones de agua de mar. Es por ello que la media de 10.00 es mayor que el promedio de la mediana 9.19 en el consumo de oxigeno.Para el molusco “B” la media es de 8.61 y el promedio de la mediana es del 8.20 en el consumo de oxigeno.

En ambas gráficas es evidente que el molusco que más consume oxigeno es el molusco “A”.

b. Estime el modelo de diseño de experimentos el cual permita evaluar el efecto de la concentración de agua de mar y los tipos de molusco sobre el consumo de oxigeno. Interprete los coeficientes del modelo, el valor p y realice un post anova de considerarlo necesario para los factores.

mod <- lm(cons_o~ ., df)

summary(mod)
## 
## Call:
## lm(formula = cons_o ~ ., data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.1750 -1.9877 -0.7019  2.1244  6.1450 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  12.9463     0.8521  15.193  < 2e-16 ***
## c_agua75     -5.2581     1.0436  -5.038 8.49e-06 ***
## c_agua100    -3.5794     1.0436  -3.430  0.00132 ** 
## moluscoB     -1.3913     0.8521  -1.633  0.10966    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.952 on 44 degrees of freedom
## Multiple R-squared:  0.3986, Adjusted R-squared:  0.3575 
## F-statistic: 9.719 on 3 and 44 DF,  p-value: 4.866e-05

Anova -> Concentración Agua de Mar

mod1 <- lm(cons_o~c_agua, data = df)

anova(mod1)
summary(mod1)
## 
## Call:
## lm(formula = cons_o ~ c_agua, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.8706 -2.0445 -0.4766  2.2494  6.5494 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  12.2506     0.7515  16.302  < 2e-16 ***
## c_agua75     -5.2581     1.0627  -4.948 1.09e-05 ***
## c_agua100    -3.5794     1.0627  -3.368  0.00156 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.006 on 45 degrees of freedom
## Multiple R-squared:  0.3621, Adjusted R-squared:  0.3338 
## F-statistic: 12.77 on 2 and 45 DF,  p-value: 4.043e-05

Postanova -> Concentración Agua de Mar

library(agricolae)
post <- LSD.test(mod1, "c_agua")

post
## $statistics
##   MSerror Df     Mean       CV  t.value     LSD
##   9.03543 45 9.304792 32.30485 2.014103 2.14048
## 
## $parameters
##         test p.ajusted name.t ntr alpha
##   Fisher-LSD      none c_agua   3  0.05
## 
## $means
##       cons_o      std  r       LCL       UCL  Min  Max    Q25    Q50     Q75
## 100  8.67125 3.000940 16  7.157702 10.184798 3.68 14.0  6.140  8.595 10.5750
## 50  12.25062 3.199643 16 10.737077 13.764173 6.38 18.8 10.085 11.455 14.5000
## 75   6.99250 2.804093 16  5.478952  8.506048 1.80 13.2  5.200  6.430  8.7675
## 
## $comparison
## NULL
## 
## $groups
##       cons_o groups
## 50  12.25062      a
## 100  8.67125      b
## 75   6.99250      b
## 
## attr(,"class")
## [1] "group"
bar.group(post$group, ylim = c(0,20))

Anova -> Moluscos

mod2 <- lm(cons_o~molusco, data = df)

anova(mod2)
summary(mod2)
## 
## Call:
## lm(formula = cons_o ~ molusco, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.8092 -2.8254 -0.2604  1.7930  9.0908 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  10.0004     0.7459  13.408   <2e-16 ***
## moluscoB     -1.3913     1.0548  -1.319    0.194    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.654 on 46 degrees of freedom
## Multiple R-squared:  0.03644,    Adjusted R-squared:  0.01549 
## F-statistic:  1.74 on 1 and 46 DF,  p-value: 0.1937

En el Anova para los tipos de moluscos se puede evidenciar que no hay diferencias significativas entre los tipos. Con el resumen se refuerza esta conclusión. No es necesario realizar un prueba postanova.

2. Para estudiar la relación entre ciertas características del suelo y la producción de biomasa (gr) de una planta forrajera natural se obtuvieron 45 muestras en diferentes ambientes, y en cada muestra se estimó la biomasa (respuesta Y) y se registraron las características (covariables X) del suelo en el que crecía (pH, Salinidad, Zinc y Potasio).

load("D:/01_PUJ/02_02_Met_Est_Toma_decis/Scripts/Salinidad.RData")
Salinidad
df2 <- data.frame(Salinidad)


head(df2)
attach(df2)

a. Realice un análisis de correlaciones que permita identificar de manera bivariada las relaciones entre las covariables y la respuesta (incluir coeficiente de correlación e interpretaciones).

library(GGally)
library(dplyr)
ggpairs(select_if(df2, is.numeric), lower = list(continuous = "smooth"),diag = list(continuous = "barDiag"), axisLabels = "none")

library(ggpubr)
graf_2=ggplot(data=df2,aes(x=pH,y=Biomasa))+geom_point()+theme_bw()
A <- ggplotly(graf_2)

graf_3=ggplot(data=df2,aes(x=Salinidad,y=Biomasa))+geom_point()+theme_bw()
B <- ggplotly(graf_3)

graf_4=ggplot(data=df2,aes(x=Zinc,y=Biomasa))+geom_point()+theme_bw()
C <- ggplotly(graf_4)

graf_5=ggplot(data=Salinidad,aes(x=Potasio,y=Biomasa))+geom_point()+theme_bw()
D <- ggplotly(graf_5)

ggarrange(graf_2 , graf_3, graf_4, graf_5, labels = c("A", "B", "C", "D" ), ncol = 2, nrow = 2)

cor(df2,df2$Biomasa)
##                  [,1]
## Biomasa    1.00000000
## pH         0.92810235
## Salinidad -0.06657756
## Zinc      -0.78146249
## Potasio   -0.07319518

Correlación

Biomasa - pH: 0.93

Se observa una relación fuerte y positiva entre la variable Biomada y pH. Lo que significa que a medida que el pH aumenta, la Biomasa también.

Biomasa - Salinidad: -0.07

Se observa una relación débil y negativa entre la variable Biomasa y la variable Salinidad, ya que lo datos se encuentran muy dispersos y no se evidencia alguna tendencia o comportamiento.

Biomasa - Zinc: -0.78

Se observa una relación fuerte y negativa. Lo que significa que cuando la variable Zinc aumenta la Biomasa disminuye.

Biomasa - Potacio: -0.07

Se observa una relación débil y negativa entre la variable Biomasa y la variable Potacio, ya que lo datos se encuentran dispersos y no se evidencia alguna tendencia o comportamiento.

No se puede olvidar que correlación no implica causalidad.

b. Estime el modelo de regresión lineal múltiple para explicar la biomasa en función de las covariables e interprete el valor p, los coeficientes de las variables significativas y el coeficiente \(R^{2}\).

mod3=lm(Biomasa~. ,data=Salinidad)
summary(mod3)
## 
## Call:
## lm(formula = Biomasa ~ ., data = Salinidad)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -293.98  -88.83   -9.48   88.20  387.27 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1492.8076   453.6013   3.291 0.002091 ** 
## pH           262.8829    33.7304   7.794 1.51e-09 ***
## Salinidad    -33.4997     8.6525  -3.872 0.000391 ***
## Zinc         -28.9727     5.6643  -5.115 8.20e-06 ***
## Potasio       -0.1150     0.0819  -1.404 0.167979    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 158.9 on 40 degrees of freedom
## Multiple R-squared:  0.9231, Adjusted R-squared:  0.9154 
## F-statistic:   120 on 4 and 40 DF,  p-value: < 2.2e-16

Modelo

\(Biomasa\) = \(1492.8076 + 262.8829*pH - 33.4997*Salinidad - 28.9727*Zinc - 0.1150*Potasio\)

Para el modelo de regresión lineal múltiple con todas la variables, se puede observar que la variables más significativas para la generación de Biomasa, son las variables pH, Salinidad y Zinc. La variable Potasio, no es significativa y solo puede generar ruido.

  • pH: manteniendo lo demás constante, por cada unidad adicional de pH en el suelo, la Biomasa aumenta 263 gramos.

  • Salinidad: manteniendo lo demás constante, por cada unidad adicional de Salinidad en el suelo, la Biomasa disminuye 33 gramos.

  • Zinc: manteniendo lo demás constante, por cada unidad adicional de Zinc en el suelo, la Biomasa disminuye 33 gramos.

Con \(\alpha\) = 0.05

El \(p- value\) del modelo 2.2e-16 < \(\alpha\), nos indica que el modelo es estadísticamente significativo.

El \(R^2\) nos indica que las variables indpendientes pH, Salinidad, Zinc, Potasio, explican el 92% de la variable dependiente Biomasa

El informe se presenta en parejas y se envía al correo el enlace con la cuenta de Rpubs que el profesor debe calificar.