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"
| 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 |
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")
|
|
|
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
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:
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.
\(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.
\(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.
\(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")
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
plot(Salinidad[,c('Biomasa','pH','Salinidad','Zinc','Potasio')])
library(corrplot)
corrplot.mixed(cor(Salinidad),
upper = "square",
lower = "number",
addgrid.col = "black",
tl.col = "black")
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:
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.
\(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.
\(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.
\(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.