Inferencia Estadística y Simulación

0. Importación de paquetes

#install.packages("ggpubr") 
#install.packages("ggplot2") 
#install.packages("tidyverse")
#install.packages("flextable")
#install.packages("moments")
#install.packages("DT")
#install.packages("kableExtra")
#install.packages("psych")

library("ggpubr")
## Loading required package: ggplot2
library("ggplot2")
library("tidyverse")
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ tibble  3.1.8     ✔ dplyr   1.0.9
## ✔ tidyr   1.2.0     ✔ stringr 1.4.0
## ✔ readr   2.1.2     ✔ forcats 0.5.1
## ✔ purrr   0.3.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library("flextable")
## 
## Attaching package: 'flextable'
## 
## The following object is masked from 'package:purrr':
## 
##     compose
## 
## The following objects are masked from 'package:ggpubr':
## 
##     border, font, rotate
library(moments)
library(DT)
library(kableExtra)
## Warning in !is.null(rmarkdown::metadata$output) && rmarkdown::metadata$output
## %in% : 'length(x) = 2 > 1' in coercion to 'logical(1)'
## 
## Attaching package: 'kableExtra'
## 
## The following objects are masked from 'package:flextable':
## 
##     as_image, footnote
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(psych)
## 
## Attaching package: 'psych'
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha

1. Teorema del Limite Central

El Teorema del Límite Central es uno de los más importantes en la inferencia estadística y habla sobre la convergencia de los estimadores como la proporción muestral a la distribución normal. Algunos autores afirman que esta aproximación es bastante buena a partir del umbral n>30.

a. Realice una Simulacion

Realice una simulación en la cual genere una población de N=1000 (Lote) y además que el porcentaje de individuos (plantas) enfermas sea del 50%.

Nota: Se concideran como plantas enfermas a los valores 1 y como sanas a los valores 0.

    lote=c(rep(x = 1,500),rep(x = 0,500))
    lote = sample(lote)
    hist(lote, main = "Histograma de Lote", col ="#55B7D3")

b. Función de Muestra Aleatoria

Genere una función que permita obtener una muestra aleatoria de la población y calcule el estimador de la proporción muestral para un tamaño de muestra dado n.

    cal_p_muestra=function(n){
    muestra=sample(lote,size = n)
    p_muestra=sum(muestra=="1")/n
    return(p_muestra)
    }
    y = cal_p_muestra(n = 100)
    print(paste("El estimador de la proporcion muestran para una muestra aleatoria de tamaño n = 100 es: ",y))
## [1] "El estimador de la proporcion muestran para una muestra aleatoria de tamaño n = 100 es:  0.48"

c. Repetir 500 veces el punto b

Repita el escenario anterior (b) 500 veces y analice los resultados en cuanto al comportamiento de los 500 estimadores. ¿Qué tan simétricos son los datos?, ¿Son sesgados y qué pasa en cuanto a variabilidad?

Respuesta:

Los estimadores calculados para las 500 muestras de n = 100, tienen un comportamiento asimétrico, esto lo podemos ver en el resultado del valor de la asimetría el cual es 0.04634 muy cercano a cero, pero con una pequeña inclinación a la cola derecha de los datos indicándonos que los datos de los estimadores se agrupan mayormente alrededor de la media, pero con una pequeña inclinación a la derecha. Además, que el valor de la media y la mediana son muy parecidos entre si siendo 0.4981 y 0.5 respectivamente.

En cuanto a la variabilidad el valor de la desviación estándar fue de 0.0477 un valor bastante pequeño, lo que nos indica que los estimadores pueden estar entre 0.4523 y 0.5477, valores muy cercanos al parámetro de la población (0.5) por lo cual podemos decir que los datos tienen una baja variabilidad.

En conclusión, podemos decir que los datos se pueden considerar asimétricos positivos, aunque muy cercanos a una simetría y que tienen poca variabilidad.

    rep_escenarios = function(n,repeticion){
    n_escenarios = sapply(rep(n,repeticion), cal_p_muestra)
    return(n_escenarios)
    }
    estimadores=rep_escenarios(100,500)
    df_estimadores=data.frame(estimadores)
    summary(estimadores)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3500  0.4700  0.5100  0.5037  0.5300  0.6400
    line = mean(estimadores)
    g1=ggplot(df_estimadores,aes(x=estimadores))+geom_histogram(bins=30,fill="#55B7D3",col = "#356D7D")+theme_bw()+
                                                 geom_vline(xintercept=line,col="red")+
                                                 labs(title = "Histograma de 500 muestras")
    g2=ggplot(df_estimadores,aes(y=estimadores))+geom_boxplot(width=0.5,fill="#55B7D3",col = "#356D7D")+theme_bw()
    ggarrange(g1, g2,ncol = 2, nrow = 1)

    print(paste("la asimetria de las 500 muestras es de:",skewness(estimadores)))
## [1] "la asimetria de las 500 muestras es de: -0.0455412077771874"
      print(paste("la desviación típica de las 500 muestras es de:",sd(estimadores)))
## [1] "la desviación típica de las 500 muestras es de: 0.0469858802821846"

d. Realice los ejercicios b y c

Realice los ejercicios completos b y c para tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500. Y compare los resultados de los estimadores en cuanto a la normalidad. Investigue y utilice pruebas de bondad y ajuste (shapiro wilks) y métodos gráficos (grafico qq de normalidad).

Respuesta:

En este ejercicio se puede apreciar la consistencia del estimador, la cual nos indica que entre más grande sea el tamaño de la muestra más cercano será el estimador al parámetro de la población.

