¿Una prueba exacta siempre produce un valor P más alto que una prueba aproximada?

8

Realicé una simulación sobre eso para la prueba de mcnemar, y la respuesta parecía ser sí.

Me preguntaba si siempre se puede decir que este es el caso de que el valor P exacto es mayor (o no menor) que el valor p al que se llega a través de una aproximación.

algún código por ejemplo:

set.seed(234)
n <- 100 # number of total subjects
P <- numeric(100)
P_exact <- numeric(100)
for(i in 1:100)
{
x = table(sample(1:2, n, T), sample(1:2, n, T))
P[i] <- mcnemar.test(x, correct = F)$p.v
P_exact[i] <- binom.test(x[2,1],x[1,2]+x[2,1])$p.valu
}

#for different n - the level of problem is worse
#plot(jitter(P,0,.01), P_exact )
plot(P, P_exact )
abline(0,1)
Tal Galili
fuente

Respuestas:

14

No, el valor p de una distribución asintóticamente válida no siempre es menor que un valor p exacto. Considere dos ejemplos de pruebas tradicionales "no paramétricas":

La prueba de suma de rangos de Wilcoxon para el cambio de ubicación (p. Ej., Mediana) para dos muestras independientes de tamaño y calcula el estadístico de prueba de la siguiente manera:n1n2

  1. ponga todos los valores observados en una muestra grande de tamañoN=n1+n2
  2. clasifique estos valores entre1,,N
  3. suma los rangos para el primer grupo, llama a esto . A menudo, la estadística de prueba se define como (esta estadística de prueba es idéntica a la U de Mann-Whitney ), pero esto no importa para la forma de distribución.LN+W=LN+n1(n1+1)2

La distribución exacta para para y fijas se encuentra generando todas las combinaciones posibles de rangos para el primer grupo y calculando la suma en cada caso. La aproximación asintótica usa , es decir, una aproximación estándar-normal de la estadística de prueba transformada .LN+n1n2(Nn1)z:=Ln+n1(N+1)/2(n1n2(N+1))/12N(0,1)z

De manera similar, la prueba Kruskal-Wallis-H para el cambio de ubicación (p. Ej., Mediana) para muestras independientes utiliza una estadística de prueba basada en las sumas de rango en cada grupo : . Nuevamente, la distribución exacta de H se encuentra al generar todas las combinaciones de rangos para los grupos. Para 3 grupos, hay tales combinaciones. La aproximación asintótica utiliza una .pR+jjH:=12N(N+1)j=1p1nj(R+jnjN+12)2(Nn1)(Nn1n2)χp12

Ahora podemos comparar las formas de distribución en términos de la función de distribución acumulativa para tamaños de grupo dados. El valor p (del lado derecho) para un valor dado del estadístico de prueba es igual a para la distribución continua. En el caso discreto, el valor p para (el -ésimo valor posible para la estadística de prueba) es . El diagrama muestra que la distribución exacta produce valores p a veces más grandes, a veces más pequeños, en la prueba H: para (el 32 de 36 posibles valores H), el valor p exacto es 0.075 ( con el código a continuación ), mientras que el valor p aproximado es 0.082085 ( ). ParaF()t1F(t)tmm1F(tm1)H=5sum(dKWH_08[names(dKWH_08) >= 5])1-pchisq(5, P-1)H=2(15º valor posible), el valor p exacto es 0.425 ( sum(dKWH_08[names(dKWH_08) >= 2])), el aproximado es igual a 0.3678794 ( 1-pchisq(2, P-1)).

ingrese la descripción de la imagen aquí

#### Wilcoxon-Rank-Sum-Test: exact distribution
n1      <- 5                           # group size 1
n2      <- 4                           # group size 2
N       <- n1 + n2                     # total sample size
ranks   <- t(combn(1:N, n1))           # all possible ranks for group 1
LnPl    <- apply(ranks, 1, sum)        # all possible rank sums for group 1 (Ln+)
dWRS_9  <- table(LnPl) / choose(N, n1) # exact probability function for Ln+
pWRS_9  <- cumsum(dWRS_9)              # exact cumulative distribution function for Ln+
muLnPl  <- (n1    * (N+1)) /  2        # normal approximation: theoretical mean
varLnPl <- (n1*n2 * (N+1)) / 12        # normal approximation: theoretical variance

