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.

df_moluscos <- load("C:/Users/kaqu/Documents/Maestria Ciencia de Datos/Segundo_semestre/metodos_estadisticos/moluscos.RData")
attach(BD_moluscos)
names(BD_moluscos)
## [1] "c_agua"  "molusco" "cons_o"
Datos Moluscos
c_agua molusco cons_o
100 A 7.16
100 A 8.26
100 A 6.78
100 A 14.00
100 A 13.60
100 A 11.10

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.

Revisión de datos Faltantes

apply(is.na(BD_moluscos), 2, sum)
##  c_agua molusco  cons_o 
##       0       0       0

No existe presencia de valores faltantes dentro de la base que se esta evaluando.

tabla_molusco = tabla_freq(BD_moluscos$molusco)
tabla_c_agua = tabla_freq(BD_moluscos$c_agua)
tabla_cons_o  = descriptivas(BD_moluscos$cons_o)



kbl(list(tabla_molusco,tabla_c_agua,tabla_cons_o),caption = "<center><strong># de Moluscos , concentración agua y consumo oxigeno </strong></center>") %>%
  kable_paper(bootstrap_options = "striped")
# de Moluscos , concentración agua y consumo oxigeno
Categoría Freq. Abs. Freq. Rel.
A 24 50
B 24 50
Total 48 100
Categoría Freq. Abs. Freq. Rel.
50 16 33.33333
75 16 33.33333
100 16 33.33333
Total 48 100.00000
MEDIDA VALOR
Observaciones 48.000000
Mínimo 1.800000
1er Q 6.312500
Media 9.304792
Mediana 9.700000
Desv Est 3.682652
3er Q 11.232500
Máximo 18.800000
par(mfrow = c(1,2))
boxplot(BD_moluscos$cons_o, horizontal = TRUE, main = "Boxplot Consumo Oxigeno",col="#A6CEE3" )
hist(BD_moluscos$cons_o,main = "Histograma Consumo Oxigeno" , ylab = "Frecuencia" , xlab = "proporcion o2",col="#A6CEE3")

Análisis Bivariado

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.

modelo_moluscos=lm(cons_o~c_agua+molusco, data = BD_moluscos)

summary(modelo_moluscos)
## 
## Call:
## lm(formula = cons_o ~ c_agua + molusco, data = BD_moluscos)
## 
## 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

\(H_0 :\beta_1,.., \beta_3=0\)

\(H_a :\beta_1,.., \beta_3\neq 0\)

Se Puede observar que \(Pvalue_{\beta_3} > \alpha:0.05}\), entonces no se rechaza \(H_0\), y se dice que \(\beta_3\) no tiene relevancia.

El coeficiente de determinación representa la proporción de la variabilidad de Y que es posible explicar a travez de x. En este caso el modelo construido explica el 40% de las variaciones del consumo de o2 a partir del tipo de molusco y la concentración de agua de mar.

\[ Y_{(consumoO2)} =12.9463-5.2581*cagua75-3.5794*cagua100-1.3913*moluscoB\]

Interpretación Betas

  • \(\beta_0:\)Si no se tuvieran en cuenta el resto de variables, el consumo de oxigeno en promedio seria de cerca 13% por unidad de peso seco del molusco.

  • \(\beta_1:\)Si la concentración de agua de mar es de 75%, se espera que en promedio el consumo de oxigeno disminuya en 5.2581 unidades con respecto a la concentración de agua de mar del 50%.

  • \(\beta_2:\)Si la concentración de agua de mar es de 100%, se espera que en promedio el consumo de oxigeno disminuya en 3.5794 unidades con respecto a la concentración de agua de mar del 50%.

  • \(\beta_3:\)Los moluscos B se espera que en promedio el consumo de oxigeno disminuya en 1.3913 unidades con respecto a los moluscos de tipo A.

Validación de Supuestos:

  1. \(E(e_i )= 0\)
error_medio_m1=mean(residuals(modelo_moluscos))
error_medio_m1
## [1] 5.782525e-17

El valor esperado (promedio) de los residuales es igual a 0.

  1. Supuesto de Normalidad

\(H_0 : X \sim N(\mu,\sigma^2)\)

\(H_a : X \nsim N(\mu,\sigma^2)\)

norm_m1=shapiro.test(modelo_moluscos$residuals)
norm_m1
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_moluscos$residuals
## W = 0.9509, p-value = 0.04342