Con respecto a la normalidad se realizó la prueba de Shapiro Wilk la cual evalúa la normalidad de la distribución correspondiente a los datos suministrados evaluando el Valor P el cual si es mayor que el nivel de significancia 0.05 se puede concluir que los datos se distribuyen de manera normal. Para este caso particular solo se cumplió en las muestras de n= 200 y n = 500. además, se puede ver el comportamiento en los gráficos de normalidad QQ - Plot ya que muestran como los datos se ajustan más a medida que crece el número de la muestra.

    r_muestras=function(repeticion){
    tamano_muestra=c(5,10,15,20,30,50,60,100,200,500)
    r_estimadores=matrix(0,nrow=repeticion,ncol=length(tamano_muestra))
    i=1
    for (i in 1:length(tamano_muestra)){
    r_estimadores[,i]=rep_escenarios(tamano_muestra[i],repeticion)
    }
    colnames(r_estimadores)=c("n5","n10","n15","n20","n30","n50","n60","n100","n200","n500")
    return(r_estimadores)
    }
    resul_muestras=data.frame(r_muestras(500))
    tabla=describe(resul_muestras)
    tabla%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
vars n mean sd median trimmed mad min max range skew kurtosis se
n5 1 500 0.48480 0.21265 0.40000 0.48450 0.29652 0.00000 1.00000 1.00000 0.00389 -0.53772 0.00951
n10 2 500 0.49880 0.15852 0.50000 0.49975 0.14826 0.10000 1.00000 0.90000 -0.04963 0.04444 0.00709
n15 3 500 0.49787 0.13348 0.46667 0.49667 0.09884 0.06667 0.86667 0.80000 0.07975 -0.13615 0.00597
n20 4 500 0.50170 0.11021 0.50000 0.50400 0.14826 0.15000 0.85000 0.70000 -0.17075 -0.06472 0.00493
n30 5 500 0.49633 0.09161 0.50000 0.49767 0.09884 0.23333 0.76667 0.53333 -0.10508 0.02810 0.00410
n50 6 500 0.50340 0.06879 0.50000 0.50330 0.05930 0.30000 0.70000 0.40000 0.00591 -0.29794 0.00308
n60 7 500 0.49967 0.06607 0.50000 0.49825 0.07413 0.33333 0.70000 0.36667 0.19219 -0.21374 0.00295
n100 8 500 0.50044 0.04576 0.50000 0.50025 0.04448 0.36000 0.63000 0.27000 0.02602 0.09985 0.00205
n200 9 500 0.49926 0.03255 0.50000 0.49919 0.02965 0.41500 0.60500 0.19000 0.08893 -0.10828 0.00146
n500 10 500 0.50108 0.01644 0.50200 0.50118 0.01779 0.44200 0.54600 0.10400 -0.11847 -0.01624 0.00074
p_enfermas = 0.5
funcion_graficas=function(datos, p_enfermas){
nombres=c("n=5","n=10","n=15","n=20","n=30","n=50","n=60","n=100","n=200","n=500")
for (i in 1:ncol(datos)){
par(mfrow=c(1,2))
hist(datos[,i],main =c("Histograma Muestra de Tamaño ",nombres[i]),xlab = "", col = rainbow(11, alpha=0.2))
abline(v=p_enfermas,col="red",lwd=3)
qqnorm(datos[,i])
qqline(datos[,i])
print(paste0("Prueba para Muestra de Tamaño  ",nombres[i]),quote = FALSE)
print(shapiro.test(datos[,i]))
}
}
funcion_graficas(resul_muestras,p_enfermas)

## [1] Prueba para Muestra de Tamaño  n=5
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.91916, p-value = 1.012e-15

## [1] Prueba para Muestra de Tamaño  n=10
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.96448, p-value = 1.237e-09

## [1] Prueba para Muestra de Tamaño  n=15
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97752, p-value = 5.761e-07

## [1] Prueba para Muestra de Tamaño  n=20
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97848, p-value = 9.771e-07

## [1] Prueba para Muestra de Tamaño  n=30
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98649, p-value = 0.0001371

## [1] Prueba para Muestra de Tamaño  n=50
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99076, p-value = 0.003215

## [1] Prueba para Muestra de Tamaño  n=60
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99074, p-value = 0.003162

## [1] Prueba para Muestra de Tamaño  n=100
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99277, p-value = 0.01635

## [1] Prueba para Muestra de Tamaño  n=200
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99595, p-value = 0.2286

## [1] Prueba para Muestra de Tamaño  n=500
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99536, p-value = 0.1417

e. Repetir Simulacion (a - d)

Repita toda la simulación (puntos a – d) pero ahora con lotes con 10% y 90% de plantas enfermas. Concluya todo el ejercicio.

Respuesta:

Cuanto mayor sea el n para la muestra se puede evidenciar como el estimador de la muestra cumple con las diferentes caracteristicas de ser insezgado, tener consistencia y tener eficiencia ya que el promedio del estimador se acerca al valor del parametro de la poblacion.

Con respecto a las pruebas realizadas para 10% y 90% de enfermas, encontramos que en los tamaños mas pequeños de muestras sus histogramas presentan un sesgo bastante pronunciado hacia el 0% para la muestra con 10% de enfermas puesto que al ser la muestra tan pequeña es posible que no pueda optener suficientes plantas enfermas para hacer una buena estimacion del parametro poblacional. En contraste con la prueba de 90% en la cual el estimador esta muy cercano al parametro real de la poblacion.

Esto es un caso claro de desbalanceo de la poblacion puesto que la caracteristica objetivo “plantas enfermas” en una poblacion es solo un 10% mientras que en la otra es un 90%. lo que sugiere que necesitamos muchos datos para poder estimar correctamente el parametro poblacional.

10% de plantas enfermas

a. Realice una Simulacion
    lote_2=c(rep(x = 1,100),rep(x = 0,900))
    lote_2 = sample(lote_2)
    hist(lote_2, main = "Histograma de Lote_2", col ="#AB86B9")

b. Función de Muestra
    cal_p_muestra_2=function(n){
    muestra_2=sample(lote_2,size = n)
    p_muestra_2=sum(muestra_2=="1")/n
    return(p_muestra_2)
    }
    print(paste("El estimador de la proporcion muestran para una muestra aleatoria de tamaño n = 100 es: ",cal_p_muestra_2(n = 100)))
