La sensibilité ou la spécificité est-elle fonction de la prévalence?

10

L'enseignement standard dit que la sensibilité et la spécificité sont des propriétés du test et sont indépendantes de la prévalence. Mais n'est-ce pas juste une supposition?

Les principes de la médecine interne de Harrison, 19e éd., Disent

Il a longtemps été affirmé que la sensibilité et la spécificité sont des paramètres indépendants de la prévalence de la précision des tests, et de nombreux textes font encore cette déclaration. Cette hypothèse statistiquement utile, cependant, est cliniquement simpliste. ... la sensibilité au test sera probablement plus élevée chez les patients hospitalisés et la spécificité du test plus élevée chez les patients externes.

(La prévalence est généralement plus élevée chez les patients hospitalisés que chez les patients externes)

Existe-t-il une relation mathématique ou graphique approximative entre ces paramètres?

Même ce lien l' appelle une «simplification». Pourquoi?

Edit: je sais comment la sensibilité est définie. Il n'y a pas de terme de prévalence impliqué, comme mentionné dans les réponses. J'ai moi-même soutenu que ce sont des propriétés du test non affectées par la population utilisée, jusqu'à ce que je tombe sur cette affirmation, d'où la question. Mais je suppose que cette confusion n'est pas due à la définition mais au calcul pratique de ces valeurs. La spécificité et la sensibilité sont calculées à l'aide de tableaux 2x2, la prévalence de la population de référence est-elle ici importante? Est-ce à cela qu'ils font référence? Si c'est le cas, quelle est la fonction?

Polisetty
la source

Réponses:

4

Bien que les réponses de @ Tim ♦ et @ gung ♦ couvrent à peu près tout, je vais essayer de les synthétiser en une seule et de fournir des clarifications supplémentaires.

Le contexte des lignes citées peut se référer principalement à des tests cliniques sous la forme d'un certain seuil, comme cela est le plus courant. Imaginez une maladie , et tout sauf D, y compris l'état de santé appelé D c . Nous, pour notre test, voudrions trouver une mesure proxy qui nous permet d'obtenir une bonne prédiction pour D. (1) La raison pour laquelle nous n'obtenons pas de spécificité / sensibilité absolue est que les valeurs de notre quantité proxy ne sont pas parfaitement en corrélation avec l'état de la maladie, mais ne s'y associent qu'en général et, par conséquent, dans les mesures individuelles, nous pourrions avoir une chance que cette quantité franchisse notre seuil de D cccindividus et vice versa. Par souci de clarté, supposons un modèle gaussien de variabilité.

