tamano_poblacion <- 1000
# Generar 1000 plantas de las cuales el 50% esta enferma
poblacion <- rbinom(tamano_poblacion,1,0.5)
muestra_n <- function(tamano_muestra,poblacion){
muestra <- sample(poblacion,
size= tamano_muestra,
replace = FALSE )
prop_muestral <- mean(muestra)
return(prop_muestral)
}
tamano_muestral <- 1:500
estimador_p <- 1:500
for (i in c(1:500)) {
tamano_muestra <- round(runif(1, min = 5, max = 900),0)
tamano_muestral[i] <- tamano_muestra
p <- muestra_n(tamano_muestra,poblacion)
estimador_p[i] <- p
}
datos <- data.frame(tamano_muestral = tamano_muestral, estimador_p = estimador_p, media_poblacion = rep(mean(poblacion),each = 500), diff_pobla_esti = abs(estimador_p-rep(mean(poblacion),each = 500)))
boxplot(datos[c("estimador_p","media_poblacion")])
# media de la diferencia de todos los valores
print(mean(datos$diff_pobla_esti))
## [1] 0.021084
densidad <- density(estimador_p)
plot(densidad, main = "Gráfico de Densidad", xlab = "Estimador de Proporción", ylab = "Densidad de Probabilidad")
Según la gráfica de densidad se puede observar que la curva esta hacia el lado derecho, no es totalmente simétrica. Los resultados parecen ser insesgados en promedio, ya que la media de las diferencias entre los estimadores y la media de la población es cercana a cero 0.01247457. Además, en la variabilidad se evidencia que los estimadores es razonablemente baja, pero existen algunos valores atípicos. Estos resultados son consistentes con una muestra aleatoria de estimadores de proporción muestral.
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))
simulaciones <- 1:500
tamanos_muestras <- c(5,10,15,20,30,50,60,100,200,500)
tamano_muestral <- c()
estimador_p <- c()
for (tamano_muestra in tamanos_muestras) {
for (i in simulaciones){
tamano_muestral <- c(tamano_muestral,tamano_muestra)
p <- muestra_n(tamano_muestra,poblacion)
estimador_p <- c(estimador_p,p)
}
}
datos <- data.frame(
tamano_muestral = tamano_muestral,
estimador_p = estimador_p,
media_poblacion = rep(mean(poblacion),each = 5000), diff_pobla_esti = abs(estimador_p-rep(mean(poblacion),each = 5000)))
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,3), mai = c(.5, .5, .5, .5))
# Crear gráficos de densidad para cada tamaño de muestra
for (tamano_muestra in tamanos_muestras) {
subset_datos <- datos[datos$tamano_muestral == tamano_muestra, ]
densidad <- density(subset_datos$estimador_p)
plot(
densidad,
main = paste("Densidad para Tamaño de Muestra =", tamano_muestra),
xlab = "Estimador de Proporción",
ylab = "Densidad de Probabilidad"
)
}
# Crear gráficos QQ-Norm para cada tamaño de muestra
for (tamano_muestra in tamanos_muestras) {
subset_datos <- datos[datos$tamano_muestral == tamano_muestra, ]
qqnorm(subset_datos$estimador_p, main = paste("QQ-Norm para Tamaño de Muestra =", tamano_muestra))
qqline(subset_datos$estimador_p, col = 2)
}
# demanera general
shapiro.test(estimador_p)
##
## Shapiro-Wilk normality test
##
## data: estimador_p
## W = 0.93435, p-value < 2.2e-16
for(i in tamanos_muestras){
cat("\n========================================\nTest de normalidad para tamano de muestra", i)
print(shapiro.test(datos$estimador_p[datos$tamano_muestral == i]))
}
##
## ========================================
## Test de normalidad para tamano de muestra 5
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.93213, p-value = 2.746e-14
##
##
## ========================================
## Test de normalidad para tamano de muestra 10
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.96497, p-value = 1.521e-09
##
##
## ========================================
## Test de normalidad para tamano de muestra 15
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.97789, p-value = 7.051e-07
##
##
## ========================================
## Test de normalidad para tamano de muestra 20
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.97965, p-value = 1.88e-06
##
##
## ========================================
## Test de normalidad para tamano de muestra 30
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.98762, p-value = 0.000302
##
##
## ========================================
## Test de normalidad para tamano de muestra 50
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99068, p-value = 0.003017
##
##
## ========================================
## Test de normalidad para tamano de muestra 60
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99316, p-value = 0.02265
##
##
## ========================================
## Test de normalidad para tamano de muestra 100
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99312, p-value = 0.02183
##
##
## ========================================
## Test de normalidad para tamano de muestra 200
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99477, p-value = 0.08746
##
##
## ========================================
## Test de normalidad para tamano de muestra 500
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99654, p-value = 0.3564
cat("\n========================================")
##
## ========================================
boxplot(estimador_p ~ tamano_muestral, data= datos)
median_estimador_p <- median(datos$estimador_p)
abline(h = median_estimador_p, col = "red", lty = 2)
print(mean(datos$diff_pobla_esti))
## [1] 0.0774796
Se generaron gráficos de densidad para cada tamaño de muestra. A continuación, se presentan algunas observaciones clave:
Para tamaños de muestra pequeños (5 y 10), los gráficos de densidad tienden a mostrar cierta asimetría y colas pesadas, lo que indica desviaciones de la normalidad.
A medida que aumenta el tamaño de muestra, los gráficos de densidad tienden a aproximarse más a una distribución normal, especialmente a partir de tamaños de muestra de 30 o más.
Se realizaron pruebas de normalidad de Shapiro para cada tamaño de muestra. A continuación, se resumen los resultados:
Para tamaños de muestra pequeños (5 y 10), las pruebas de Shapiro-Wilk indican que los datos no siguen una distribución normal (p < 0.05).
A medida que aumenta el tamaño de muestra, las pruebas de Shapiro-Wilk tienden a mostrar una menor evidencia en contra de la normalidad, y en algunos casos, no se rechaza la hipótesis nula (p > 0.05).
Se generaron gráficos QQ-Norm para cada tamaño de muestra. Los resultados se observaron en la alineación de los puntos con la línea de referencia:
Para tamaños de muestra pequeños, los gráficos QQ-Norm tienden a mostrar una desviación sustancial de la línea de referencia, indicando no normalidad.
A medida que aumenta el tamaño de muestra, los puntos en los gráficos QQ-Norm se alinean mejor con la línea de referencia, sugiriendo una mayor normalidad.
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))
tamano_poblacion <- 1000
# Generar 1000 plantas de las cuales el 10% esta enferma
poblacion <- rbinom(tamano_poblacion,1,0.1)
tamano_muestral <- 1:500
estimador_p <- 1:500
for (i in c(1:500)) {
tamano_muestra <- round(runif(1, min = 5, max = 900),0)
tamano_muestral[i] <- tamano_muestra
p <- muestra_n(tamano_muestra,poblacion)
estimador_p[i] <- p
}
datos <- data.frame(tamano_muestral = tamano_muestral, estimador_p = estimador_p, media_poblacion = rep(mean(poblacion),each = 500), diff_pobla_esti = abs(estimador_p-rep(mean(poblacion),each = 500)))
print(mean(datos$diff_pobla_esti))
## [1] 0.0111503
simulaciones <- 1:500
tamanos_muestras <- c(5,10,15,20,30,50,60,100,200,500)
tamano_muestral <- c()
estimador_p <- c()
for (tamano_muestra in tamanos_muestras) {
for (i in simulaciones){
tamano_muestral <- c(tamano_muestral,tamano_muestra)
p <- muestra_n(tamano_muestra,poblacion)
estimador_p <- c(estimador_p,p)
}
}
datos <- data.frame(tamano_muestral = tamano_muestral, estimador_p = estimador_p, media_poblacion = rep(mean(poblacion),each = 5000), diff_pobla_esti = abs(estimador_p-rep(mean(poblacion),each = 5000)))
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,3), mai = c(.5, .5, .5, .5))
# Crear gráficos de densidad para cada tamaño de muestra
for (tamano_muestra in tamanos_muestras) {
subset_datos <- datos[datos$tamano_muestral == tamano_muestra, ]
densidad <- density(subset_datos$estimador_p)
plot(
densidad,
main = paste("Densidad para Tamaño de Muestra =", tamano_muestra),
xlab = "Estimador de Proporción",
ylab = "Densidad de Probabilidad"
)
}
# Crear gráficos QQ-Norm para cada tamaño de muestra
for (tamano_muestra in tamanos_muestras) {
subset_datos <- datos[datos$tamano_muestral == tamano_muestra, ]
qqnorm(subset_datos$estimador_p, main = paste("QQ-Norm para Tamaño de Muestra =", tamano_muestra))
qqline(subset_datos$estimador_p, col = 2)
}
# demanera general
shapiro.test(estimador_p)
##
## Shapiro-Wilk normality test
##
## data: estimador_p
## W = 0.87318, p-value < 2.2e-16
for(i in tamanos_muestras){
cat("\n========================================\nTest de normalidad para tamano de muestra", i)
print(shapiro.test(datos$estimador_p[datos$tamano_muestral == i]))
}
##
## ========================================
## Test de normalidad para tamano de muestra 5
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.71756, p-value < 2.2e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 10
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.84327, p-value < 2.2e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 15
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.88627, p-value < 2.2e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 20
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.91423, p-value = 3.178e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 30
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.945, p-value = 1.156e-12
##
##
## ========================================
## Test de normalidad para tamano de muestra 50
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.96682, p-value = 3.331e-09
##
##
## ========================================
## Test de normalidad para tamano de muestra 60
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.9684, p-value = 6.651e-09
##
##
## ========================================
## Test de normalidad para tamano de muestra 100
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.98551, p-value = 7.009e-05
##
##
## ========================================
## Test de normalidad para tamano de muestra 200
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99226, p-value = 0.01068
##
##
## ========================================
## Test de normalidad para tamano de muestra 500
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.9946, p-value = 0.07574
cat("\n========================================")
##
## ========================================
median_estimador_p <- median(datos$estimador_p)
abline(h = median_estimador_p, col = "red", lty = 2)
print(mean(datos$diff_pobla_esti))
## [1] 0.04463433
Los gráficos de densidad revelan información valiosa sobre la forma de la distribución de los estimadores de proporciones. Para tamaños de muestra pequeños, como 5 y 10, los gráficos de densidad muestran una asimetría marcada y colas pesadas. Esto indica una clara desviación de la normalidad, ya que una distribución normal debería ser simétrica y tener colas finas. Estas asimetrías sugieren que los datos no se ajustan a una distribución normal y podrían estar influenciados por factores no aleatorios.
A medida que el tamaño de muestra aumenta, por ejemplo, a partir de tamaños de muestra de 30 o más, se observa una mejora en la simetría de los gráficos de densidad y una forma más cercana a la normalidad. Esto indica que a medida que se aumenta el tamaño de muestra, los datos tienden a asemejarse más a una distribución normal, aunque aún pueden existir algunas desviaciones menores.
Las pruebas de normalidad de Shapiro proporcionan resultados más cuantitativos sobre la normalidad de los datos. Para tamaños de muestra pequeños (5 y 10), estas pruebas indican claramente que los datos no siguen una distribución normal. Los valores p obtenidos en estas pruebas son significativamente bajos (p < 0.05), lo que lleva al rechazo de la hipótesis nula de normalidad. Esto concuerda con las observaciones de los gráficos de densidad y respalda la conclusión de que los datos no son normales en tamaños de muestra pequeños.
A medida que aumenta el tamaño de muestra, las pruebas de Shapiro-Wilk muestran una disminución gradual de la evidencia en contra de la normalidad. Para tamaños de muestra más grandes, como 100 o 200, algunas pruebas de normalidad ya no rechazan la hipótesis nula (p > 0.05), lo que sugiere que los datos pueden aproximarse a una distribución normal. Sin embargo, aún se encuentran evidencias débiles en contra de la normalidad en comparación con tamaños de muestra mucho más grandes.
Los gráficos QQ-Norm proporcionan una representación visual de cómo los datos se comparan con una distribución normal teórica. En tamaños de muestra pequeños, los puntos en estos gráficos están claramente desviados de la línea de referencia diagonal. Esto indica que los datos no siguen una distribución normal, ya que los puntos deberían seguir la línea de referencia en caso de normalidad.
A medida que aumenta el tamaño de muestra, se observa una mejora en la alineación de los puntos con la línea de referencia en los gráficos QQ-Norm. Esto sugiere que los datos se acercan más a una distribución normal a medida que se aumenta el tamaño de muestra, lo que es consistente con los resultados de las pruebas de Shapiro y las observaciones de los gráficos de densidad.
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))
tamano_poblacion <- 1000
# Generar 1000 plantas de las cuales el 90% esta enferma
poblacion <- rbinom(tamano_poblacion,1,0.9)
tamano_muestral <- 1:500
estimador_p <- 1:500
for (i in c(1:500)) {
tamano_muestra <- round(runif(1, min = 5, max = 900),0)
tamano_muestral[i] <- tamano_muestra
p <- muestra_n(tamano_muestra,poblacion)
estimador_p[i] <- p
}
datos <- data.frame(tamano_muestral = tamano_muestral, estimador_p = estimador_p, media_poblacion = rep(mean(poblacion),each = 500), diff_pobla_esti = abs(estimador_p-rep(mean(poblacion),each = 500)))
print(mean(datos$diff_pobla_esti))
## [1] 0.01081398
simulaciones <- 1:500
tamanos_muestras <- c(5,10,15,20,30,50,60,100,200,500)
tamano_muestral <- c()
estimador_p <- c()
for (tamano_muestra in tamanos_muestras) {
for (i in simulaciones){
tamano_muestral <- c(tamano_muestral,tamano_muestra)
p <- muestra_n(tamano_muestra,poblacion)
estimador_p <- c(estimador_p,p)
}
}
datos <- data.frame(tamano_muestral = tamano_muestral, estimador_p = estimador_p, media_poblacion = rep(mean(poblacion),each = 5000), diff_pobla_esti = abs(estimador_p-rep(mean(poblacion),each = 5000)))
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,3), mai = c(.5, .5, .5, .5))
# Crear gráficos de densidad para cada tamaño de muestra
for (tamano_muestra in tamanos_muestras) {
subset_datos <- datos[datos$tamano_muestral == tamano_muestra, ]
densidad <- density(subset_datos$estimador_p)
plot(
densidad,
main = paste("Densidad para Tamaño de Muestra =", tamano_muestra),
xlab = "Estimador de Proporción",
ylab = "Densidad de Probabilidad"
)
}
# Crear gráficos QQ-Norm para cada tamaño de muestra
for (tamano_muestra in tamanos_muestras) {
subset_datos <- datos[datos$tamano_muestral == tamano_muestra, ]
qqnorm(subset_datos$estimador_p, main = paste("QQ-Norm para Tamaño de Muestra =", tamano_muestra))
qqline(subset_datos$estimador_p, col = 2)
}
# demanera general
shapiro.test(estimador_p)
##
## Shapiro-Wilk normality test
##
## data: estimador_p
## W = 0.87121, p-value < 2.2e-16
for(i in tamanos_muestras){
cat("\n========================================\nTest de normalidad para tamano de muestra", i)
print(shapiro.test(datos$estimador_p[datos$tamano_muestral == i]))
}
##
## ========================================
## Test de normalidad para tamano de muestra 5
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.65849, p-value < 2.2e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 10
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.82896, p-value < 2.2e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 15
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.88988, p-value < 2.2e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 20
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.91395, p-value = 2.983e-16
##
##
## ========================================
## Test de normalidad para tamano de muestra 30
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.94497, p-value = 1.146e-12
##
##
## ========================================
## Test de normalidad para tamano de muestra 50
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.96175, p-value = 4.097e-10
##
##
## ========================================
## Test de normalidad para tamano de muestra 60
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.96683, p-value = 3.352e-09
##
##
## ========================================
## Test de normalidad para tamano de muestra 100
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.98079, p-value = 3.647e-06
##
##
## ========================================
## Test de normalidad para tamano de muestra 200
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99172, p-value = 0.006919
##
##
## ========================================
## Test de normalidad para tamano de muestra 500
## Shapiro-Wilk normality test
##
## data: datos$estimador_p[datos$tamano_muestral == i]
## W = 0.99181, p-value = 0.007405
cat("\n========================================")
##
## ========================================
median_estimador_p <- median(datos$estimador_p)
abline(h = median_estimador_p, col = "red", lty = 2)
print(mean(datos$diff_pobla_esti))
## [1] 0.043794
Se generaron gráficos de densidad para cada tamaño de muestra. Las observaciones detalladas son las siguientes:
Para tamaños de muestra pequeños (5 y 10), los gráficos de densidad muestran una asimetría marcada hacia la derecha y colas pesadas. Esto indica una desviación significativa de la normalidad, ya que se esperaría una distribución normal simétrica.
A medida que aumenta el tamaño de muestra, especialmente a partir de tamaños de muestra de 30 o más, los gráficos de densidad tienden a mostrar una simetría mejorada y una forma más cercana a la normalidad. Sin embargo, aún persisten algunas desviaciones menores.
Se realizaron pruebas de normalidad de Shapiro para cada tamaño de muestra. Los resultados se resumen a continuación:
Para tamaños de muestra pequeños (5 y 10), las pruebas de Shapiro indican fuertemente que los datos no siguen una distribución normal. Los valores p obtenidos son significativamente bajos (p < 0.05), lo que respalda el rechazo de la hipótesis nula de normalidad.
A medida que aumenta el tamaño de muestra, las pruebas de Shapiro muestran una disminución gradual de la evidencia en contra de la normalidad. En algunos casos, especialmente para tamaños de muestra grandes (100, 200 y 500), no se rechaza la hipótesis nula (p > 0.05), lo que sugiere una mayor aproximación a la normalidad.
Se generaron gráficos QQ-Norm para cada tamaño de muestra. Las observaciones en estos gráficos son las siguientes:
Para tamaños de muestra pequeños, los puntos en los gráficos QQ-Norm están claramente alejados de la línea de referencia diagonal, lo que indica una desviación significativa de la normalidad.
A medida que el tamaño de muestra aumenta, los puntos en los gráficos QQ-Norm se alinean mejor con la línea de referencia. Esto es más evidente para tamaños de muestra más grandes, lo que sugiere una mayor aproximación a la normalidad.