## [1] "El estimador de la proporcion muestran para una muestra aleatoria de tamaño n = 100 es:  0.11"
c. Repetir 500 (punto b)
    rep_escenarios_2 = function(n,repeticion){
    n_escenarios_2 = sapply(rep(n,repeticion), cal_p_muestra_2)
    return(n_escenarios_2)
    }
    estimadores_2=rep_escenarios_2(100,500)
    df_estimadores_2=data.frame(estimadores_2)
    tabla_1=describe(df_estimadores_2)
    tabla_1%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
vars n mean sd median trimmed mad min max range skew kurtosis se
estimadores_2 1 500 0.09824 0.02874 0.1 0.09735 0.02965 0.02 0.21 0.19 0.39496 0.46113 0.00129
    line_2 = mean(estimadores_2)
    g3=ggplot(df_estimadores_2,aes(x=estimadores_2))+geom_histogram(bins=30,fill="#AB86B9",col = "#775683")+theme_bw()+
                                                 geom_vline(xintercept=line_2,col="red")+
                                                 labs(title = "Histograma de 500 muestras")
    g4=ggplot(df_estimadores_2,aes(y=estimadores_2))+geom_boxplot(width=0.5,fill="#AB86B9",col = "#775683")+theme_bw()
    ggarrange(g3, g4,ncol = 2, nrow = 1)

    print(paste("la asimetria de las 500 muestras es de:",skewness(estimadores_2)))
## [1] "la asimetria de las 500 muestras es de: 0.396150784801031"
      print(paste("la desviación típica de las 500 muestras es de:",sd(estimadores_2)))
## [1] "la desviación típica de las 500 muestras es de: 0.0287429071149534"
d. Realizar ejercicios b y c
    r_muestras_2=function(repeteicion){
    tamano_muestra=c(5,10,15,20,30,50,60,100,200,500)
    r_estimadores_2=matrix(0,nrow=repeteicion,ncol=length(tamano_muestra))
    i=1
    for (i in 1:length(tamano_muestra)){
    r_estimadores_2[,i]=rep_escenarios_2(tamano_muestra[i],repeteicion)
    }
    colnames(r_estimadores_2)=c("n5","n10","n15","n20","n30","n50","n60","n100","n200","n500")
    return(r_estimadores_2)
    }
    resul_muestras_2 = data.frame(r_muestras_2(500))
    tabla_2=describe(resul_muestras_2)
    tabla_2%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
vars n mean sd median trimmed mad min max range skew kurtosis se
n5 1 500 0.11560 0.13869 0.00000 0.09300 0.00000 0.00000 0.60000 0.60000 0.88982 -0.03185 0.00620
n10 2 500 0.09820 0.09463 0.10000 0.08750 0.14826 0.00000 0.60000 0.60000 0.98453 1.39020 0.00423
n15 3 500 0.10107 0.07614 0.06667 0.09500 0.09884 0.00000 0.40000 0.40000 0.88308 1.04289 0.00341
n20 4 500 0.10090 0.06605 0.10000 0.09838 0.07413 0.00000 0.30000 0.30000 0.39383 -0.35447 0.00295
n30 5 500 0.09460 0.05064 0.10000 0.09217 0.04942 0.00000 0.23333 0.23333 0.37006 -0.19408 0.00226
n50 6 500 0.09552 0.03932 0.10000 0.09460 0.02965 0.00000 0.24000 0.24000 0.28943 0.01228 0.00176
n60 7 500 0.10067 0.03662 0.10000 0.09971 0.04942 0.01667 0.21667 0.20000 0.27503 -0.26802 0.00164
n100 8 500 0.10218 0.02917 0.10000 0.10100 0.02965 0.03000 0.21000 0.18000 0.37759 -0.07569 0.00130
n200 9 500 0.10167 0.02036 0.10000 0.10121 0.02224 0.04500 0.17000 0.12500 0.22882 -0.27193 0.00091
n500 10 500 0.10032 0.00922 0.10000 0.10041 0.00890 0.07000 0.13000 0.06000 -0.10709 0.10966 0.00041
p_enfermas_2 = 0.1
funcion_graficas_2 = function(datos, p_enfermas_2){
nombres=c("n=5","n=10","n=15","n=20","n=30","n=50","n=60","n=100","n=200","n=500")
for (i in 1:ncol(datos)){
par(mfrow=c(1,2))
hist(datos[,i],main =c("Histograma Muestra de Tamaño ",nombres[i]),xlab = "", col = rainbow(11, alpha=0.2))
abline(v=p_enfermas_2,col="red",lwd=3)
qqnorm(datos[,i])
qqline(datos[,i])
print(paste0("Prueba para Muestra de Tamaño  ",nombres[i]),quote = FALSE)
print(shapiro.test(datos[,i]))
}
}
funcion_graficas_2(resul_muestras_2,p_enfermas_2)

## [1] Prueba para Muestra de Tamaño  n=5
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.74424, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=10
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.83295, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=15
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.88349, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=20
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.93038, p-value = 1.72e-14

## [1] Prueba para Muestra de Tamaño  n=30
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.94838, p-value = 3.401e-12

## [1] Prueba para Muestra de Tamaño  n=50
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97179, p-value = 3.169e-08

## [1] Prueba para Muestra de Tamaño  n=60
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97426, p-value = 1.057e-07

## [1] Prueba para Muestra de Tamaño  n=100
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97874, p-value = 1.125e-06

## [1] Prueba para Muestra de Tamaño  n=200
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98817, p-value = 0.0004514

## [1] Prueba para Muestra de Tamaño  n=500
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99312, p-value = 0.02182

90% de plantas enfermas

a. Realice una Simulacion
    lote_3=c(rep(x = 1,900),rep(x = 0,100))
    lote_3 = sample(lote_3)
    hist(lote_3, main = "Histograma de Lote_3", col ="#DACA73")