#### Kruskal-Wallis-H-Test: exact distribution
P  <- 3                                # number of groups
Nj <- c(3, 3, 2)                       # group sizes
N  <- sum(Nj)                          # total sample size
IV <- rep(1:P, Nj)                     # factor group membership
library(e1071)                         # for permutations()
permMat <- permutations(N)             # all permutations of total sample
getH <- function(rankAll) {            # function to calc H for one permutation
    Rj <- tapply(rankAll, IV, sum)
    H  <- (12 / (N*(N+1))) * sum((1/Nj) * (Rj-(Nj*(N+1) / 2))^2)
}

Hscores <- apply(permMat, 1, getH)     # all possible H values for given group sizes
dKWH_08 <- table(round(Hscores, 4)) / factorial(N)  # exact probability function
pKWH_08 <- cumsum(dKWH_08)             # exact cumulative distribution function

Tenga en cuenta que calculo la distribución exacta de H generando todas las permutaciones, no todas las combinaciones. Esto es innecesario y computacionalmente mucho más costoso, pero es más fácil de escribir en el caso general ... Ahora haga el diagrama comparando las formas de las funciones.

dev.new(width=12, height=6.5)
par(mfrow=c(1, 2), cex.main=1.2, cex.lab=1.2)
plot(names(pWRS_9), pWRS_9, main="Wilcoxon RST, N=(5, 4): exact vs. asymptotic",
     type="n", xlab="ln+", ylab="P(Ln+ <= ln+)", cex.lab=1.4)
curve(pnorm(x, mean=muLnPl, sd=sqrt(varLnPl)), lwd=2, n=200, add=TRUE)
points(names(pWRS_9), pWRS_9, pch=16, col="red")
abline(h=0.95, col="blue")
legend(x="bottomright", legend=c("exact", "asymptotic"),
       pch=c(16, NA), col=c("red", "black"), lty=c(NA, 1), lwd=c(NA, 2))

plot(names(pKWH_08), pKWH_08, type="n", main="Kruskal-Wallis-H, N=(3, 3, 2):
     exact vs. asymptotic", xlab="h", ylab="P(H <= h)", cex.lab=1.4)
curve(pchisq(x, P-1), lwd=2, n=200, add=TRUE)
points(names(pKWH_08), pKWH_08, pch=16, col="red")
abline(h=0.95, col="blue")
legend(x="bottomright", legend=c("exakt", "asymptotic"),
       pch=c(16, NA), col=c("red", "black"), lty=c(NA, 1), lwd=c(NA, 2))

Tenga en cuenta que estas pruebas requieren que las distribuciones tengan la misma forma en cada grupo, de lo contrario no son una prueba de ubicación solo.

lince
fuente
2
(+1) ¡Buena respuesta y código R muy limpio!
chl
Qué respuesta tan asombrosa. Si pudiera aceptarlo dos veces, lo haría. Gracias caracal, tengo mucho que aprender ...
Tal Galili
4

No siempre, aunque generalmente. Supongo que depende del tipo de estadística, la prueba. Simplemente me senté y probé el chi-cuadrado de Pearson y el coeficiente de probabilidad de chi-cuadrado en conjuntos de datos de 20 a 100 casos. Para Pearson, encontré que el significado exacto es más pequeño que el significado asintótico aproximadamente el 10% del tiempo. Para LR - 0%. A continuación se muestra una tabla de frecuencias de ejemplo y las pruebas, donde el chi-cuadrado de Pearson tiene la sig exacta. menor que el signo asintótico.

7   12   4
26  12  17
6   10   6

Chi-Square Tests
                    Value      df   Asymp. Sig. (2-sided)   Exact Sig. (2-sided)
Pearson Chi-Square  8.756(a)    4       .068                   .067
Likelihood Ratio    8.876       4       .064                   .073

a   0 cells (.0%) have expected count less than 5. The minimum expected count is 5.94.
ttnphns
fuente