Com \(P-value\) es menor a a 0.05 (nivel de significancia escogido), se rechaza \(H_0\), entonces podría pensar que los errores no siguen una distribución normal.

  1. Supuesto de Homocedasticidad de Varianza (Breush Pagan)

\(H_0 : Los \, residuales \, se \, distribuyen \, con \, la \, misma \, varianza\)

\(H_a : Los \, residuales \, no \ se \, distribuyen \, con \, la \, misma \, varianza\)

homocedasticidad_m1=bptest(modelo_moluscos)
homocedasticidad_m1
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_moluscos
## BP = 1.5424, df = 3, p-value = 0.6725

Como $ P-value $ es mayor a 0.05 (nivel de significancia escogido), no se rechaza \(H_0\), entonces se podría pensar que los errores cumplen con el supuesto de homocedasticidad.

  1. Supuesto de Autocorrelación de los errores (Durbin-Watson)

\(H_0 : No \, existe \, correlación \, entre \, los \, errores\)

\(H_a : Existe \, correlación\, entre\, los\, errores\)

autocor_m1=dwt(modelo_moluscos, alternative = "two.sided")
autocor_m1
##  lag Autocorrelation D-W Statistic p-value
##    1      0.04335956      1.899129   0.404
##  Alternative hypothesis: rho != 0

Como $ P-value $ es mayor a 0.05 (nivel de significancia escogido),no se rechaza \(H_0\), entonces se podría pensar que los errores no estan autocorrelacionados.

Anova

anova(modelo_moluscos)
## Analysis of Variance Table
## 
## Response: cons_o
##           Df Sum Sq Mean Sq F value   Pr(>F)    
## c_agua     2 230.82 115.408 13.2457 3.14e-05 ***
## molusco    1  23.23  23.227  2.6658   0.1097    
## Residuals 44 383.37   8.713                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Como puede observarse en los resultados proporcionados por anova, en definitiva la variable molusco no representa tener media diferente al ser su p valor menor que 0.05. Al contrario la concentración de agua de mar si parece tener influencia en el consumo de oxigeno.

Prueba Postanova

El Test LSD (Least significant difference) de Fisher es un test de comparaciones múltiples. Permite comparar las medias de los t niveles de un factor después de haber rechazado la Hipótesis nula de igualdad de medias mediante la técnica ANOVA. Todos los tests de comparaciones múltiples son tests que tratan de perfilar, tratan de especificar, tratan de concretar, una Hipótesis alternativa genérica como la de cualquiera de los Test ANOVA.

attach(BD_moluscos)
library(agricolae)
comp_mod_moluscos= LSD.test(modelo_moluscos,c("c_agua","molusco"))
comp_mod_moluscos
## $statistics
##    MSerror Df     Mean       CV  t.value      LSD
##   8.712897 44 9.304792 31.72303 2.015368 2.974442
## 
## $parameters
##         test p.ajusted         name.t ntr alpha
##   Fisher-LSD      none c_agua:molusco   6  0.05
## 
## $means
##         cons_o      std r       LCL       UCL  Min   Max     Q25    Q50     Q75
## 100:A  9.93625 2.747976 8  7.833002 12.039498 6.78 14.00  7.9850  9.295 11.7250
## 100:B  7.40625 2.844076 8  5.303002  9.509498 3.68 11.60  5.7225  6.140 10.1000
## 50:A  12.17500 3.090178 8 10.071752 14.278248 9.74 18.80 10.3100 11.110 12.5000
## 50:B  12.32625 3.517909 8 10.223002 14.429498 6.38 17.70 10.0575 12.850 14.5000
## 75:A   7.89000 2.739578 8  5.786752  9.993248 5.20 13.20  6.0775  7.180  8.8925
## 75:B   6.09500 2.739108 8  3.991752  8.198248 1.80  9.96  4.8300  5.595  7.3425
## 
## $comparison
## NULL
## 
## $groups
##         cons_o groups
## 50:B  12.32625      a
## 50:A  12.17500      a
## 100:A  9.93625     ab
## 75:A   7.89000     bc
## 100:B  7.40625     bc
## 75:B   6.09500      c
## 
## attr(,"class")
## [1] "group"
plot(comp_mod_moluscos,variation="SD")

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