b. Función de Muestra
    cal_p_muestra_3=function(n){
    muestra_3=sample(lote_3,size = n)
    p_muestra_3=sum(muestra_3=="1")/n
    return(p_muestra_3)
    }
    print(paste("El estimador de la proporcion muestran para una muestra aleatoria de tamaño n = 100 es: ",cal_p_muestra_3(n = 100)))
## [1] "El estimador de la proporcion muestran para una muestra aleatoria de tamaño n = 100 es:  0.89"
c. Repetir 500 (punto b)
    rep_escenarios_3 = function(n,repeticion){
    n_escenarios_3 = sapply(rep(n,repeticion), cal_p_muestra_3)
    return(n_escenarios_3)
    }
    estimadores_3=rep_escenarios_3(100,500)
    df_estimadores_3=data.frame(estimadores_3)
    summary(estimadores_3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8000  0.8800  0.9000  0.8985  0.9200  0.9700
    line_3 = mean(estimadores_3)
    g5=ggplot(df_estimadores_3,aes(x=estimadores_3))+geom_histogram(bins=30,fill="#DACA73",col = "#90854D")+theme_bw()+
                                                 geom_vline(xintercept=line_3,col="red")+
                                                 labs(title = "Histograma de 500 muestras")
    g6=ggplot(df_estimadores_3,aes(y=estimadores_3))+geom_boxplot(width=0.5,fill="#DACA73",col = "#90854D")+theme_bw()
    ggarrange(g5, g6,ncol = 2, nrow = 1)

    print(paste("la asimetria de las 500 muestras es de:",skewness(estimadores_3)))
## [1] "la asimetria de las 500 muestras es de: -0.387028689949123"
      print(paste("la desviación típica de las 500 muestras es de:",sd(estimadores_3)))
## [1] "la desviación típica de las 500 muestras es de: 0.0286284679708278"
d. Realizar ejercicios b y c
    r_muestras_3=function(repeticion){
    tamano_muestra=c(5,10,15,20,30,50,60,100,200,500)
    r_estimadores_3=matrix(0,nrow=repeticion,ncol=length(tamano_muestra))
    i=1
    for (i in 1:length(tamano_muestra)){
    r_estimadores_3[,i]=rep_escenarios_3(tamano_muestra[i],repeticion)
    }
    colnames(r_estimadores_3)=c("n5","n10","n15","n20","n30","n50","n60","n100","n200","n500")
    return(r_estimadores_3)
    }
    resul_muestras_3 = data.frame(r_muestras_3(500))
    s_3 <- round(skewness(resul_muestras_3),4)
    c_3 <- round(kurtosis(resul_muestras_3),4)
    tabla_3=describe(resul_muestras_3)
    tabla_3%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
vars n mean sd median trimmed mad min max range skew kurtosis se
n5 1 500 0.89080 0.13694 1.00000 0.91400 0.00000 0.40000 1.00000 0.60000 -1.01193 0.36127 0.00612
n10 2 500 0.90200 0.09040 0.90000 0.91100 0.14826 0.60000 1.00000 0.40000 -0.75386 0.22606 0.00404
n15 3 500 0.90200 0.07635 0.93333 0.90767 0.09884 0.66667 1.00000 0.33333 -0.60463 -0.08103 0.00341
n20 4 500 0.89940 0.06647 0.90000 0.90288 0.07413 0.70000 1.00000 0.30000 -0.52455 -0.08058 0.00297
n30 5 500 0.90167 0.05263 0.90000 0.90467 0.04942 0.73333 1.00000 0.26667 -0.52433 0.13069 0.00235
n50 6 500 0.89996 0.04191 0.90000 0.90155 0.02965 0.76000 1.00000 0.24000 -0.44994 0.15229 0.00187
n60 7 500 0.90253 0.03729 0.90000 0.90329 0.03707 0.78333 0.98333 0.20000 -0.25011 -0.18034 0.00167
n100 8 500 0.89934 0.03028 0.90000 0.89992 0.02965 0.80000 0.97000 0.17000 -0.24533 -0.19729 0.00135
n200 9 500 0.89980 0.01790 0.90000 0.89999 0.01483 0.83000 0.95500 0.12500 -0.16611 0.18765 0.00080
n500 10 500 0.90007 0.00993 0.90000 0.90010 0.00890 0.86600 0.93000 0.06400 -0.04633 0.18151 0.00044
p_enfermas_3 = 0.9
funcion_graficas_3 = function(datos, p_enfermas_3){
nombres=c("n=5","n=10","n=15","n=20","n=30","n=50","n=60","n=100","n=200","n=500")
for (i in 1:ncol(datos)){
par(mfrow=c(1,2))
hist(datos[,i],main =c("Histograma Muestra de Tamaño ",nombres[i]),xlab = "", col = rainbow(11, alpha=0.2))
abline(v=p_enfermas_3,col="red",lwd=3)
qqnorm(datos[,i])
qqline(datos[,i])
print(paste0("Prueba para Muestra de Tamaño  ",nombres[i]),quote = FALSE)
print(shapiro.test(datos[,i]))
}
}
funcion_graficas_3(resul_muestras_3,p_enfermas_3)

## [1] Prueba para Muestra de Tamaño  n=5
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.7306, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=10
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.84093, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=15
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.89604, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=20
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.92461, p-value = 3.856e-15

## [1] Prueba para Muestra de Tamaño  n=30
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.94654, p-value = 1.884e-12

## [1] Prueba para Muestra de Tamaño  n=50
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.96646, p-value = 2.853e-09

## [1] Prueba para Muestra de Tamaño  n=60
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97615, p-value = 2.788e-07

## [1] Prueba para Muestra de Tamaño  n=100
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98474, p-value = 4.212e-05

## [1] Prueba para Muestra de Tamaño  n=200
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99048, p-value = 0.002573

## [1] Prueba para Muestra de Tamaño  n=500
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99542, p-value = 0.1492

2. Comparación de Tratamientos

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.

a. Tratamientos Diferentes

Suponga un escenario en el cual usted aplicó tratamientos diferentes a dos lotes y desea analizar si alguno de los dos presenta un mejor desempeño en el control de una plaga presente en ambos al momento inicial. Para ello utilizará como criterio de desempeño el tratamiento que menor % de plantas enfermas presente después de un tiempo de aplicación (es decir, si se presentan o no diferencias en las proporciones de enfermos P1 y P2). Realice una simulación en la cual genere dos poblaciones de N1=1000 (Lote1) y N2=1500 (Lote2), además asuma que el porcentaje de individuos (plantas) enfermas en ambos lotes sea la misma 10% (es decir, sin diferencias entre los tratamientos).

Lote1

    lote1=c(rep(x = 1,100),rep(x = 0,900))
    lote1 = sample(lote1)
    hist(lote1, main = "Histograma de Lote1", col ="#BD50CB")

Lote2

    lote2=c(rep(x = 1,150),rep(x = 0,1350))
    lote2 = sample(lote2)
    hist(lote2, main = "Histograma de Lote2", col ="#4CAB4F")

b. Función de Muestra Aleatoria

    cal_p1_p2_muestra=function(n){
    muestra1=sample(lote1,size = n)
    muestra2=sample(lote2,size = n)
    p_muestra1=sum(muestra1=="1")/n
    p_muestra2=sum(muestra2=="1")/n
    p1_p2 = p_muestra1 - p_muestra2
    p1_p2_muestra = data.frame (p_muestra1,p_muestra2,p1_p2)
    return(p1_p2_muestra)
    }
    print("Para una muestra de tamaño n = 100, la diferencia entre los estimadores (p1_p2) se puede ver en la siguiente tabla: ")
## [1] "Para una muestra de tamaño n = 100, la diferencia entre los estimadores (p1_p2) se puede ver en la siguiente tabla: "
    tabla_4 = cal_p1_p2_muestra(n = 100)
    tabla_4%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
p_muestra1 p_muestra2 p1_p2
0.08 0.14 -0.06

c. Repita 500 veces (b)

Respuesta:

Los datos son bastante simétricos puesto que el valor de la asimetría para P1-P2 es muy cercano a cero, lo que nos indica que los datos se distribuyen muy cercanos a la media, la cual esta cercana a cero.

Los datos no siempre son cero puesto que existe algo de dispersión entre los diferentes estimadores de cada muestra, esto debido a la aleatoriedad en la que se generan las muestras, puesto que en algunas se pueden obtener diferencias mayores o menores a cero. Si quisiéramos que la diferencia fuera cero lo mejor sería tomar una muestra mucho más grande para que los estimadores sean lo más cercanos al parámetro de la población (10%) y de esta forma tener una diferencia casi siempre de 0 en P1-p2.

    rep_escenarios_p1_p2 = function(n,repeticion){
    n_escenarios_p1_p2 = data.frame(t(sapply(rep(n,repeticion), cal_p1_p2_muestra)))
    return(n_escenarios_p1_p2)
    }
    estimadores_p1p2= rep_escenarios_p1_p2(100,500)
    estimadores_p1_p2 <- subset(estimadores_p1p2, select = p1_p2)
    estimadores_p1_p2 <- transform(estimadores_p1_p2,p1_p2 = as.numeric(p1_p2))
    summary(estimadores_p1_p2)
##      p1_p2        
##  Min.   :-0.1000  
##  1st Qu.:-0.0200  
##  Median : 0.0000  
##  Mean   : 0.0018  
##  3rd Qu.: 0.0300  
##  Max.   : 0.1200
    x = as.numeric(unlist(estimadores_p1_p2))
    df_x = data.frame(x)
    line_p1_p2 = mean(x)
    g3=ggplot(df_x,aes(x=x))+geom_histogram(bins=30,fill="#6172B2",col = "#4A578A")+theme_bw()+
                                                 geom_vline(xintercept=line_p1_p2,col="red")+
                                                 labs(title = "Histograma de 500 muestras P1-P2")
    g4=ggplot(df_x,aes(y=x))+geom_boxplot(width=0.5,fill="#6172B2",col = "#4A578A")+theme_bw()
    ggarrange(g3, g4,ncol = 2, nrow = 1)

    print(paste("la asimetria de las 500 muestras de P1 - P2 es :",skewness(estimadores_p1_p2)))
## [1] "la asimetria de las 500 muestras de P1 - P2 es : 0.155261561102375"
      print(paste("la desviación típica de las 500 muestras de P1 - P2 es de:",sd(unlist(estimadores_p1_p2))))
## [1] "la desviación típica de las 500 muestras de P1 - P2 es de: 0.0392356837299353"

d. Realizar ejercicios b y c

Respuesta:

Para tamaños de muestras pequeños los valores de P1 y P2 pueden ser algo diferentes entre si por que las muestras no son capaces de ser representativas frente a la población por lo que podríamos tener estimadores muy pequeños o muy grandes que al hacer P1- P2 muestran una diferencia, por lo que se podría concluir que para tamaños de n pequeños existe una diferencia entre P1-P2 pero esto sería un error puesto que estas muestras no son lo suficientemente representativas y estamos haciendo una inferencia errada. El efecto del tamaño de la muestra en la comparación de dos proporciones es que entre más grande sea el valor del n más cercanos estarán los estimadores de las muestras P1 y P2 por lo que la estimación de la diferencia entre los parámetros poblacionales sería más cercana a la realidad haciendo que las conclusiones sean más precisas.

repeticion = 500
r_muestras_p1_p2=function(repeticion){
tamano_muestra=c(5,10,15,20,30,50,60,100,200,500)
r_estimadores_p1_p2=matrix(0,nrow=repeticion,ncol=length(tamano_muestra))
i=1
for (i in 1:length(tamano_muestra)){
p1_p2_res=rep_escenarios_p1_p2(tamano_muestra[i],repeticion)
r_estimadores_p1_p2[,i]=as.numeric(p1_p2_res[,3])
}
colnames(r_estimadores_p1_p2)=c("n5","n10","n15","n20","n30","n50","n60","n100","n200","n500")
return(r_estimadores_p1_p2)
}
resul_muestras_p1_p2=data.frame(r_muestras_p1_p2(repeticion))
tabla5=describe(resul_muestras_p1_p2)
tabla5%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
vars n mean sd median trimmed mad min max range skew kurtosis se
n5 1 500 0.00680 0.19624 0 0.00300 0.29652 -0.60000 0.80000 1.40000 0.23707 0.58700 0.00878
n10 2 500 -0.00200 0.13428 0 -0.00400 0.14826 -0.40000 0.50000 0.90000 0.13545 0.46847 0.00601
n15 3 500 0.00747 0.11110 0 0.00950 0.09884 -0.33333 0.33333 0.66667 -0.17214 -0.09897 0.00497
n20 4 500 0.00690 0.09750 0 0.00650 0.07413 -0.30000 0.30000 0.60000 -0.01075 0.05350 0.00436
n30 5 500 0.00060 0.07761 0 0.00042 0.09884 -0.23333 0.26667 0.50000 0.04959 0.18080 0.00347
n50 6 500 0.00436 0.06037 0 0.00560 0.05930 -0.18000 0.16000 0.34000 -0.19078 0.06887 0.00270
n60 7 500 0.00077 0.05483 0 0.00187 0.04942 -0.16667 0.13333 0.30000 -0.23508 -0.20713 0.00245
n100 8 500 0.00056 0.04084 0 0.00112 0.04448 -0.14000 0.12000 0.26000 -0.21529 0.33017 0.00183
n200 9 500 0.00127 0.02952 0 0.00099 0.02965 -0.08500 0.09500 0.18000 0.07362 0.09990 0.00132
n500 10 500 0.00060 0.01435 0 0.00070 0.01483 -0.04800 0.04800 0.09600 -0.03215 0.00544 0.00064
p_enfermas_p1_p2 = 0
funcion_graficas_p1_p2 = function(datos, p_enfermas_p1_p2){
nombres=c("n=5","n=10","n=15","n=20","n=30","n=50","n=60","n=100","n=200","n=500")
for (i in 1:ncol(datos)){
par(mfrow=c(1,2))
hist(datos[,i],main =c("Histograma Muestra de Tamaño ",nombres[i]),xlab = "", col = rainbow(11, alpha=0.2))
abline(v=p_enfermas_p1_p2,col="red",lwd=3)
qqnorm(datos[,i])
qqline(datos[,i])
print(paste0("Prueba para Muestra de Tamaño  ",nombres[i]),quote = FALSE)
print(shapiro.test(datos[,i]))
}
}
funcion_graficas_p1_p2(resul_muestras_p1_p2,p_enfermas_p1_p2)

## [1] Prueba para Muestra de Tamaño  n=5
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.9067, p-value < 2.2e-16

## [1] Prueba para Muestra de Tamaño  n=10
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.94959, p-value = 5.073e-12

## [1] Prueba para Muestra de Tamaño  n=15
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.96626, p-value = 2.615e-09

## [1] Prueba para Muestra de Tamaño  n=20
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.97727, p-value = 5.04e-07

## [1] Prueba para Muestra de Tamaño  n=30
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98217, p-value = 8.3e-06

## [1] Prueba para Muestra de Tamaño  n=50
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98625, p-value = 0.0001159

## [1] Prueba para Muestra de Tamaño  n=60
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98617, p-value = 0.00011

## [1] Prueba para Muestra de Tamaño  n=100
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99027, p-value = 0.002189

## [1] Prueba para Muestra de Tamaño  n=200
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99555, p-value = 0.1656

## [1] Prueba para Muestra de Tamaño  n=500
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99613, p-value = 0.2625

e. Realice una Simulacion

P1 = 10% y P2 = 15% de enfermas

Respuesta:

Se evidencia una diferencia más sostenida en todos los tamaños de muestra que se va acercando a la diferencia real de 0.05 entre más grande es el valor de la muestra. Por lo que se podría concluir que existen diferencias entre los estimadores P1 y P2 y esto se evidencia en todos los puntos, pero con tamaños de muestras más grandes esta diferencia es más cercana a la real entre las dos poblaciones.

En los tamaños de muestra más grandes se puede ver claramente la diferencia entre el escenario 1 y el escenario 2, puesto que en el primero podemos ver como la diferencia entre P1 y P2 tiende a ser cercana a cero mientras que en el escenario 2 esta diferencia se aproxima cada vez más a 0.05.

a. Realice una Simulacion
Lote1
    lote1_e=c(rep(x = 1,100),rep(x = 0,900))
    lote1_e = sample(lote1_e)
    hist(lote1, main = "Histograma de Lote1_e", col ="#7FD7CB")

Lote2
    lote2_e=c(rep(x = 1,225),rep(x = 0,1275))
    lote2_e = sample(lote2_e)
    hist(lote2, main = "Histograma de Lote2_e", col ="#CE8FBE")

b. Función de Muestra Aleatoria
    cal_p1_p2_muestra_e=function(n){
    muestra1_e=sample(lote1_e,size = n)
    muestra2_e=sample(lote2_e,size = n)
    p_muestra1_e=sum(muestra1_e=="1")/n
    p_muestra2_e=sum(muestra2_e=="1")/n
    p1_p2_e = p_muestra1_e - p_muestra2_e
    p1_p2_muestra_e = data.frame (p_muestra1_e,p_muestra2_e,p1_p2_e)
    return(p1_p2_muestra_e)
    }
    print("Para una muestra de tamaño n = 100, la diferencia entre los estimadores (p1_p2) se ve en la siguiente tabla ")
## [1] "Para una muestra de tamaño n = 100, la diferencia entre los estimadores (p1_p2) se ve en la siguiente tabla "
    tabla_6 = cal_p1_p2_muestra_e(n = 100)
    tabla_6%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
p_muestra1_e p_muestra2_e p1_p2_e
0.11 0.14 -0.03
c. Realice una Simulacion
    rep_escenarios_p1_p2_e = function(n,repeticion){
    n_escenarios_p1_p2_e = data.frame(t(sapply(rep(n,repeticion), cal_p1_p2_muestra_e)))
    return(n_escenarios_p1_p2_e)
    }
    estimadores_p1p2_e= rep_escenarios_p1_p2_e(100,500)
    estimadores_p1_p2_e <- subset(estimadores_p1p2_e, select = p1_p2_e)
    estimadores_p1_p2_e <- transform(estimadores_p1_p2_e,p1_p2_e = as.numeric(p1_p2_e))
    summary(estimadores_p1_p2_e)
##     p1_p2_e        
##  Min.   :-0.24000  
##  1st Qu.:-0.08000  
##  Median :-0.05000  
##  Mean   :-0.05372  
##  3rd Qu.:-0.03000  
##  Max.   : 0.07000
    x_e = as.numeric(unlist(estimadores_p1_p2_e))
    df_x_e = data.frame(x_e)
    line_p1_p2_e = mean(x_e)
    g3=ggplot(df_x_e,aes(x=x_e))+geom_histogram(bins=30,fill="#AB284C",col = "#922D49")+theme_bw()+
                                                 geom_vline(xintercept=line_p1_p2_e,col="red")+
                                                 labs(title = "Histograma de 500 muestras P1-P2")
    g4=ggplot(df_x_e,aes(y=x_e))+geom_boxplot(width=0.5,fill="#AB284C",col = "#922D49")+theme_bw()
    ggarrange(g3, g4,ncol = 2, nrow = 1)

    print(paste("la asimetria de las 500 muestras de P1 - P2 es :",skewness(estimadores_p1_p2_e)))
## [1] "la asimetria de las 500 muestras de P1 - P2 es : -0.261747534109204"
      print(paste("la desviación típica de las 500 muestras de P1 - P2 es de:",sd(unlist(estimadores_p1_p2_e))))
## [1] "la desviación típica de las 500 muestras de P1 - P2 es de: 0.0439776040652357"
d. Realice una Simulacion
repeticion = 500
r_muestras_p1_p2_e=function(repeticion){
tamano_muestra=c(5,10,15,20,30,50,60,100,200,500)
r_estimadores_p1_p2_e=matrix(0,nrow=repeticion,ncol=length(tamano_muestra))
i=1
for (i in 1:length(tamano_muestra)){
p1_p2_res_e=rep_escenarios_p1_p2_e(tamano_muestra[i],repeticion)
r_estimadores_p1_p2_e[,i]=as.numeric(p1_p2_res_e[,3])
}
colnames(r_estimadores_p1_p2_e)=c("n5","n10","n15","n20","n30","n50","n60","n100","n200","n500")
return(r_estimadores_p1_p2_e)
}
resul_muestras_p1_p2_e=data.frame(r_muestras_p1_p2_e(repeticion))
tabla5=describe(resul_muestras_p1_p2_e)
tabla5%>%kbl(digits = 5)%>%kable_styling(font_size = 11,full_width = FALSE)
vars n mean sd median trimmed mad min max range skew kurtosis se
n5 1 500 -0.04720 0.21038 0.00000 -0.04050 0.29652 -0.60000 0.60000 1.20000 -0.10740 0.11493 0.00941
n10 2 500 -0.04680 0.14904 0.00000 -0.04825 0.14826 -0.40000 0.40000 0.80000 0.05048 -0.28545 0.00667
n15 3 500 -0.04573 0.12055 -0.06667 -0.04650 0.09884 -0.40000 0.33333 0.73333 0.06983 0.09441 0.00539
n20 4 500 -0.04910 0.09640 -0.05000 -0.04850 0.07413 -0.55000 0.25000 0.80000 -0.20796 1.33166 0.00431
n30 5 500 -0.04440 0.08161 -0.03333 -0.04442 0.09884 -0.26667 0.20000 0.46667 -0.00174 0.02567 0.00365
n50 6 500 -0.05060 0.06549 -0.06000 -0.05105 0.05930 -0.22000 0.14000 0.36000 0.05849 -0.23847 0.00293
n60 7 500 -0.04830 0.06059 -0.05000 -0.04638 0.04942 -0.21667 0.13333 0.35000 -0.30800 0.08822 0.00271
n100 8 500 -0.04552 0.04241 -0.05000 -0.04565 0.04448 -0.18000 0.08000 0.26000 0.03969 -0.05073 0.00190
n200 9 500 -0.04919 0.02921 -0.05000 -0.04876 0.02965 -0.15000 0.03000 0.18000 -0.17248 0.06849 0.00131
n500 10 500 -0.05075 0.01628 -0.05200 -0.05099 0.01483 -0.09400 -0.00400 0.09000 0.15807 -0.17378 0.00073
funcion_graficas_p1_p2_e = function(datos, p_enfermas_p1_p2_e){
nombres=c("n=5","n=10","n=15","n=20","n=30","n=50","n=60","n=100","n=200","n=500")
for (i in 1:ncol(datos)){
par(mfrow=c(1,2))
hist(datos[,i],main =c("Histograma Muestra de Tamaño ",nombres[i]),xlab = "", col = rainbow(11, alpha=0.2))
abline(v=mean(datos[,i]),col="red",lwd=3)
qqnorm(datos[,i])
qqline(datos[,i])
print(paste0("Prueba para Muestra de Tamaño  ",nombres[i]),quote = FALSE)
print(shapiro.test(datos[,i]))
}
}
funcion_graficas_p1_p2_e(resul_muestras_p1_p2_e,p_enfermas_p1_p2_e)

## [1] Prueba para Muestra de Tamaño  n=5
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.92138, p-value = 1.733e-15

## [1] Prueba para Muestra de Tamaño  n=10
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.96015, p-value = 2.194e-10

## [1] Prueba para Muestra de Tamaño  n=15
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.9727, p-value = 4.907e-08

## [1] Prueba para Muestra de Tamaño  n=20
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.96688, p-value = 3.415e-09

## [1] Prueba para Muestra de Tamaño  n=30
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98418, p-value = 2.933e-05

## [1] Prueba para Muestra de Tamaño  n=50
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99013, p-value = 0.00196

## [1] Prueba para Muestra de Tamaño  n=60
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.98538, p-value = 6.451e-05

## [1] Prueba para Muestra de Tamaño  n=100
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99405, p-value = 0.04752

## [1] Prueba para Muestra de Tamaño  n=200
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99351, p-value = 0.03033

## [1] Prueba para Muestra de Tamaño  n=500
## 
##  Shapiro-Wilk normality test
## 
## data:  datos[, i]
## W = 0.99465, p-value = 0.07862

3. Resumen Articulos

“Statistical Errors: P values, the gold standard of statistical validity, are not as reliable as many scientists assume” Motyl, Estudiante de doctorado en psicología de la Universidad de Virginia en Charlottesville, presenta los resultados de su estudio de casi 2000 personas, en el que parecía mostrar que los políticos moderados veían los tonos grises con mayor precisión que los extremistas, asegurando que los datos proporcionan un apoyo claro. Utilizo el Valor P para medir la fuerza de la evidencia siendo este 0.01 el cual se puede interpretar como muy significativo, su sueño de publicar en una revista de alto nivel estaba a su alcance. Pero junto con su asesor Brian Nosek tomaron la decisión de replicar el experimento. Tomaron datos adicionales y como resultado el Valor P resulto ser 0.59, muy superior al valor convencional de significancia de 0.05. Esta variación no se debe ni a los datos ni el análisis realizado por Motyl, sino en la naturaleza del Valor P que no están fiable ni objetivo como suponen muchos científicos. Esto es preocupante a la luz de la reproducibilidad de los experimentos. En 2005, el epidemiólogo John Loanidis sugirió que la mayoría de los hallazgos publicados son falsos, por que muchos de estos tienen problemas de replicación lo que lleva a pensar a los científicos sobre como evaluar los resultados. Porque, según Steven y Goodman, dependiendo de la metodología o el enfoque estadístico que tomes frente a tus datos cambiara la forma en la que interpretamos dicha información y que variables son importantes. El Valor P siempre a presentado criticas en sus 9 décadas de existencia, pero resulta que cuando el estadístico británico Ronald Fisher introdujo el Valor P en la década de 1920, no pretendía instaurarlo como una prueba definitiva, sino como una forma informal de juzgar si la evidencia era significativa de darle una segunda mirada. La idea original era realizar un experimento y luego ver si los resultados eran consistentes con lo que podría producir el azar. Consistía en que los investigadores primero establecen una “hipótesis nula” que quieren refutar, luego asumen el papel del abogado del diablo y suponiendo que la hipótesis nula fuera cierta, calculan las probabilidades de obtener resultados al menos tan extremos como los que observaron. Esta probabilidad fue denominada como Valor P, cuanto mas pequeño mayor era la probabilidad de que la hipótesis nula fuera falsa. Muchos autores que no eran expertos en estadística redactaron manuales para científicos en los que crearon un sistema hibrido entre el Valor P y las rigurosas reglas de Neyman y Pearson. Después de esto el Valor P de 0.05 se consagro como “estadísticamente significativo”. Esto es una gran confusión puesto que el valor p no puede trabajar hacia atrás y hacer afirmaciones sobre la realidad subyacente, es así que entre mas imposible sea la hipótesis nula con un valor P < 0.05 mayor será la probabilidad de estar frente a una falsa alarma. “El valor P nunca se tenia que utilizar de la forma en la que se usa hoy”, pues es necesario acompañarlo con otras medidas para no caer en la trampa como son los intervalos de confianza y los tamaños del efecto.

Otra vista a este problema la ofrece el articulo “Statisticians issue warning on P values: Statement aims to halt missteps in the quest for certainty” en que se menciona que la Asociación Estadounidense de Estadística (ASA, por sus siglas en inglés) emitió unos principios sobre el uso del Valor P, en el que advierte sobre el uso y sugiera que no puede ser usado para probar que una hipótesis es verdadera o si los resultados son importantes. Advierte a los investigadores para que no saquen conclusiones científicas o políticas basándose únicamente en los resultados del Valor P por los resultados pueden parecer falsamente ciertos. Pero se deben evitar pasos más drásticos como la prohibición del valor P en revistas de alto nivel dice Andrew Vickers pues sería como advertir a las personas para que no conduzcan por que podrían sufrir un accidente, en cambio se debería buscar tratar la estadística como una ciencia y no como una receta. Por último, mencionan que una mayor compresión del Valor P no elimina el impulso humano de utilizar las estadísticas para crear un nivel de certeza imposible asegura Andrew Gelman, estadístico de la Universidad de Columbia en la ciudad de New York. Considero que el uso del valor P como criterio de decisión en inferencia estadística si requiere un mayor control, puesto que personas que no sean expertas en el tema pueden caer en la trampa de realizar hallazgos impresionantes respaldados por un Valor P muy significativo pero que es imposible de replicar. Por eso la sugerencia inicial sobre el uso del Valor P como un método de evaluación para realizar un análisis exploratorio de los datos para posteriormente realizar una investigación mucho más robusta es el enfoque correcto que se debería tomar para el Valor P en la estadística moderna. También considero que se debería realizar una revisión mas rigurosa sobre la literatura académica que se publica referente al uso del Valor P, puesto que esto puede llevar a las personas que no son expertas a realizar un mal uso del mismo.