lote=c(rep("plantas_sanas",500), rep("plantas_enfermas",500))
calcula_enfermas=function(n){
muestra=sample(lote,size = n)
return(sum(muestra=="plantas_enfermas")/n)
}
calcula_enfermas(n=100)
## [1] 0.51
estimadores=sapply(rep(100,100), calcula_enfermas)
estimadores
## [1] 0.50 0.48 0.59 0.46 0.52 0.42 0.47 0.57 0.51 0.44 0.46 0.57 0.50 0.59 0.43
## [16] 0.54 0.51 0.52 0.54 0.54 0.46 0.44 0.54 0.54 0.56 0.50 0.53 0.50 0.49 0.52
## [31] 0.55 0.46 0.52 0.49 0.52 0.56 0.47 0.48 0.60 0.51 0.45 0.54 0.51 0.46 0.47
## [46] 0.50 0.50 0.47 0.53 0.55 0.46 0.50 0.56 0.49 0.55 0.44 0.48 0.53 0.44 0.53
## [61] 0.53 0.54 0.55 0.50 0.48 0.52 0.44 0.56 0.54 0.56 0.47 0.52 0.56 0.46 0.44
## [76] 0.44 0.54 0.53 0.46 0.56 0.50 0.52 0.49 0.48 0.44 0.46 0.52 0.53 0.46 0.47
## [91] 0.47 0.47 0.58 0.47 0.54 0.53 0.54 0.47 0.57 0.54
calcula_enfermas=function(n){
muestra=sample(lote,size = n)
return(sum(muestra=="plantas_enfermas")/n)
}
calcula_enfermas(n=500)
## [1] 0.476
estimadores=sapply(rep(100,500), calcula_enfermas)
library(ggplot2)
library(ggpubr)
estimadores_graf=data.frame(estimadores)
g1=ggplot(estimadores_graf,aes(x=estimadores))+geom_histogram(bins=30)+theme_bw()
g2=ggplot(estimadores_graf,aes(y=estimadores))+geom_boxplot(width=0.5)+theme_bw()
ggarrange(g1, g2,ncol = 2, nrow = 1)
El histograma refleja un comportamiento con distribuación normal donde se visualiza la forma de la campana, y permite observar que el valor central es muy cercano a la mediana real de la población (0,5). Igualemnte el diagrama de cajas también refleja la mediana de 0,50 con un comportamiento normal.
mean(estimadores)
## [1] 0.49928
sd(estimadores)
## [1] 0.04692425
Los estimadores calculados en las 500 muestras de tamaño 100, con respecto a la media de 0.498, donde se puede evidenciar que el estimador cumple con la propiedad de ser insesgado, ya que el promedio de los estimadores obtenidos en las 500 muestras se acercan al parámetro de la población que corresponde al 0.5.
Por el lado de la variabilidad de los estimadores de los 500 ciclos con un tamaño de muestra de 100, se obtuvo una desviación estandar de 0.049, cercana a la desviación del parametro del 0.05. reflejando una variabilidad minima.
Estos resultados nos permiten concluir que los estimadores son optimos y cumplen con las propiedades de ser insesgados y de eficiencia. De esta manera se puede decir que reflejan correctamente el comportamiento de la población.
n = 5
est1 = sapply(rep(5,500), calcula_enfermas)
hist(est1, las=1, ylab = "Frecuencia", main = "n = 5", col = "blue")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=5
shapiro.test(est1)
##
## Shapiro-Wilk normality test
##
## data: est1
## W = 0.92348, p-value = 2.907e-15
n = 10
est2 = sapply(rep(10,500), calcula_enfermas)
hist(est2, las=1, ylab = "Frecuencia", main = "n = 10", col = "Red")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=10
shapiro.test(est2)
##
## Shapiro-Wilk normality test
##
## data: est2
## W = 0.96153, p-value = 3.764e-10
n = 15
est3 = sapply(rep(15,500), calcula_enfermas)
hist(est3, las=1, ylab = "Frecuencia", main = "n = 15", col = "orange")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=15
shapiro.test(est3)
##
## Shapiro-Wilk normality test
##
## data: est3
## W = 0.97298, p-value = 5.627e-08
n = 20
est4 = sapply(rep(20,500), calcula_enfermas)
hist(est4, las=1, ylab = "Frecuencia", main = "n = 20", col = "green")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=20
shapiro.test(est4)
##
## Shapiro-Wilk normality test
##
## data: est4
## W = 0.98348, p-value = 1.867e-05
n = 30
est5 = sapply(rep(30,500), calcula_enfermas)
hist(est5, las=1, ylab = "Frecuencia", main = "n = 30", col = "blue")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=30
shapiro.test(est5)
##
## Shapiro-Wilk normality test
##
## data: est5
## W = 0.98456, p-value = 3.751e-05
n = 50
est6 = sapply(rep(50,500), calcula_enfermas)
hist(est6, las=1, ylab = "Frecuencia", main = "n = 50", col = "red")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=50
shapiro.test(est6)
##
## Shapiro-Wilk normality test
##
## data: est6
## W = 0.98901, p-value = 0.0008342
n = 60
est7 = sapply(rep(60,500), calcula_enfermas)
hist(est7, las=1, ylab = "Frecuencia", main = "n = 60", col = "orange")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=60
shapiro.test(est7)
##
## Shapiro-Wilk normality test
##
## data: est7
## W = 0.98989, p-value = 0.001633
n = 100
est8=sapply(rep(100,500), calcula_enfermas)
hist(est8, las=1, ylab = "Frecuencia", main = "n = 100", col = "green")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=100
shapiro.test(est8)
##
## Shapiro-Wilk normality test
##
## data: est8
## W = 0.99257, p-value = 0.01387
n = 200
est9=sapply(rep(200,500), calcula_enfermas)
hist(est9, las=1, ylab = "Frecuencia", main = "n = 200", col = "blue")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=200
shapiro.test(est9)
##
## Shapiro-Wilk normality test
##
## data: est9
## W = 0.99429, p-value = 0.05851
n = 500
est10=sapply(rep(500,500), calcula_enfermas)
hist(est10, las=1, ylab = "Frecuencia", main = "n = 500")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=500
shapiro.test(est10)
##
## Shapiro-Wilk normality test
##
## data: est10
## W = 0.99609, p-value = 0.2553
A continuación se presenta graficamente las muestras n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500.
res=data.frame(est1,est2,est3,est4,est5,est6,est7,est8,est9,est10)
#diagrama de cajas
boxplot(res)
abline(h=0.5,col="red",lwd=3)
#mas grande la muestra - menor margen de error
En este item es posible visualizar la propiedad de consistencia del estimador, donde a mayor tamaño de muestra se obtienen valores del estimador mas cercanos al valor del parámetro de proporción de la población, y por lo tanto se evidencia que el estimador es insesgado y tiene una menor variabilidad cuando el tamaño de la muestra se incrementa.
En este diagrama de caja se muestra el comportamiento de cada una de las muestras que propone el ejercicio. Este lo podemos ver como una herramientavisual para compobar normalidad o identificar puntos que podrían ser valores atípicos. Para las muestras mas pequeñas n=5, 10, 15, 20, 30, 50 y 60 podemos ver una serie de valores atipicos importantes que se alejan de los valores extremos por lo cual estos se encuentran muy alejados de la mediana de los datos
Para el n=20 (est4) y n = 60 (est7) se visualiza que los datos están sesgados y se ubica que la mediana esta más cerca a la parte inferior de la caja y no se encuentra centrada.
Con respecto a la normalidad de los estimadores para las muestras se ejecutó la prueba de Shapiro wilk para los tamaños de muestra desde 5 hasta 500 con un nivel de confianza del 95%, lo que indica que para tamaños de muestra inferiores a 200 no se tiene una distribución normal. Y a patir de los 200 podemos decir que no se rechaza la hipotesis nula, indicando de esta manera que los estimadores son consistentes y presentan una distribución normal gracias a que el tamaño de la muestra es mayor y se ajusta mas a los parametros de la población.
lote2=c(rep("plantas_sanas",100), rep("plantas_enfermas",900))
calcula_enfermas2 = function(n){
muestra2 = sample(lote2,size = n)
return(sum(muestra2 == "plantas_enfermas")/n)
}
calcula_enfermas2(n=100)
## [1] 0.89
calcula_enfermas2 = function(n){
muestra2 = sample(lote2,size = n)
return(sum(muestra2== "plantas_enfermas")/n)
}
calcula_enfermas2(n=500)
## [1] 0.898
estimadores2=sapply(rep(100,500), calcula_enfermas)
library(ggplot2)
library(ggpubr)
estimadores_graf2 = data.frame(estimadores2)
g3=ggplot(estimadores_graf2,aes(x=estimadores2))+geom_histogram(bins=30)+theme_bw()
g4=ggplot(estimadores_graf2,aes(y=estimadores2))+geom_boxplot(width=0.5)+theme_bw()
ggarrange(g3, g4,ncol = 2, nrow = 1)
mean(estimadores2)
## [1] 0.50214
sd(estimadores2)
## [1] 0.04980544
Los estimadores calculados en las 500 muestras de tamaño 100, con respecto a la media de 0.501, donde se puede evidenciar que el estimador cumple con la propiedad de ser insesgado, ya que el promedio de los estimadores obtenidos en las 500 muestras se acercan al parámetro de la población que corresponde al 0.501.
Por el lado de la variabilidad de los estimadores de los 500 ciclos con un tamaño de muestra de 100, se obtuvo una desviación estandar de 0.048, podriamos ver que la variabilidad para este caso es mayor que para el caso anterior.
Estos resultados nos permiten concluir que los estimadores son optimos y cumplen con las propiedades de ser insesgados y de eficiencia. De esta manera se puede decir que reflejan correctamente el comportamiento de la población.
n = 5
est11 = sapply(rep(5,500), calcula_enfermas2)
hist(est11, las=1, ylab = "Frecuencia", main = "n = 5", col = "blue")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=5
shapiro.test(est11)
##
## Shapiro-Wilk normality test
##
## data: est11
## W = 0.71542, p-value < 2.2e-16
n = 10
est12 = sapply(rep(10,500), calcula_enfermas2)
hist(est12, las=1, ylab = "Frecuencia", main = "n = 10", col = "Red")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=10
shapiro.test(est12)
##
## Shapiro-Wilk normality test
##
## data: est12
## W = 0.84968, p-value < 2.2e-16
n = 15
est13 = sapply(rep(15,500), calcula_enfermas2)
hist(est13, las=1, ylab = "Frecuencia", main = "n = 15", col = "orange")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=15
shapiro.test(est13)
##
## Shapiro-Wilk normality test
##
## data: est13
## W = 0.89898, p-value < 2.2e-16
n = 20
est14 = sapply(rep(20,500), calcula_enfermas2)
hist(est14, las=1, ylab = "Frecuencia", main = "n = 20", col = "green")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=20
shapiro.test(est14)
##
## Shapiro-Wilk normality test
##
## data: est14
## W = 0.92232, p-value = 2.179e-15
n = 30
est15 = sapply(rep(30,500), calcula_enfermas2)
hist(est15, las=1, ylab = "Frecuencia", main = "n = 30", col = "blue")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=30
shapiro.test(est15)
##
## Shapiro-Wilk normality test
##
## data: est15
## W = 0.94525, p-value = 1.251e-12
n = 50
est16 = sapply(rep(50,500), calcula_enfermas2)
hist(est16, las=1, ylab = "Frecuencia", main = "n = 50", col = "red")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=50
shapiro.test(est16)
##
## Shapiro-Wilk normality test
##
## data: est16
## W = 0.97465, p-value = 1.288e-07
n = 60
est17 = sapply(rep(60,500), calcula_enfermas2)
hist(est17, las=1, ylab = "Frecuencia", main = "n = 60", col = "orange")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=60
shapiro.test(est17)
##
## Shapiro-Wilk normality test
##
## data: est17
## W = 0.98043, p-value = 2.95e-06
n = 100
est18=sapply(rep(100,500), calcula_enfermas2)
hist(est18, las=1, ylab = "Frecuencia", main = "n = 100", col = "green")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=100
shapiro.test(est18)
##
## Shapiro-Wilk normality test
##
## data: est18
## W = 0.98195, p-value = 7.242e-06
n = 200
est19=sapply(rep(200,500), calcula_enfermas2)
hist(est19, las=1, ylab = "Frecuencia", main = "n = 200", col = "blue")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=200
shapiro.test(est19)
##
## Shapiro-Wilk normality test
##
## data: est19
## W = 0.99079, p-value = 0.003293
n = 500
est20=sapply(rep(500,500), calcula_enfermas2)
hist(est20, las=1, ylab = "Frecuencia", main = "n = 500")
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n=500
shapiro.test(est20)
##
## Shapiro-Wilk normality test
##
## data: est20
## W = 0.99141, p-value = 0.005363
A continuación se presenta graficamente las muestras n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500.
res2 = data.frame(est11,est12,est13,est14,est15,est16,est17,est18,est19,est20)
#diagrama de cajas
boxplot(res2)
abline(h=0.9,col="red",lwd=3)
#mas grande la muestra - menor margen de error
Con este segundo ejercicio pordemos concluir que los estimadores cumplen con ser insesgados y consistentes en la medida en que la muestra va creciendo. Ya que la media de los estimadores se acerca al valor del parámetro de la población.
Realizando una comparación entre los dos ejericios donde inicialmente contabamos con el 50% de plantas enferemas y se obtuvo que a partir de una muestra de 200 los estimadores siguen una distribución normal. Mientras que para el ejercicio donde el 90% de las plantas estan enfermas, se rechaza la hipotesis nula. Sin embargo, se mantiene lo indicado anteriormente donde se indica que a medida que se incrementa el tamaño de la muestra, los estimadores se ajustan mas a una distribución normal.
##2. La comparación de tratamientos es una práctica fundamental en las ciencias agropecuarias y para esto a nivel estadístico se cuenta con algunas herramientas para apoyar el proceso de toma de decisiones y lograr concluir con algún grado de confianza que los resultados observados en una muestra son representativos y se pueden asociar a los tratamientos y no se deben únicamente al azar. Por medio una simulación validemos algunos de estos resultados.
lote_n1=c(rep("plantas_sanas",900), rep("plantas_enfermas",100))
lote_n2=c(rep("plantas_sanas",1350), rep("plantas_enfermas",150))
Muestra para el lote1:
plantas_malas = function(n){
muestra_n = sample(lote_n1,size = n)
return(sum(muestra_n=="plantas_enfermas")/n)
}
plantas_malas(n=100)
## [1] 0.1
estimadores_n1=sapply(rep(100,100), plantas_malas)
estimadores_n1
## [1] 0.12 0.10 0.07 0.09 0.08 0.10 0.16 0.10 0.16 0.08 0.10 0.07 0.09 0.10 0.10
## [16] 0.13 0.07 0.09 0.12 0.08 0.08 0.07 0.03 0.08 0.13 0.09 0.08 0.12 0.09 0.09
## [31] 0.08 0.08 0.06 0.07 0.09 0.10 0.06 0.08 0.07 0.07 0.09 0.15 0.06 0.12 0.10
## [46] 0.10 0.10 0.11 0.12 0.07 0.14 0.15 0.11 0.14 0.10 0.18 0.10 0.10 0.12 0.07
## [61] 0.10 0.06 0.10 0.12 0.10 0.10 0.14 0.07 0.15 0.12 0.14 0.07 0.09 0.06 0.17
## [76] 0.07 0.10 0.08 0.09 0.13 0.09 0.09 0.05 0.11 0.15 0.10 0.11 0.12 0.08 0.12
## [91] 0.15 0.13 0.09 0.12 0.05 0.15 0.07 0.10 0.12 0.07
Muestra para el lote2:
plantas_malas2 = function(n){
muestra_n2 = sample(lote_n2,size = n)
return(sum(muestra_n2=="plantas_enfermas")/n)
}
plantas_malas2(n=100)
## [1] 0.05
Los estimadores para p1 corresponde a 0,07 y los estimadores para p2 corresponde a 0,11 Por lo que se evidencia una diferencia de 0,04 entre los estimadores calculados para una muestra del mismo tamaño para los dos grupos.
estimadores_n2=sapply(rep(100,100), plantas_malas2)
Diferencia entre los estimadores del lote_n1 y lote_n2:
Diferencia = estimadores_n1 - estimadores_n2
Diferencia
## [1] 0.04 0.03 -0.05 -0.02 -0.04 0.03 0.05 -0.07 0.07 -0.05 -0.01 -0.06
## [13] 0.02 0.00 0.02 0.08 -0.02 0.01 0.03 0.01 -0.04 -0.02 -0.12 0.01
## [25] 0.04 0.00 -0.05 0.07 -0.02 -0.04 0.00 -0.05 -0.05 -0.07 0.01 -0.01
## [37] -0.05 0.05 0.00 -0.01 0.00 0.03 -0.05 -0.01 -0.05 -0.04 -0.03 0.00
## [49] 0.06 -0.04 0.07 0.02 0.02 0.11 0.01 0.08 -0.06 -0.01 -0.03 -0.05
## [61] 0.02 -0.05 -0.02 0.05 -0.05 0.02 0.02 0.00 0.05 0.04 0.03 -0.01
## [73] 0.03 0.00 0.08 0.00 0.04 0.01 -0.05 0.02 0.03 -0.01 -0.04 0.00
## [85] 0.08 -0.04 0.02 0.04 -0.01 -0.01 0.00 0.00 0.01 0.01 -0.06 0.05
## [97] -0.01 0.03 0.04 -0.03
Podemos observar que las diferencias son minumas e includo para algunos casos la diferencia llega a ser 0.00.
Muestra lote_n1 con 500 ciclos:
plantas_malas3 = function(n){
muestra_n3 = sample(lote_n1,size = n)
return(sum(muestra_n3 == "plantas_enfermas")/n)
}
plantas_malas3(n=500)
## [1] 0.09
estimadores_n3=sapply(rep(100,500), plantas_malas3)
Histograma para el lote_n1 de 1000 plantas con 10% de plantas enfermas:
hist(estimadores_n3)
abline(v = mean(estimadores_n3), col="red", lwd=3, lty=2)
#comportamiento con distribuación normal - centrado en el valor real 10%
#mean - promedio
mean(estimadores_n3)
## [1] 0.10106
#desviasion . sd() . los valorres oscilan alrededor de tres.
sd(estimadores_n3)
## [1] 0.02857814
Muestra lote_n2 con 500 ciclos:
plantas_malas4 = function(n){
muestra_n4 = sample(lote_n2,size = n)
return(sum(muestra_n4=="plantas_enfermas")/n)
}
plantas_malas4(n=500)
## [1] 0.106
estimadores_n4=sapply(rep(100,500), plantas_malas4)
Histograma para el lote_n2 de 1500 plantas con 10% de plantas enfermas:
hist(estimadores_n4)
abline(v = mean(estimadores_n4), col="red", lwd=3, lty=2)
#comportamiento con distribuación normal - centrado en el valor real 15%
#mean - promedio
mean(estimadores_n4)
## [1] 0.10016
#desviasion . sd() . los valorres oscilan alrededor de tres.
sd(estimadores_n4)
## [1] 0.02853775
Diferencia entre los estimadores de los 500 ciclos para los lotes_n1 y lotes_n2:
hist(estimadores_n3-estimadores_n4, main = "diferencia Lote_n1 y Lote_n2")
abline(v = mean(estimadores_n3-estimadores_n4), col="red", lwd=3, lty=2)
Luego de repetir el cilco de 500 repeticiuones con una muestra n=100
observamos que los datos muestran una forma simétrica alrededor de la
mediana de la población que en este caso es del 10% para Lote1 y Lote2.
A su vez las diferencias entre los estimadores también reflejan un
comportamiento simétrico y centrados a 0.00. sin embargo, podemos
observar que no es 0.00 para todos los casos pero en su mayoria es muy
cercano a este valor.
n1=n2= 5
est_n1_n5 = sapply(rep(5,500), plantas_malas)
est_n2_n5 = sapply(rep(5,500), plantas_malas2)
est_n5 = est_n1_n5 - est_n2_n5
par(mfrow = c(1, 2))
qqnorm(est_n5, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=5")
qqline(est_n5, col = "steelblue", lwd = 2)
hist(est_n5, main = "Histograma lote_n1-lote_2 para N=5")
abline(v = mean(est_n5), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 5
shapiro.test(est_n5)
##
## Shapiro-Wilk normality test
##
## data: est_n5
## W = 0.90772, p-value < 2.2e-16
n1=n2= 10
est_n1_n10 = sapply(rep(10,500), plantas_malas)
est_n2_n10 = sapply(rep(10,500), plantas_malas2)
est_n10 = est_n1_n10 - est_n2_n10
par(mfrow = c(1, 2))
qqnorm(est_n10, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=10")
qqline(est_n10, col = "steelblue", lwd = 2)
hist(est_n10, main = "Histograma lote_n1-lote_2 para N=10")
abline(v = mean(est_n10), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 10
shapiro.test(est_n10)
##
## Shapiro-Wilk normality test
##
## data: est_n10
## W = 0.95009, p-value = 5.985e-12
n1=n2= 15
est_n1_n15 = sapply(rep(15,500), plantas_malas)
est_n2_n15 = sapply(rep(15,500), plantas_malas2)
est_n15 = est_n1_n15 - est_n2_n15
par(mfrow = c(1, 2))
qqnorm(est_n15, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=15")
qqline(est_n15, col = "steelblue", lwd = 2)
hist(est_n15, main = "Histograma lote_n1-lote_2 para N=15")
abline(v = mean(est_n15), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 15
shapiro.test(est_n15)
##
## Shapiro-Wilk normality test
##
## data: est_n15
## W = 0.96788, p-value = 5.296e-09
n1=n2= 20
est_n1_n20 = sapply(rep(20,500), plantas_malas)
est_n2_n20 = sapply(rep(20,500), plantas_malas2)
est_n20 = est_n1_n20 - est_n2_n20
par(mfrow = c(1, 2))
qqnorm(est_n20, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=20")
qqline(est_n20, col = "steelblue", lwd = 2)
hist(est_n20, main = "Histograma lote_n1-lote_2 para N=20")
abline(v = mean(est_n20), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 20
shapiro.test(est_n20)
##
## Shapiro-Wilk normality test
##
## data: est_n20
## W = 0.97217, p-value = 3.795e-08
n1=n2= 30
est_n1_n30 = sapply(rep(30,500), plantas_malas)
est_n2_n30 = sapply(rep(30,500), plantas_malas2)
est_n30 = est_n1_n30 - est_n2_n30
par(mfrow = c(1, 2))
qqnorm(est_n30, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=30")
qqline(est_n30, col = "steelblue", lwd = 2)
hist(est_n30, main = "Histograma lote_n1-lote_2 para N=30")
abline(v = mean(est_n30), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 30
shapiro.test(est_n30)
##
## Shapiro-Wilk normality test
##
## data: est_n30
## W = 0.97776, p-value = 6.581e-07
n1=n2= 50
est_n1_n50 = sapply(rep(50,500), plantas_malas)
est_n2_n50 = sapply(rep(50,500), plantas_malas2)
est_n50 = est_n1_n50 - est_n2_n50
par(mfrow = c(1, 2))
qqnorm(est_n50, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=50")
qqline(est_n50, col = "steelblue", lwd = 2)
hist(est_n50, main = "Histograma lote_n1-lote_2 para N=50")
abline(v = mean(est_n50), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 50
shapiro.test(est_n50)
##
## Shapiro-Wilk normality test
##
## data: est_n50
## W = 0.98562, p-value = 7.573e-05
n1=n2= 60
est_n1_n60 = sapply(rep(60,500), plantas_malas)
est_n2_n60 = sapply(rep(60,500), plantas_malas2)
est_n60 = est_n1_n60 - est_n2_n60
par(mfrow = c(1, 2))
qqnorm(est_n60, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=60")
qqline(est_n60, col = "steelblue", lwd = 2)
hist(est_n60, main = "Histograma lote_n1-lote_2 para N=60")
abline(v = mean(est_n60), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 60
shapiro.test(est_n60)
##
## Shapiro-Wilk normality test
##
## data: est_n60
## W = 0.98938, p-value = 0.001106
n1=n2= 100
est_n1_n100 = sapply(rep(100,500), plantas_malas)
est_n2_n100 = sapply(rep(100,500), plantas_malas2)
est_n100 = est_n1_n100 - est_n2_n100
par(mfrow = c(1, 2))
qqnorm(est_n100, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=100")
qqline(est_n100, col = "steelblue", lwd = 2)
hist(est_n15, main = "Histograma lote_n1-lote_2 para N=100")
abline(v = mean(est_n100), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 100
shapiro.test(est_n100)
##
## Shapiro-Wilk normality test
##
## data: est_n100
## W = 0.98912, p-value = 0.0009083
n1=n2= 200
est_n1_n200 = sapply(rep(200,500), plantas_malas)
est_n2_n200 = sapply(rep(200,500), plantas_malas2)
est_n200 = est_n1_n200 - est_n2_n200
par(mfrow = c(1, 2))
qqnorm(est_n200, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=200")
qqline(est_n200, col = "steelblue", lwd = 2)
hist(est_n200, main = "Histograma lote_n1-lote_2 para N=200")
abline(v = mean(est_n200), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 200
shapiro.test(est_n200)
##
## Shapiro-Wilk normality test
##
## data: est_n200
## W = 0.99572, p-value = 0.19
n1=n2= 500
est_n1_n500 = sapply(rep(500,500), plantas_malas)
est_n2_n500 = sapply(rep(500,500), plantas_malas2)
est_n500 = est_n1_n500 - est_n2_n500
par(mfrow = c(1, 2))
qqnorm(est_n500, pch = 1, frame = FALSE, main = "QQ-normal lote_n1-lote_n2 para N=500")
qqline(est_n500, col = "steelblue", lwd = 2)
hist(est_n500, main = "Histograma lote_n1-lote_2 para N=500")
abline(v = mean(est_n500), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 500
shapiro.test(est_n500)
##
## Shapiro-Wilk normality test
##
## data: est_n500
## W = 0.99543, p-value = 0.1502
Al ejecutar la simulación de las diferentes muestras, los estimadores muestran que las diferencias presentan una distribución normal a medida que la muestra va incrementando su tamaño y se encuentra centrada en 0.00. Para las muestras pequeñas se visualiza que la diferencia de los estimadores no se centra en 0.00 y a pesar de que algunos presentan variaciones pequeñas podemos concluir que las poblaciones no presentan diferencias significativas.
También es posible afirmar que a medida que las muestras aumentan la diferencia tiende a 0.00 por lo cual se puede indicar que las poblaciones presentan las mismas caracteristicas y a medida que las muestras van aumentando los estimadores se asemajan a los parametros poblacionales.En este ejercicio podemos ver la importancia del tamaño de la población para un proceso de analisis ya que entre mas pequeña la muestra los resultados pueden estar mas afectados por datos atipicos o generar resultados sesgados que no reflejan el comportamiento real de la población.
##e. Ahora realice nuevamente los puntos a-d bajo un escenario con dos lotes, pero de proporciones de enfermos diferentes (P1=0.1 y P2=0.15), es decir, el tratamiento del lote 1 si presentó un mejor desempeño reduciendo en un 5% el porcentaje de enfermos. Bajo este nuevo escenario compare la distribución de estas diferencias (p1- p2) con las observadas bajo igualdad de condiciones en los lotes. ¿Qué puede concluir? ¿Existen puntos en los cuales es posible que se observen diferencias de p1- p2 bajo ambos escenarios (escenario 1: sin diferencias entre P1 y P2, escenario 2: diferencia de 5%)?
lote_n3=c(rep("plantas_sanas",900), rep("plantas_enfermas",100))
lote_n4=c(rep("plantas_sanas",1275), rep("plantas_enfermas",225))
Muestra para el lote3:
plantas_malas_lote3 = function(n){
muestra_n_lote3 = sample(lote_n3,size = n)
return(sum(muestra_n_lote3=="plantas_enfermas")/n)
}
plantas_malas_lote3(n=100)
## [1] 0.06
Muestra para el lote4:
plantas_malas_lote4 = function(n){
muestra_n_lote4 = sample(lote_n4,size = n)
return(sum(muestra_n_lote4=="plantas_enfermas")/n)
}
plantas_malas_lote4(n=100)
## [1] 0.18
Los estimadores para p1 corresponde a 0,05 y los estimadores para p2 corresponde a 0,17. Por lo que se evidencia una diferencia de 0,12 entre los estimadores calculados para una muestra del mismo tamaño para los dos grupos.
estimadores_n_lote3=sapply(rep(100,100), plantas_malas_lote3)
estimadores_n_lote4=sapply(rep(100,100), plantas_malas_lote4)
Diferencia_lote = estimadores_n_lote3 - estimadores_n_lote4
Diferencia_lote
## [1] -0.10 -0.09 -0.02 -0.14 -0.01 -0.09 -0.11 -0.07 -0.04 -0.11 -0.07 -0.04
## [13] -0.02 -0.05 0.00 -0.05 -0.01 -0.05 -0.03 -0.07 0.02 -0.08 -0.06 -0.05
## [25] -0.03 -0.04 -0.06 -0.09 -0.11 0.00 -0.09 -0.01 -0.05 -0.02 0.00 -0.05
## [37] -0.06 -0.11 -0.07 -0.08 -0.10 0.03 0.05 -0.04 -0.11 -0.04 -0.07 -0.07
## [49] -0.01 -0.11 -0.08 -0.08 -0.07 -0.03 -0.09 -0.13 -0.07 -0.07 -0.03 -0.04
## [61] 0.04 -0.10 -0.10 -0.07 -0.02 0.01 0.00 -0.03 -0.04 -0.09 -0.06 -0.03
## [73] -0.01 -0.03 -0.11 0.03 -0.01 -0.03 -0.06 -0.04 0.06 -0.02 -0.02 0.00
## [85] -0.02 -0.13 -0.04 0.00 -0.04 -0.03 -0.11 -0.10 -0.06 -0.04 -0.07 -0.01
## [97] -0.09 -0.07 -0.05 -0.05
En ese escenario podemos ver que hay un incremento en la diferencia entre los estimadores para algunos casos. Sin embargo, en la generalidad la diferencia en minina, incluso hay casos en los que llega a ser 0.00
plantas_malas_lote3 = function(n){
muestra_n_lote3 = sample(lote_n3,size = n)
return(sum(muestra_n_lote3 == "plantas_enfermas")/n)
}
plantas_malas_lote3(n=500)
## [1] 0.098
estimadores_n_lote3=sapply(rep(100,500), plantas_malas_lote3)
hist(estimadores_n_lote3)
abline(v = mean(estimadores_n_lote3), col="red", lwd=3, lty=2)
#comportamiento con distribuación normal - centrado en el valor real 10%
#mean - promedio
mean(estimadores_n_lote3)
## [1] 0.10112
#desviasion . sd() . los valorres oscilan alrededor de tres.
sd(estimadores_n_lote3)
## [1] 0.02827622
plantas_malas_lote4= function(n){
muestra_n_lote4 = sample(lote_n4,size = n)
return(sum(muestra_n_lote4=="plantas_enfermas")/n)
}
plantas_malas_lote4(n=500)
## [1] 0.154
estimadores_n_lote4=sapply(rep(100,500), plantas_malas_lote4)
hist(estimadores_n_lote4)
abline(v = mean(estimadores_n_lote4), col="red", lwd=3, lty=2)
#comportamiento con distribuación normal - centrado en el valor real 15%
#mean - promedio
mean(estimadores_n_lote4)
## [1] 0.15142
#desviasion . sd() . los valorres oscilan alrededor de tres.
sd(estimadores_n_lote4)
## [1] 0.03496611
par(mfrow = c(1, 2))
qqnorm(estimadores_n_lote3-estimadores_n_lote4, pch = 1, frame = FALSE, main = "QQ-normal Lote_n3-Lote_n4")
qqline(estimadores_n_lote3-estimadores_n_lote4, col = "steelblue", lwd = 2)
hist(estimadores_n_lote3-estimadores_n_lote4, main = "Histograma Lote_n3-Lote_n4")
abline(v = mean(estimadores_n_lote3-estimadores_n_lote4), col="red", lwd=3, lty=2)
n1=n2= 5
est_n1_n5 = sapply(rep(5,500), plantas_malas_lote3)
est_n2_n5 = sapply(rep(5,500), plantas_malas_lote4)
est_n5 = est_n1_n5 - est_n2_n5
par(mfrow = c(1, 2))
qqnorm(est_n5, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=5")
qqline(est_n5, col = "steelblue", lwd = 2)
hist(est_n5, main = "Histograma lote_n3-lote_n4 para N=5")
abline(v = mean(est_n5), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 5
shapiro.test(est_n5)
##
## Shapiro-Wilk normality test
##
## data: est_n5
## W = 0.92496, p-value = 4.213e-15
n1=n2= 10
est_n1_n10 = sapply(rep(10,500), plantas_malas_lote3)
est_n2_n10 = sapply(rep(10,500), plantas_malas_lote4)
est_n10 = est_n1_n10 - est_n2_n10
par(mfrow = c(1, 2))
qqnorm(est_n10, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=10")
qqline(est_n10, col = "steelblue", lwd = 2)
hist(est_n10, main = "Histograma lote_n3-lote_n4 para N=10")
abline(v = mean(est_n10), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 10
shapiro.test(est_n10)
##
## Shapiro-Wilk normality test
##
## data: est_n10
## W = 0.96149, p-value = 3.707e-10
n1=n2= 15
est_n1_n15 = sapply(rep(15,500), plantas_malas_lote3)
est_n2_n15 = sapply(rep(15,500), plantas_malas_lote4)
est_n15 = est_n1_n15 - est_n2_n15
par(mfrow = c(1, 2))
qqnorm(est_n15, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=15")
qqline(est_n15, col = "steelblue", lwd = 2)
hist(est_n15, main = "Histograma lote_n3-lote_n4 para N=15")
abline(v = mean(est_n15), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 15
shapiro.test(est_n15)
##
## Shapiro-Wilk normality test
##
## data: est_n15
## W = 0.96973, p-value = 1.211e-08
n1=n2= 20
est_n1_n20 = sapply(rep(20,500), plantas_malas_lote3)
est_n2_n20 = sapply(rep(20,500), plantas_malas_lote4)
est_n20 = est_n1_n20 - est_n2_n20
par(mfrow = c(1, 2))
qqnorm(est_n20, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=20")
qqline(est_n20, col = "steelblue", lwd = 2)
hist(est_n20, main = "Histograma lote_n3-lote_n4 para N=20")
abline(v = mean(est_n20), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 20
shapiro.test(est_n20)
##
## Shapiro-Wilk normality test
##
## data: est_n20
## W = 0.97962, p-value = 1.851e-06
n1=n2= 30
est_n1_n30 = sapply(rep(30,500), plantas_malas_lote3)
est_n2_n30 = sapply(rep(30,500), plantas_malas_lote4)
est_n30 = est_n1_n30 - est_n2_n30
par(mfrow = c(1, 2))
qqnorm(est_n30, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=30")
qqline(est_n30, col = "steelblue", lwd = 2)
hist(est_n30, main = "Histograma lote_n3-lote_n4 para N=30")
abline(v = mean(est_n30), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 30
shapiro.test(est_n30)
##
## Shapiro-Wilk normality test
##
## data: est_n30
## W = 0.98573, p-value = 8.135e-05
n1=n2= 50
est_n1_n50 = sapply(rep(50,500), plantas_malas_lote3)
est_n2_n50 = sapply(rep(50,500), plantas_malas_lote4)
est_n50 = est_n1_n50 - est_n2_n50
par(mfrow = c(1, 2))
qqnorm(est_n50, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=50")
qqline(est_n50, col = "steelblue", lwd = 2)
hist(est_n50, main = "Histograma lote_n3-lote_n4 para N=50")
abline(v = mean(est_n50), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 50
shapiro.test(est_n50)
##
## Shapiro-Wilk normality test
##
## data: est_n50
## W = 0.98937, p-value = 0.001094
n1=n2= 60
est_n1_n60 = sapply(rep(60,500), plantas_malas_lote3)
est_n2_n60 = sapply(rep(60,500), plantas_malas_lote4)
est_n60 = est_n1_n60 - est_n2_n60
par(mfrow = c(1, 2))
qqnorm(est_n60, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=60")
qqline(est_n60, col = "steelblue", lwd = 2)
hist(est_n60, main = "Histograma lote_n3-lote_n4 para N=60")
abline(v = mean(est_n60), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 60
shapiro.test(est_n60)
##
## Shapiro-Wilk normality test
##
## data: est_n60
## W = 0.99114, p-value = 0.004327
n1=n2= 100
est_n1_n100 = sapply(rep(100,500), plantas_malas_lote3)
est_n2_n100 = sapply(rep(100,500), plantas_malas_lote4)
est_n100 = est_n1_n100 - est_n2_n100
par(mfrow = c(1, 2))
qqnorm(est_n100, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=100")
qqline(est_n100, col = "steelblue", lwd = 2)
hist(est_n15, main = "Histograma lote_n3-lote_n4 para N=100")
abline(v = mean(est_n100), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 100
shapiro.test(est_n100)
##
## Shapiro-Wilk normality test
##
## data: est_n100
## W = 0.99073, p-value = 0.003124
n1=n2= 200
est_n1_n200 = sapply(rep(200,500), plantas_malas_lote3)
est_n2_n200 = sapply(rep(200,500), plantas_malas_lote4)
est_n200 = est_n1_n200 - est_n2_n200
par(mfrow = c(1, 2))
qqnorm(est_n200, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=200")
qqline(est_n200, col = "steelblue", lwd = 2)
hist(est_n200, main = "Histograma lote_n3-lote_n4 para N=200")
abline(v = mean(est_n200), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 200
shapiro.test(est_n200)
##
## Shapiro-Wilk normality test
##
## data: est_n200
## W = 0.99502, p-value = 0.1077
n1=n2= 500
est_n1_n500 = sapply(rep(500,500), plantas_malas_lote3)
est_n2_n500 = sapply(rep(500,500), plantas_malas_lote4)
est_n500 = est_n1_n500 - est_n2_n500
par(mfrow = c(1, 2))
qqnorm(est_n500, pch = 1, frame = FALSE, main = "QQ-normal lote_n3-lote_n4 para N=500")
qqline(est_n500, col = "steelblue", lwd = 2)
hist(est_n500, main = "Histograma lote_n3-lote_n4 para N=500")
abline(v = mean(est_n500), col="red", lwd=3, lty=2)
##Shapiro-Wilk normality test
Ejecutando el test de Shapiro para una muestra n1=n2= 500
shapiro.test(est_n500)
##
## Shapiro-Wilk normality test
##
## data: est_n500
## W = 0.99687, p-value = 0.4501
Igual que en el ejericio anterior, también es posible afirmar que a medida que las muestras aumentan la diferencia tiende a 0.00 por lo cual se puede indicar que las poblaciones presentan las mismas caracteristicas y a medida que las muestras van aumentando los estimadores se asemajan a los parametros poblacionales.En este ejercicio podemos ver la importancia del tamaño de la población para un proceso de analisis ya que entre mas pequeña la muestra los resultados pueden estar mas afectados por datos atipicos o generar resultados sesgados que no reflejan el comportamiento real de la población.
Errores estadísticos: El uso del Valor P
“Cambia tu la filosofía estadística y de repente, diferentes cosas se vuelven importantes” Steven Goodman
El articulo inicia contando un relato donde se dio uso al valor P. Sin embargo, hay una fase que podemos resaltar donde indican que “la naturaleza del valor P es resbaladiza” lo que la hace poco confiable y tampoco se podría decir que es tan objetivo como la mayoría de los científicos suponen donde y se podría decir que los valores P no están haciendo su trabajo, porque no esta a su alcance, así lo expresa Stephen Ziliak. ÉL es un crítico de la forma en la que se utilizan las herramientas estadísticas.
Incluso bajo este análisis crítico, hay científicos como Jhon Loannidis que indica que los hallazgos publicados a lo largo de la historia podrían ser falsos, lo que puede abrir la puerta a múltiples cuestionamientos y a llevado a los científicos a replantearse la forma en las que se evalúan los resultados, buscando mejores alternativas para evitar perder información relevante o generar alertas erradas. Esto parte de la metodología que se contempla para cada caso y así mismo se debe ajustar al propósito de los investigadores.
Regresando al origen del Valor-P, Ronald Fisher no pretendía que este fuera una prueba definitiva. Este fue concebido más como una forma informal de evaluar o juzgar si las evidencias obtenidas eran significativas para proceder con un análisis más detallado y profundo. El P-Value o Valor-P es utilizado para validar si es posible rechazar la hipótesis nula (H0) que generalmente propone que no hay correlación o ninguna diferencia entre dos grupos. Cuanto más pequeño sea el valor, mayor es la probabilidad de que la hipótesis nula sea rechazada.
Con el paso del tiempo este proceso se convirtió en la base para la toma de decisiones. Sin embargo, posterior entraron nuevas corrientes de pensamiento como las posturas de Pearson donde se introdujo una alternativa para el análisis de datos que incluía poder estadístico, falsos positivos, falsos negativos, entre otros. Finalmente se creó un sistema híbrido, donde un valor P de 0,05 se consagró como “estadísticamente significativo”.
El Valor P solo puede resumir los datos asumiendo una hipótesis nula. No puede hacer afirmaciones sobre la realidad subyacente. Por lo cual se requiere las probabilidades de que un efecto real estaba allí en primer lugar.
Por otro lado, los críticos resaltan que el Valor P puede alentar el pensamiento confuso ya que desvía la atención del tamaño real de un efecto, o en muchos casos se puede probar varias cosas hasta obtener el resultado esperado que finalmente es inconsistente.
Estas posturas nos permiten concluir que el Valor P, a pesar de ser una herramienta útil para el análisis estadístico no se puede convertir en el factor decisivo en el momento de dar las conclusiones del análisis de los datos. Se requiere el uso de otros validadores que permitan garantizar que las conclusiones con correctas y acordes a los datos y la realidad.