df_salinidad <- load("C:/Users/kaqu/Documents/Maestria Ciencia de Datos/Segundo_semestre/metodos_estadisticos/Salinidad.RData")
attach(Salinidad)
names(Salinidad)
## [1] "Biomasa"   "pH"        "Salinidad" "Zinc"      "Potasio"
head(Salinidad)
##    Biomasa   pH Salinidad    Zinc Potasio
## 1  765.280 5.00        33 16.4524 1441.67
## 2  954.017 4.70        35 13.9852 1299.19
## 3  827.686 4.20        32 15.3276 1154.27
## 4  755.072 4.40        30 17.3128 1045.15
## 5  896.176 5.55        33 22.3312  521.62
## 6 1422.836 5.50        33 12.2778 1273.02

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

plot(Salinidad[,c('Biomasa','pH','Salinidad','Zinc','Potasio')])

library(corrplot)

corrplot.mixed(cor(Salinidad),
 upper = "square",
 lower = "number",
 addgrid.col = "black",
 tl.col = "black")

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 R2.

modelo_salinidad=lm(Biomasa~pH+Salinidad+Zinc+Potasio, data = Salinidad)

summary(modelo_salinidad)
## 
## Call:
## lm(formula = Biomasa ~ pH + Salinidad + Zinc + Potasio, 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

\(H_0 :\beta_1,.., \beta_4=0\)

\(H_a :\beta_1,.., \beta_4\neq 0\)

Se Puede observar que \(Pvalue_{\beta_4} > \alpha:0.05}\), entonces no se rechaza \(H_0\), y se dice que \(\beta_4\) no tiene relevancia.

El coeficiente de determinación representa la proporción de la variabilidad de Y que es posible explicar a travez de x. En este caso el modelo construido explica el 92% de las variaciones de la biomasa de una planta forrajera natural a partir del pH, la salinidad, el zinc y el potasio.

\[ Y_{(biomasa)} =1492.8076+262.8829*pH-33.4997*Salinidad-28.9727*Zinc-0.1150*Potasio\]

Interpretación Betas

  • \(\beta_0:\)Si no se tuvieran en cuenta el resto de variables, la produccion de biomasa en promedio seria de 1492 gr.

  • \(\beta_1:\)Por cada unidad de ph que aumente, se espera que en promedio la produccion de biomasa aumente en 262 gr.

  • \(\beta_2:\)Por cada unidad de salinidad que se incremente, se espera que en promedio la produccion de biomasa disminuya en 33.4 gr.

  • \(\beta_3:\)Por cada unidad de zinc que se incremente, se espera que en promedio la produccion de biomasa disminuya en 28.97 gr.

Validación de Supuestos:

  1. \(E(e_i )= 0\)
error_medio_m2=mean(residuals(modelo_salinidad))
error_medio_m2
## [1] 5.453045e-15

El valor esperado (promedio) de los residuales es igual a 0.

  1. Supuesto de Normalidad

\(H_0 : X \sim N(\mu,\sigma^2)\)

\(H_a : X \nsim N(\mu,\sigma^2)\)

norm_m2=shapiro.test(modelo_salinidad$residuals)
norm_m2
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_salinidad$residuals
## W = 0.96586, p-value = 0.2036

Com \(P-value\) es mayor a 0.05 (nivel de significancia escogido), no se rechaza \(H_0\), entonces podría pensar que los errores siguen una distribución normal.

  1. Supuesto de Homocedasticidad de Varianza (Breush Pagan)

\(H_0 : Los \, residuales \, se \, distribuyen \, con \, la \, misma \, varianza\)

\(H_a : Los \, residuales \, no \ se \, distribuyen \, con \, la \, misma \, varianza\)

homocedasticidad_m2=bptest(modelo_salinidad)
homocedasticidad_m2
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_salinidad
## BP = 5.4945, df = 4, p-value = 0.2402

Como $ P-value $ es mayor a 0.05 (nivel de significancia escogido), no se rechaza \(H_0\), entonces se podría pensar que los errores cumplen con el supuesto de homocedasticidad.

  1. Supuesto de Autocorrelación de los errores (Durbin-Watson)

\(H_0 : No \, existe \, correlación \, entre \, los \, errores\)

\(H_a : Existe \, correlación\, entre\, los\, errores\)

autocor_m2=dwt(modelo_salinidad, alternative = "two.sided")
autocor_m2
##  lag Autocorrelation D-W Statistic p-value
##    1       0.1086403      1.664659   0.124
##  Alternative hypothesis: rho != 0

Como $ P-value $ es mayor a 0.05 (nivel de significancia escogido),no se rechaza \(H_0\), entonces se podría pensar que los errores no estan autocorrelacionados.