Quelle est la différence entre un test exact de Fisher et une régression logistique pour


10

Pour un 2×2 table, deux façons de faire l'inférence sur la table est à travers le test exact de Fisher et aussi une régression logistique.

On m'a dit qu'en utilisant un test exact de Fisher, nous ne sommes intéressés que par la présence d'association. Mais qu'avec une régression logistique, nous nous intéressons à l'ampleur de l'association.

Cependant, je ne comprends pas pourquoi. Par exemple, dans un test exact de Fisher effectué dans R, il renvoie le rapport de cotes avec un intervalle de confiance, tandis qu'avec la régression logistique, nous sommes renvoyés avec l'interception et la pente, qui correspondent toutes les deux aux cotes de log et aux cotes de log rapport.

Ma question est la suivante : où la régression logistique nous donne-t-elle l'ampleur de l'association? Je suppose que c'est dans leβ1coefficient, mais ce n'est que le rapport de cotes logarithmique, que le test exact de Fisher donne également . Quelles sont les différences?

Réponses:


2

Je ne suis pas sûr de ce que la personne à qui vous avez fait référence avec «régression logistique nous donne l'ampleur de l'association», car comme vous le dites, le test exact du pêcheur fait quelque chose de très similaire. Mais quand même, il y a quelques différences auxquelles je peux penser.

1. Les rapports de cotes (OR) peuvent différer

La RO déclarée ne doit pas nécessairement être la même. C'est du moins le cas pour les fonctions R fisher.test () et exact2x2 () par rapport à la régression logistique via la fonction glm (). Voici un exemple:

# generating data
set.seed(1)
n <- 200
x <- rbinom(n, 1, .5)
y <- rbinom(n, 1, .4)
df <- data.frame(x, y)

# OR from logistic regression
exp(coef(glm(y ~ x,family=binomial(link='logit'),data= df)))[2]
1.423077

# OR from fisher's exact test
tab <- table(x, y)
fisher.test(tab)$estimate
1.420543 # the methods "minlike", "central" and "blaker" in the exact2x2 function result in the same OR

# calculating OR by hand
(tab[1,1]/ tab[2,1])/ (tab[1,2]/ tab[2,2])
1.423077

L'OR du test exact du pêcheur diffère de ceux calculés à la main ou rapportés dans la régression logistique, car ils sont calculés par l'estimation du maximum de vraisemblance conditionnelle et non par le MLE inconditionnel (échantillon OR). Il peut y avoir des situations où les valeurs OU diffèrent davantage que dans mon exemple. Et encore une fois, le OU diffère pour les fonctions mentionnées, mais il peut y avoir d'autres variantes des tests s'ils sont les mêmes.

2. Les valeurs de p diffèrent

Bien sûr, les valeurs de p diffèrent car en cas de régression logistique, elles sont déterminées avec la statistique de Wald et la valeur az alors qu'il existe différents types de test de Fisher exact qui diffèrent même entre eux en valeurs de p (le dernier lien ouvre le pdf). Voir ici pour les données utilisées auparavant:

# p value from logistic regression
summary(glm(y ~ x,family=binomial(link='logit'),data= df))$coefficients["x", "Pr(>|z|)"]
0.2457947

# p value from fisher's exact test
library(exact2x2) # package covers different exact fisher's tests, see here https://cran.r-project.org/web/packages/exact2x2/index.html

exact2x2(tab,tsmethod="central")$p.value
0.3116818
exact2x2(tab,tsmethod="minlike")$p.value
0.290994 # which is same as fisher.test(tab)$p.value and exact2x2(tab,tsmethod="blaker")$p.value

Ici, dans tous les cas, on pourrait conclure qu'il n'y a pas d'effet significatif. Mais tout de même, comme vous pouvez le voir, les différences ne sont pas anodines (.246 pour la régression logistique contre .291 ou même .312 pour le test exact du pêcheur). Ainsi, selon que vous utilisez la régression logistique ou le test exact du pêcheur, vous pouvez arriver à une autre conclusion, qu'il y ait ou non un effet significatif.

3. Faire une prédiction

Pour faire une analogie: la corrélation de Pearson et la régression linéaire sont assez similaires dans les cas bivariés et le coefficient de régression standardisé est même le même que la corrélation de Pearson r. Mais vous ne pouvez pas faire de prédictions avec une corrélation car il manque une interception. De même, même si les rapports de cotes de régression logistique et le test exact du pêcheur étaient les mêmes (ce qui n'est pas le cas comme indiqué au point 1), vous ne pouviez pas faire de prédictions avec les résultats du test exact du pêcheur. D'un autre côté, la régression logistique vous fournit l'ordonnée à l'origine et le ou les coefficients nécessaires pour faire des prédictions.

4. Performance

Les différences mentionnées ci-dessus peuvent conduire à l'hypothèse qu'il devrait y avoir des différences dans les performances des deux tests en termes de puissance et d'erreur de type I. Certaines sources indiquent que le test exact du pêcheur est trop conservateur. D'un autre côté, il faut garder à l'esprit que les analyses de régression logistique standard sont asymptotiques, donc avec peu d'observations, vous préférerez probablement le test exact de Fisher .

En résumé , bien que les deux tests puissent être utilisés pour les mêmes données, il existe certaines différences qui peuvent conduire à des résultats différents et donc à des conclusions différentes. Cela dépend donc de la situation laquelle des deux tests vous souhaitez utiliser - en cas de prédiction, ce serait la régression logistique, en cas de petits échantillons, le test exact du pêcheur, etc. Il y a probablement encore plus de différences que j'ai omises, mais peut-être que quelqu'un peut les modifier et les ajouter.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.