Disons que nous utilisons comme quantité proxy. Si x a été bien choisi, alors E [ x D ] doit être supérieur à E [ x D c ] ( E est l'opérateur de valeur attendu). Maintenant, le problème se pose lorsque nous réalisons que D est une situation composite (tout comme D c ), en fait composée de 3 degrés de gravité D 1 , D 2 , D 3 , chacun avec une valeur attendue progressivement croissante pour x . Pour une seule personne, choisie parmiXXE[X]E[Xc]Ec123XCatégorie D ou de lacatégorie D c , les probabilités que le «test» devienne positif ou non dépendent de la valeur seuil que nous choisissons. Disons que nous choisissons x T en nous basant sur l'étude d'un échantillon vraiment aléatoire ayant à la fois desindividus D et D c . Notre x T provoquera des faux positifs et négatifs. Si nous sélectionnons unepersonne D au hasard, la probabilité régissant savaleur x si elle est donnée par le graphique vert, et celle d'unepersonne D c choisie au hasardpar le graphique rouge.cXTcXTXcentrez la description de l'image ici

Les nombres réels obtenus dépendront du nombre réel d' individus et D c mais la spécificité et la sensibilité qui en résulteront ne le seront pas. Soit F ( ) une fonction de probabilité cumulative. Ensuite, pour la prévalence de p de la maladie D , voici un tableau 2x2 comme on pourrait s'y attendre du cas général, lorsque nous essayons de voir réellement comment notre test fonctionne dans la population combinée.cF()p

( D c , - ) = ( 1 - p ) ( 1 - F D c ( x T ) ) ( D , - ) = p ( F D ( x T ) ) ( D c , + )

(,+)=p(1-F(XT))
(c,-)=(1-p)(1-Fc(XT))
(,-)=p(F(XT))
(c,+)=(1-p)Fc(XT)

Les nombres réels dépendent de , mais la sensibilité et la spécificité sont indépendantes de p . Mais, les deux dépendent de F D et F D c . Par conséquent, tous les facteurs qui les affectent changeront définitivement ces paramètres. Si, par exemple, nous travaillions à l'USI, notre F D serait plutôt remplacé par F D 3 , et si nous parlions de consultations externes, remplacé par F D 1 . C'est une question distincte qu'à l'hôpital, la prévalence est également différente,ppFFcFF3F1mais ce n'est pas la prévalence différente qui fait que les sensibilités et les spécificités diffèrent, mais la distribution différente, car le modèle sur lequel le seuil a été défini n'était pas applicable à la population apparaissant en ambulatoire ou en hospitalisation . Vous pouvez aller de l'avant et décomposer dans plusieurs sous-populations, car la sous-partie hospitalisée de D c doit également avoir un x élevé pour d'autres raisons (car la plupart des procurations sont également `` élevées '' dans d'autres conditions graves). La répartition de la population D en sous-population explique le changement de sensibilité, tandis que celle de la population D c explique le changement de spécificité (par des changementsccXc et F D c ). Voilà en quoi consiste legraphe D composite. Chacune des couleurs aura en fait son propre F , et donc, tant que celui-ci diffère du F sur lequel la sensibilité et la spécificité d'origine ont été calculées, ces mesures changeront.FFcFF

entrez la description de l'image ici

Exemple

Supposons une population de 11550 avec 10000 Dc, 500,750,300 D1, D2, D3 respectivement. La partie commentée est le code utilisé pour les graphiques ci-dessus.

set.seed(12345)
dc<-rnorm(10000,mean = 9, sd = 3)
d1<-rnorm(500,mean = 15,sd=2)
d2<-rnorm(750,mean=17,sd=2)
d3<-rnorm(300,mean=20,sd=2)
d<-cbind(c(d1,d2,d3),c(rep('1',500),rep('2',750),rep('3',300)))
library(ggplot2)
#ggplot(data.frame(dc))+geom_density(aes(x=dc),alpha=0.5,fill='green')+geom_density(data=data.frame(c(d1,d2,d3)),aes(x=c(d1,d2,d3)),alpha=0.5, fill='red')+geom_vline(xintercept = 13.5,color='black',size=2)+scale_x_continuous(name='Values for x',breaks=c(mean(dc),mean(as.numeric(d[,1])),13.5),labels=c('x_dc','x_d','x_T'))

#ggplot(data.frame(d))+geom_density(aes(x=as.numeric(d[,1]),..count..,fill=d[,2]),position='stack',alpha=0.5)+xlab('x-values')

Nous pouvons facilement calculer les x-moyennes pour les différentes populations, y compris Dc, D1, D2, D3 et le composite D.

mean(dc) 
mean(d1) 
mean(d2) 
mean(d3) 
mean(as.numeric(d[,1]))

> mean(dc) [1] 8.997931
> mean(d1) [1] 14.95559
> mean(d2) [1] 17.01523
> mean(d3) [1] 19.76903
> mean(as.numeric(d[,1])) [1] 16.88382

Pour obtenir une table 2x2 pour notre scénario de test d'origine, nous avons d'abord défini un seuil, basé sur les données (qui dans un cas réel seraient définies après l'exécution du test comme le montre @gung). Quoi qu'il en soit, en supposant un seuil de 13,5, nous obtenons la sensibilité et la spécificité suivantes lorsqu'elles sont calculées sur l'ensemble de la population.

sdc<-sample(dc,0.1*length(dc)) 
sdcomposite<-sample(c(d1,d2,d3),0.1*length(c(d1,d2,d3))) 
threshold<-13.5 
truepositive<-sum(sdcomposite>13.5) 
truenegative<-sum(sdc<=13.5) 
falsepositive<-sum(sdc>13.5) 
falsenegative<-sum(sdcomposite<=13.5) 
print(c(truepositive,truenegative,falsepositive,falsenegative)) 
sensitivity<-truepositive/length(sdcomposite) 
specificity<-truenegative/length(sdc) 
print(c(sensitivity,specificity))

> print(c(truepositive,truenegative,falsepositive,falsenegative)) [1]139 928  72  16
> print(c(sensitivity,specificity)) [1] 0.8967742 0.9280000

Supposons que nous travaillons avec les patients externes et que nous n'obtenions des patients malades qu'à partir de la proportion D1, ou que nous travaillions à l'USI où nous n'obtenons que le D3. (pour un cas plus général, nous devons également diviser la composante Dc) Comment notre sensibilité et notre spécificité changent-elles? En modifiant la prévalence (c'est-à-dire en modifiant la proportion relative de patients appartenant à l'un ou l'autre cas, nous ne modifions pas du tout la spécificité et la sensibilité. Il se trouve que cette prévalence change également avec une distribution changeante)

sdc<-sample(dc,0.1*length(dc)) 
sd1<-sample(d1,0.1*length(d1)) 
truepositive<-sum(sd1>13.5) 
truenegative<-sum(sdc<=13.5) 
falsepositive<-sum(sdc>13.5) 
falsenegative<-sum(sd1<=13.5) 
print(c(truepositive,truenegative,falsepositive,falsenegative)) 
sensitivity1<-truepositive/length(sd1) 
specificity1<-truenegative/length(sdc) 
print(c(sensitivity1,specificity1)) 
sdc<-sample(dc,0.1*length(dc)) 
sd3<-sample(d3,0.1*length(d3)) 
truepositive<-sum(sd3>13.5) 
truenegative<-sum(sdc<=13.5) 
falsepositive<-sum(sdc>13.5) 
falsenegative<-sum(sd3<=13.5) 
print(c(truepositive,truenegative,falsepositive,falsenegative)) 
sensitivity3<-truepositive/length(sd3) 
specificity3<-truenegative/length(sdc) 
print(c(sensitivity3,specificity3))

> print(c(truepositive,truenegative,falsepositive,falsenegative)) [1]  38 931  69  12
> print(c(sensitivity1,specificity1)) [1] 0.760 0.931
> print(c(truepositive,truenegative,falsepositive,falsenegative)) [1]  30 944  56   0
> print(c(sensitivity3,specificity3)) [1] 1.000 0.944

Pour résumer, un graphique pour montrer le changement de sensibilité (la spécificité suivrait une tendance similaire si nous avions également composé la population Dc de sous-populations) avec une moyenne x variable pour la population, voici un graphique

df<-data.frame(V1=c(sensitivity,sensitivity1,sensitivity3),V2=c(mean(c(d1,d2,d3)),mean(d1),mean(d3))) 
ggplot(df)+geom_point(aes(x=V2,y=V1),size=2)+geom_line(aes(x=V2,y=V1))

entrez la description de l'image ici

Satwik Pasani
la source
9

Tout d'abord, il convient de reconnaître que vous ne pouvez généralement pas modifier la sensibilité indépendamment de la spécificité, et vice versa. C'est le point d'une courbe ROC. Compte tenu de la nature du processus de génération de données et de vos données et modèles spécifiques, vous serez toujours confronté à un compromis entre sensibilité et spécificité. Vous préféreriez bien sûr avoir 100% de sensibilité et 100% de spécificité en même temps, mais généralement vous ne pouvez pas. Vous pouvez obtenir une meilleure sensibilité, mais au détriment d'une pire spécificité, ou une meilleure spécificité, mais au détriment d'une pire sensibilité. La courbe ROC vous montre l'ensemble des compromis que vous êtes obligé de choisir entre. (Quelques notes: 1. vous pouvez parfois sembler gagner sur une dimension sans rien perdre de l'autre parce qu'il y a un écart dans votre jeu de données, mais c'est surtout illusoire; 2.La courbe ROC est la sensibilité en fonction de la spécificité 1, le tracé de la sensibilité par rapport à la spécificité elle-même serait une courbe ROC réfléchie.)

entrez la description de l'image ici

Quoi qu'il en soit, comment la sensibilité et la spécificité apparentes pourraient-elles changer avec la prévalence? Il s'agit d'un problème où il est possible de simuler et de jouer avec certaines données pour voir comment cela peut fonctionner dans la pratique. Imaginons qu'un modèle soit adapté à un ensemble de données assez volumineux qui a une prévalence particulière, et qu'un seuil est défini sur l'axe des x 1 . Plus tard, les performances de ce test sont calculées avec des échantillons qui ont des prévalences sensiblement différentes (et donc des valeurs x différentes). Le résultat est que le même modèle, utilisant le même seuil, fonctionnera différemment lorsqu'il sera appliqué à des ensembles de données avec des prévalences différentes.

library(caret)  # we'll use these packages
library(binom)
  # we'll use this function to convert log odds to probabilities
lo2p = function(lo){ exp(lo)/(1+exp(lo)) }

##### training dataset for original model
set.seed(734)                     # these make the examples exactly reproducible
Nt = 1000
xt = rnorm(Nt, mean=5, sd=1)      # this is the distribution of X
lo = -1.386 + .308*xt             # this is the data generating process
pt = lo2p(lo)
yt = rbinom(Nt, size=1, prob=pt)
mt = glm(yt~xt, family=binomial)
summary(mt)
# ...
# Coefficients:
#             Estimate Std. Error z value Pr(>|z|)    
# (Intercept) -1.16736    0.32794  -3.560 0.000371 ***
# xt           0.24980    0.06429   3.886 0.000102 ***
# ...
#     Null deviance: 1384.5  on 999  degrees of freedom
# Residual deviance: 1369.1  on 998  degrees of freedom
# AIC: 1373.1

## determine threshold
# prob(Y) = 50%, where log odds = 0, so:
-coef(mt)[1]/coef(mt)[2]  # 4.673159
threshold = 4.7  # a simple round number
classt    = ifelse(xt>threshold, 1, 0)
tabt      = table(classt, yt)[2:1,2:1]

confusionMatrix(tabt)
#       yt
# classt   1   0
#      1 346 279
#      0 175 200
#                                           
#                Accuracy : 0.546           
#                     ...                                          
#             Sensitivity : 0.6641          
#             Specificity : 0.4175          
#          Pos Pred Value : 0.5536          
#          Neg Pred Value : 0.5333          
#              Prevalence : 0.5210          


##### high prevalence dataset from hospital
set.seed(4528)
Nh = 500
xh = rnorm(Nh, mean=6, sd=1)  # a different distribution of X
lo = -1.386 + .308*xh         # but the same data generating process
ph = lo2p(lo)
yh = rbinom(Nh, size=1, prob=ph)
classh = ifelse(xh>threshold, 1, 0)  # the same threshold is used
tabh   = table(classh, yh)[2:1,2:1]

confusionMatrix(tabh)
#       yh
# classh   1   0
#      1 284 163
#      0  20  33
#                                           
#                Accuracy : 0.634           
#                     ...
#             Sensitivity : 0.9342          
#             Specificity : 0.1684          
#          Pos Pred Value : 0.6353          
#          Neg Pred Value : 0.6226          
#              Prevalence : 0.6080          


##### low prevalence dataset from outpatients
set.seed(1027)
Nl = 500
xl = rnorm(Nl, mean=3, sd=1)
lo = -1.386 + .308*xl
pl = lo2p(lo)
yl = rbinom(Nl, size=1, prob=pl)
classl = ifelse(xl>threshold, 1, 0)
tabl   = table(classl, yl)[2:1,2:1]

confusionMatrix(tabl)
#       yl
# classl   1   0
#      1   9  14
#      0 190 287
#                                           
#                Accuracy : 0.592           
#                     ...
#             Sensitivity : 0.04523         
#             Specificity : 0.95349         
#          Pos Pred Value : 0.39130         
#          Neg Pred Value : 0.60168         
#              Prevalence : 0.39800         


##### sensitivities
binom.confint(346, 521, method="e")
#   method   x   n      mean     lower    upper
# 1  exact 346 521 0.6641075 0.6217484 0.704592
binom.confint(284, 304, method="e")
#   method   x   n      mean   lower     upper
# 1  exact 284 304 0.9342105 0.90022 0.9593543
binom.confint(  9, 199, method="e")
#   method x   n       mean      lower      upper
# 1  exact 9 199 0.04522613 0.02088589 0.08411464

##### specificities
binom.confint(200, 479, method="e")
#   method   x   n      mean     lower     upper
# 1  exact 200 479 0.4175365 0.3729575 0.4631398
binom.confint( 33, 196, method="e")
#   method  x   n      mean     lower     upper
# 1  exact 33 196 0.1683673 0.1188206 0.2282441
binom.confint(287, 301, method="e")
#   method   x   n      mean     lower     upper
# 1  exact 287 301 0.9534884 0.9231921 0.9743417

Voici les sensibilités et spécificités en fonction des prévalences, avec des intervalles de confiance exacts à 95%:

entrez la description de l'image ici

Alors qu'est-ce qui se passe ici? Considérez qu'une régression logistique prototype pourrait ressembler à la figure ci-dessous. Notez que toute «l'action» se déroule dans l'intervalle [4, 6] sur l'axe des x. Les données ci-dessous auront une prévalence très faible et le modèle montrera une discrimination et une sensibilité médiocres. Les données supérieures à cet intervalle auront une prévalence très élevée, mais le modèle ne sera à nouveau pas bien discriminant et aura une faible spécificité.

entrez la description de l'image ici

Pour aider à comprendre comment cela pourrait se produire, pensez à tester la Alanine transaminase pour déterminer si le foie du patient est défaillant 2. L'idée est que le foie utilise normalement l'ALT, mais que si le foie a cessé de fonctionner, l'ALT sera déversé dans le sang. Donc, si le niveau d'ALAT dans la circulation sanguine d'un patient est supérieur à un certain seuil, cela implique que le foie est défaillant. Si vous prélevez un échantillon avec une prévalence élevée d'insuffisance hépatique, vous tirerez un échantillon avec des niveaux élevés d'ALT dans le sang. Ainsi, vous aurez plus de patients au-dessus du seuil. Tout le monde avec des taux sanguins élevés d'ALAT n'aura pas d'insuffisance hépatique - pour certains patients, il y aura une autre cause. Mais ceux qui souffrent d'insuffisance hépatique devraient être capturés. Cela conduit à une sensibilité plus élevée. De même, tous les patients avec des niveaux normaux d'ALAT n'ont pas de foie sain, mais un échantillon à faible prévalence aura des niveaux d'ALT plus bas, et plus de patients passeront le test. Ceux dont les foies ne sont pas t échouer, mais qui ont des niveaux normaux d'ALT seront manqués. Cela conduit à une sensibilité plus faible, mais à une spécificité plus élevée.

Plus généralement, l'idée d'un test médical est que quelque chose ou autre est un corrélat d'un état pathologique dont vous aimeriez avoir des mesures directes, mais que vous ne pouvez pas. Obtenir une mesure du corrélat vous donne un aperçu de l'état de la maladie. Un test (potentiel) où ce n'est pas vrai n'aurait aucune valeur et ne serait pas utilisé. Ainsi, en pratique, les échantillons à prévalence plus élevée devraient avoir une distribution du corrélat avec des valeurs plus anormales conduisant à une sensibilité plus élevée, et vice versa. (Notez que le corrélat n'a pas à être une cause de la maladie; dans l'exemple ALT, c'est un effet, dans d'autres exemples, la maladie et le corrélat pourraient être des effets d'une cause commune, etc.)

1. Ceci est en fait assez courant en médecine. Considérez que le cholestérol doit être <200, la pression artérielle systolique doit être <140, etc. Ce ne sont pas vraiment des «tests» en soi, mais il y a beaucoup de tests qui fonctionnent comme ça. Pour certaines discussions (peut-être distantes) sur les seuils, il peut être utile de lire mes réponses à Les seuils 0-1 sont-ils toujours équivalents aux seuils de l'axe des x? et Pourquoi le nombre de faux positifs est-il indépendant de la taille de l'échantillon, si nous utilisons des valeurs de p pour comparer deux ensembles de données indépendants?
2. Sachez que je ne suis pas médecin et que cet exemple peut être gravement bâclé. Demandez à un médecin réel si vous souhaitez des informations précises sur la fonction hépatique, ses tests et les questions connexes.

gung - Réintégrer Monica
la source
Merci! Pour montrer que cela change réellement. Mais comment considère-t-il la réponse de @Tim? N'est-ce pas contradictoire?
Polisetty
1
@Polisetty, Tim déclare que "les patients hospitalisés et ambulatoires peuvent différer à bien des égards, pas seulement dans la prévalence uniquement, donc certains autres facteurs peuvent influencer la sensibilité". Si le test est fonction de certaines propriétés des patients (par exemple, le cholestérol), et que la maladie est également fortement corrélée avec cette propriété (qui est généralement le point essentiel), alors les «autres facteurs» doivent évoluer conjointement avec la prévalence. Ainsi, lorsque la prévalence change, les autres corrélats changent, et le test a plus ou moins de sensibilité avec ce groupe spécifique.
gung - Rétablir Monica
7

Comme déjà dit par d'autres, la sensibilité et la spécificité ne dépendent pas de la prévalence. La sensibilité est la proportion de vrais positifs parmi tous les positifs et la spécificité est la proportion de vrais négatifs parmi tous les négatifs. Donc, si la sensibilité est de 90%, le test sera correct pour 90% des cas positifs. Évidemment, 90% de quelque chose de plus petit et 90% de quelque chose de plus grand sont toujours 90% ...

Donc, étant donné les données tabulaires que vous mentionnez,

positifétatnégatifétatpositiftesterunecnégatiftesterb

uneune+b+c+/une+bune+b+c+=uneune+b p(OuiX)=p(OuiX)p(X)une+b+c+/c+une+b+c+=c+

Mais la citation semble aussi dire autre chose

la sensibilité du test sera probablement plus élevée chez les patients hospitalisés et la spécificité du test plus élevée chez les patients externes

les auteurs disent donc que la sensibilité diffère selon les groupes. Je suppose que les patients hospitalisés et ambulatoires peuvent différer à bien des égards, non seulement dans la prévalence seule, donc certains autres facteurs peuvent influencer la sensibilité. Je suis donc d'accord qu'ils peuvent changer entre différents ensembles de données, qui diffèrent en prévalence, mais le changement ne sera pas fonction de la prévalence elle-même (comme le montre @gung dans sa réponse).

p(test positifétat)

p(étattest positif)p(test positifétat)×p(état)

et dans de nombreux cas, c'est la probabilité qui intéresse les gens ("quelle est la probabilité qu'un patient avec un résultat de test positif ait réellement la maladie?") et cela dépend de la prévalence. Notez que votre lien traite également de l'impact de la prévalence sur la valeur prédictive positive, c'est-à-dire la probabilité postérieure, et non sur la sensibilité.

Tim
la source
Comme je l'ai mentionné dans l'une des réponses précédentes, je suis à peu près sûr que les auteurs ne l'ont pas confondu avec la probabilité postérieure, car ils mentionnent explicitement que "de nombreux textes font encore cette déclaration". Et je cite également une autre source, qui n'est pas aussi fiable que celle de Harrison, qui dit que c'est une «hypothèse» sûre. Tout ce que je veux demander, c'est quelle est «l'hypothèse»?
Polisetty
2
@Polisetty Je ne peux pas dire pour les auteurs, mais d'après la citation, ils semblent appeler l'indépendance sur la prévalence "l'hypothèse", mais c'est plutôt un fait mathématique que l'hypothèse. Si cela ne tenait pas, cela signifierait que la théorie des probabilités est brisée et ce n'est pas le cas.
Tim
La sensibilité et la spécificité peuvent être considérées comme des propriétés fixes d'un test de diagnostic. [C'est une légère simplification, mais c'est assez bon pour nos besoins]. - c'est ce que ça dit
Polisetty
3

Voir ma réponse ici sur les taux vrais / faux positifs / négatifs.

La sensibilité est juste un autre nom pour le vrai taux positif, et la spécificité est la même que le vrai taux négatif. La sensibilité et la spécificité sont des probabilités conditionnelles; ils conditionnent l'état de la maladie du patient. Ainsi, la prévalence de la maladie (c'est-à-dire la probabilité a priori qu'un patient soit atteint de la maladie) n'est pas pertinente, car vous supposez un état pathologique particulier.

Je ne peux pas expliquer pourquoi l'auteur du manuel prétend que la sensibilité et la spécificité dépendent du contexte clinique. S'agit-il d'observations empiriques?

tddevlin
la source
Exactement. D'où la question. La sensibilité d'un test dépend de la population où il est utilisé. L'hypothèse selon laquelle il est indépendant n'est pas toujours vraie. Je demande comment et pourquoi. Le livre cite plus tard des valeurs aussi
Polisetty
Il pourrait y avoir des facteurs spécifiques à la population qui affectent la sensibilité et la spécificité. Mais il résulte des définitions mathématiques de la sensibilité et de la spécificité que la prévalence ne peut pas être l'un de ces facteurs, du moins pas directement. (Au fait, n'hésitez pas à accepter ma réponse si vous êtes satisfait de mon explication des définitions mathématiques.)
tddevlin
Désolé, je suppose que ce n'était pas clair. Je voulais connaître mathématiquement la relation entre sensibilité et prévalence. Je sais comment ils sont définis. Je suppose que la relation entre en raison de la façon dont ils sont calculés. La sensibilité est tp / (tp + fn) tandis que la prévalence est tp + fn / (tp + fn + fp + tn)
Polisetty
P(Maladie)P(+|maladie)
Harrison ne se tromperait pas. Même ce lien l'appelle une simplification. med.uottawa.ca/sim/data/Sensitivity_and_Prevalence_e.htm
Polisetty
1

Je ne peux bien sûr pas parler des intentions de l'auteur, mais voici mon raisonnement pour cette déclaration:

Considérez le contexte clinique comme un test de diagnostic lui-même. Un avec une sensibilité et une spécificité très médiocres, mais un test néanmoins. Si vous êtes à l'hôpital, vous risquez d'être malade. Si vous n'êtes pas à l'hôpital, vous ne risquez pas d'être malade.

Dans cette perspective, le véritable test de diagnostic que vous effectuez est en fait la deuxième partie de deux essais effectués en série.

Fomite
la source
Dans votre explication, les a priori changent conduisant à une plus grande probabilité postérieure. C'est vrai. Mais comment la sensibilité elle-même change-t-elle?
Polisetty
@Polisetty Et si vous appelez un test postérieur élevé un test positif? "Le contexte clinique est lui-même un test." Je pense que tout test arbitrairement décidé peut dépendre de la prévalence de cette manière, donc le "test" doit être défini plus spécifiquement. Je pense que l'énoncé s'applique à la variété habituelle de tests basés sur un seuil de mesure proxy.
Satwik Pasani
1

Ça doit être une erreur. Je pense que l'auteur essaie peut-être de suggérer que la valeur prédictive positive et négative (PPV et NPV) dépend de la prévalence (ainsi que de la sensibilité et de la spécificité). Ceux-ci sont souvent discutés avec des tests de diagnostic et, pour un clinicien, peut-être plus précieux que l'interprétation brute de la sensibilité et de la spécificité.

Ce graphique montre la relation entre le PPV et le NPV avec la prévalence, pour un test avec une sensibilité de 95% et une spécificité de 85%.

De Mausner JS, Kramer S: Mausner et Bahn Epidemiology: An Introductory Text.  Philadelphie, WB Saunders, 1985, p.  221.

De Mausner JS, Kramer S: Mausner et Bahn Epidemiology: An Introductory Text. Philadelphie, WB Saunders, 1985, p. 221.

prince_of_pears
la source
1

@Satwik, @gung et @Tim ont déjà fourni beaucoup de détails, mais je vais essayer d'ajouter un petit exemple de la façon dont le cas des facteurs sous-jacents peut provoquer un tel effet.

Un principe clé: le biais

La sensibilité / spécificité et TOUS les tests statistiques partagent la même mise en garde: ils ne s'appliquent qu'à la répétition de la même procédure d'échantillonnage que précédemment de manière impartiale.

Les hôpitaux sont des organisations fonctionnelles conçues pour effectuer un échantillonnage biaisé, en utilisant des politiques d'admission pour filtrer la population générale en personnes nécessitant une admission et un traitement. C'est très contraire à la procédure scientifique. Si vous voulez savoir comment un test fonctionne dans différentes populations, il doit être testé dans différentes populations.

L'effet latent: corrélation

Il est rare (ou impossible dans le monde réel si vous voulez être strict) qu'un diagnostic soit indépendant / orthogonal à tous les autres facteurs de risque d'une maladie, il existe donc un certain degré de corrélation.

Si l'écran d'admission à l'hôpital est positivement corrélé avec le diagnostic, alors vous constaterez que les personnes qui réussissent le test d'admission sont favorablement prédisposées à des résultats positifs par le diagnostic, proportionnel à la corrélation. Ainsi, les vrais positifs sont enrichis et les faux négatifs sont réduits de quantités proportionnelles à la corrélation.

Cela rend alors la sensibilité plus grande.

L'explication du phénomène

Une observation selon laquelle la sensibilité peut être plus élevée dans un contexte hospitalier n'est donc pas irréaliste. En fait, si la politique d'admission est bien pensée et adaptée à l'objectif, on pourrait s'attendre à ce que cela se produise.

Ce n'est pas la preuve d'une rupture de l'hypothèse selon laquelle la sensibilité et la spécificité sont indépendantes de la prévalence, mais plutôt la preuve d'un échantillonnage biaisé basé sur la politique d'admission à l'hôpital.

Étant donné qu'un hôpital est là pour soigner les gens et non pour faire des expériences scientifiques, c'est certainement une bonne chose.

Mais cela donne des maux de tête aux scientifiques.

ReneBt
la source