19 votos

¿Por qué difieren los odds ratios de la fórmula y el test de Fisher de R? ¿Cuál se debe elegir?

En el siguiente ejemplo

> m = matrix(c(3, 6, 5, 6), nrow=2)
> m
     [,1] [,2]
[1,]    3    5
[2,]    6    6
> (OR = (3/6)/(5/6))    #1
[1] 0.6
> fisher.test(m)        #2

    Fisher's Exact Test for Count Data

data:  m 
p-value = 0.6699
alternative hypothesis: true odds ratio is not equal to 1 
95 percent confidence interval:
 0.06390055 5.07793271 
sample estimates:
odds ratio 
 0.6155891 

He calculado el odds ratio (#1) "manualmente", 0,600; luego (#2) como uno de los resultados de la prueba exacta de Fisher, 0,616.

¿Por qué no obtuve el mismo valor?

¿Por qué existen varias formas de calcular el odds-ratio y cómo elegir la más adecuada?

15voto

DanJ Puntos 209

En la página de ayuda de fisher.test() :

Obsérvese que la estimación de máxima verosimilitud condicional (MLE) en lugar de que la MLE incondicional (la razón de probabilidades de la muestra).

6voto

alexs77 Puntos 36

Para completar el debate aquí, es útil preguntarse qué exactamente está condicionada en esta probabilidad "condicional". La prueba de Fisher difiere de otros análisis categóricos en que considera todo los márgenes de la tabla sean fijos, mientras que el modelo de regresión logística (y la correspondiente prueba de chi-cuadrado de Pearson, que es la prueba de puntuación del modelo logístico) sólo considera un margen como fijo.

La prueba de Fisher considera entonces la distribución hipergeométrica como modelo de probabilidad para los recuentos observados en cada una de las 4 celdas. La distribución hipergeométrica tiene la peculiaridad de que, dado que la distribución de la odds ratio de origen no es continua, a menudo se obtiene una OR diferente como estimación de máxima verosimilitud.

2voto

Me encuentro con el mismo problema. He buscado y rebuscado en stackExchange y en Google, y no he encontrado nada que explique explícitamente cómo el odds ratio en fisher.test() se calcula. No es una respuesta completa, pero aporta algo útil a la discusión.

Una cosa está clara, fisher.test() calcula un odds ratio completamente diferente con un método distinto (y más complicado).

Si escribe fisher.test en la consola de R y pulsar Enter, la salida será el código completo de la función fisher.test() . Lo interesante de nuestra duda es:

m <- sum(x[, 1L])
n <- sum(x[, 2L])
k <- sum(x[1L, ])
x <- x[1L, 1L]
lo <- max(0L, k - n)
hi <- min(k, m)

support <- lo:hi #Interval of definition of Hypergeometric Distribution

logdc <- dhyper(support, m, n, k, log = TRUE) #log of Hypergeometric Probability Function

dnhyper <- function(ncp) {
  d <- logdc + log(ncp) * support
  d <- exp(d - max(d))
  d/sum(d)
}

mnhyper <- function(ncp) {
  if (ncp == 0) 
    return(lo)
  if (ncp == Inf) 
    return(hi)
  sum(support * dnhyper(ncp))
}

mle <- function(x) {
  if (x == lo) 
    return(0)
  if (x == hi) 
    return(Inf)
  mu <- mnhyper(1)
  if (mu > x) 
    uniroot(function(t) mnhyper(t) - x, c(0, 1))$root
  else if (mu < x) 
1/uniroot(function(t) mnhyper(1/t) - x, c(.Machine$double.eps, 
                                              1))$root
  else 1
}

Bueno, si usted

  1. Definir x = matrix(c(3, 6, 5, 6), nrow=2)
  2. Ejecuta cada línea del código extraído de fisher.test en orden
  3. Ejecutar mle(x)

Usted obtiene 0.6155891 . Así es como la proporción de probabilidades en fisher.test se calcula. Sin embargo, no entiendo el algoritmo. No he encontrado ningún artículo que lo explique, y no parece posible traducirlo a una fórmula matemática "sencilla".

1voto

Guy Puntos 214

Para responder a tu segunda pregunta, la biostática no es mi fuerte, pero creo que la razón de la estadística de la proporción de probabilidades múltiples es tener en cuenta el diseño del muestreo y el diseño de los experimentos.

He encontrado tres referencias aquí que le dará un poco de comprensión de por qué hay una diferencia entre MLE condicional vs incondicional para la razón de probabilidades, así como otros tipos.

  1. Estimación puntual y por intervalos de la razón de momios común en la combinación de tablas 2 × 2 con márgenes fijos

  2. El efecto del sesgo en los estimadores del riesgo relativo para muestras emparejadas y estratificadas

  3. Estudio comparativo de la estimación de máxima verosimilitud condicional de una razón de momios común

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X