invisible(Sys.setlocale("LC_CTYPE", "pt_BR.UTF-8"))
invisible(Sys.setlocale("LC_ALL", "pt_BR.UTF-8"))
options(warn=-1)
suppressMessages(library(epiR, warn.conflicts=FALSE))
suppressMessages(library(htmltools, warn.conflicts=FALSE))
source("eiras.friendlycolor.R")
options(warn=0)
Bastão de Asclépio & Distribuição Normal.
RPubs
Quando a probabilidade de um evento depende de outro, temos probabilidade condicional ou condicionada.
Por exemplo, qual a probabilidade, em casais, de que a mulher seja hipertensa se o marido é hipertenso?
Considere que a probabilidade de hipertensão de um dos conjuges dificilmente pode ser considerada independente do outro. Compartilham o mesmo ambiente e, possivelmente, adotam a mesma dieta, estão sujeitos aos mesmos problemas familiares, cultivam os mesmos hábitos ou têm estilos de vida similares.
Suponha um estudo fictício, que obteve a seguinte contagem em 500 casais:
Casal | Mulher | Hipertensa | Normotensa | Total |
---|---|---|---|---|
Homem | Hipertenso | 50 | 150 | 200 |
Normotenso | 125 | 175 | 300 | |
Total | 175 | 325 | 500 |
A probabilidade condicionada em questão é denotada por
\[P(M_{+}|H_{+})\]
Em que:
\(M_{+}\) : probabilidade de que a mulher seja hipertensa (positivo para hipertensão)
\(H_{+}\) : probabilidade de que o homem seja hipertenso (positivo para hipertensão)
A barra vertical (“\(|\)”) é lida como “dado que” ou “condicionado por”. Portanto, \(P(M_{+}|H_{+})\) é a probabilidade de que a mulher seja positiva (para o diagnóstico de hipertensão), dado que o marido é positivo.
Podemos montar uma tabela em R. Adotaremos a seguinte convenção para este texto:
Coluna+ Coluna-
Linha+ a b a+b
Linha- c d c+d
a+c b+d a+b+c+d
demo_montatabela.R
Então, neste exemplo:
M + M -
H + 50 150 200
H - 125 175 300
175 325 500
demo_montatabela2.R
A probabilidade simples das mulheres serem hipertensas, \(P(M_{+})\), nesta amostra é \(P(M_{+})={{a+c} \over {a+b+c+d}}\) = 175 / 500 = 0.35.
Ao condicionarmos \(P(M_{+}|H_{+})\) basta imaginar que estamos restritos ao “mundo” da linha de \(H_{+}\). Então, \(P(M_{+}|H_{+})={{a} \over {a+b}}\) = 50 / 200 = 0.25.
A tabela foi construída como um data frame. Também é possível montá-la como uma matriz:
Implementado por
demo_matriz.R
Neste formato é mais fácil endereçar os valores pela posição
Implementado por
demo_matriz2.R
|
É fácil converter uma matriz em porcentagens:
M+ M-
H+ 50 150
H- 125 175
M+ M-
H+ 0.10 0.30
H- 0.25 0.35
demo_montatabela3.R
Graficamente, podemos ilustrar com diagramas de Venn. Do total de mulheres, 35% são hipertensas e do total de homens 40% são hipertensos. A intersecção entre o grupo de homens e mulheres é 10%. Neste diagrama vemos os conjuntos:
Quando queremos \(P(M_{+}|H_{+})\), este “dado que homens são positivos” restringe nosso ambiente ao círculo azul, à direita:
Por isso, \(P(M_{+}|H_{+})={10 \over 40} = 0.25\)
Generalizando o diagrama, podemos perceber que a probabilidade condicionada é uma medida da intersecção das áreas dividida pelo tamanho da área “dada por”:
\[P(A|B)={ {P(A \cap B)} \over {P(B)} }={ {P(A) \cdot P(B|A)} \over {P(B)} }\]
Pode parecer que esta alteração não resolve nada porque, para sabermos o valor de \(P(A|B)\) agora precisamos de \(P(B|A)\), mas veremos adiante que a segunda probabilidade é facilmente conhecida.
Para voltar ao exemplo dos casais, mostramos a equivalência:
\[P(M_{+}|H_{+})={{P(M_{+}) \cdot P(H_{+}|M_{+})} \over {P(H_{+})}}={{P(M_{+}) \cdot {P(H_{+}~ \cap ~M_{+}) \over P(M_{+})}} \over {P(H_{+})}}\]
\[P(M_{+}|H_{+})={{0.35 \cdot {0.10 \over 0.35}} \over {0.4}}={0.10 \over 0.4}=0.25\]
Podemos usar esta equação no contexto de diagnóstico médico, onde temos um teste \(T\) e buscamos um diagnóstico \(D\):
então:
\[P(D_{+}|T_{+})=P(T_{+}|D_{+})\cdot \dfrac{P(D_{+})}{P(T_{+})}\]
em que se lê: “a probabilidade de ter doença, dado que o teste resultou positivo é igual à probabilidade de existir a doença (incondicional) multiplicada pela probabilidade do teste ser positivo dado que a doença exista, dividido pelo total de testes positivos”.
\(P(D_{+}|T_{+})\) é o que geralmente o médico busca para firmar o diagnóstico. Veremos adiante que as informações de \(P(D_{+})\) é a prevalência da doença e \(P(T_{+}|D_{+})\) é vinda do laboratório, chamada de sensibilidade; ambas as informações são relativamente fáceis de serem conhecidas.
Esta equação é conhecida como Regra de Bayes, elaborada originalmente por Thomas Bayes (1701-1761), que procurava equacionar como a crença sobre a chance das coisas é influenciada pelas informações prévias que temos. É o caso do diagnóstico médico, quando temos hipóteses diagnósticas e buscamos exames subsidiários que a confirmem ou refutem. |
|
Vamos retomar a tabela:
D+ D-
T+ Exame acertou Falso positivo Total de positivos
T- Falso negativo Exame acertou Total de negativos
Total de doentes Total de não doentes
demo_tabteorica.R
As colunas contém dois grupos, \(D_{+}\) e \(D_{-}\), respectivamente pacientes sabidamente portadores de uma doença e saudáveis. Este é o padrão ouro (gold-standard), que assumimos como referência e cujo diagnóstico foi firmado por outros métodos (avaliação médica, outros exames, etc.). Nas linhas temos um exame \(T\) cujo desempenho queremos verificar.
Como nenhum exame acerta 100% das vezes, uma vez aplicado comparamos com a referência, e definimos a proporção de acertos e erros, tanto quando o exame resultou positivo, \(T_{+}\), quanto quando resultou negativo, \(T_{-}\).
Se o exame diagnóstico não acerta sempre, como saber o quanto ele é válido?
Para isto analisaremos a qualidade do exame e a qualidade do diagnóstico.
Retomando a convenção de letras adotada acima:
D+ D-
T+ a b a+b
T- c d c+d
a+c b+d total
demo_tabletras.R
precisamos definir as probabilidades do exame acertar em seus resultados, definindo suas sensibilidade e especificidade.
É o acerto do verdadeiro positivo, i.e., a probabilidade do exame ser positivo nos doentes:
\[P(T_{+}|D_{+}) = { {a}\over{a+c} }\]
Enfatizamos que esta não é a pergunta que o médico faz. Não há o menor interesse para o diagnóstico em saber se o teste é positivo em pacientes que já sabemos serem doentes. É uma medida, no entanto, obtida por estudos que medem a probabilidade de detecção acertada do exame.
É o acerto do verdadeiro negativo, i.e., a probabilidade do exame ser negativo nos não doentes:
\[P(T_{-}|D_{-}) = { {d}\over{b+d} }\]
Da mesma forma, não é a pergunta do médico, mas a probabilidade de não detecção acertada do exame entre pessoas que sabemos não estarem doentes.
É fácil notar que um
exame de maior sensibilidade reduz os falso-negativos
e um
exame de maior especificidade reduz os falso-positivos.
Doentes | |||
---|---|---|---|
sim | não | Total | |
Exame positivo |
verdadeiros positivos |
falsos positivos |
total de positivos |
|
|||
Exame negativo |
falsos negativos |
verdadeiros negativos |
total de negativos |
Total |
total de doentes |
total de não doentes |
Por outro lado pode ser impossível entender a interação entre sensibilidade, especificidade e resultados falsos sem o conceito de valor limite (cutoff) que separa um exame positivo de um negativo.
Considere um estudo de anemia ferropriva em crianças de uma comunidade. O exame/teste analisa a concentração de ferritina sérica no sangue.
A concentração de ferritina no sangue é uma variável quantitativa contínua. Estudos prévios estabeleceram um cutoff, e distingue as crianças como positivas (i.e., anêmicas) se o valor observado for menor que \(15~\mu g/dl\).
Suponha que tenhamos encontrado o seguinte:
Anemia+ Anemia-
Ferritina+ 731 270
Ferritina- 78 1500
demotab_ferritina.R
e que a distribuição dos dados seja:
demogrf_ferritina.R
A linha vertical pontilhada é o cutoff (\(15~\mu g/dl\)). Portanto, há 78 resultados falso-negativos (de crianças sabidamente anêmicas com \(\text{ferritina sérica} \ge 15~\mu g/dl\)) e 270 falso-positivos (de crianças sabidamente não anêmicas com \(\text{ferritina sérica} < 15~\mu g/dl\)).
Esta curva é um dos métodos usados para avaliar o desempenho de classificadores binários. A curva mostra a relação entre:
Cada ponto da curva corresponde a um limiar (threshold) diferente para a decisão do classificador. A curva é construída calculando-se a sensibilidade e a especificidade para cada valor cutoff. Há mais de um método para escolher o ponto que otimiza sensibilidade e especificidade:
A área sob a curva (AUC), quanto mais próxima de 1, melhor o exame. Uma AUC de 0.5 corresponde a uma curva ROC que coincide com a bissetriz. Neste exemplo, a curva ROC é:
demoROC_ferritina.R
Aumentar a sensibilidade é procurar detectar maior número de anemias, aumentando o valor da fração \(a \over {a+c}\), i.e., aumentar o número de crianças anêmicas que receberão o diagnóstico com o uso de maior valor do cutoff. Digamos que o critério fosse considerar anemia até \(16~\mu g/dl\):
demogrf_ferritina16.R
Reduzindo, neste exemplo, os falso-negativos para 21, aumentou-se para 428 o número de falso-positivos.
Reversamente, aumentar a especificidade é descartar mais o diagnóstico naqueles que não tem a doença aumentando o valor de \(d \over {b+d}\), i.e., aumentar o número de crianças não anêmicas com resultado negativo aplicando-se menor valor do cutoff. Digamos que o critério fosse considerar anemia até \(14~\mu g/dl\):
Implementado por demogrf_ferritina14.R
Consequentemente, reduzir para 149 o número de falso-positivos, fez com que o número de falso-negativos aumentasse para 216.
O cutoff de \(15~\mu g/dl\) busca determinado custo-benefício e a forma como os estudos os definem está fora do escopo deste texto. Aqui basta dizer que busca-se o valor que maximiza sensibilidade e especificidade simultaneamente, levando-se em conta o objetivo do exame: maior sensibilidade para os exames para os quais não se deseja deixar de fazer o diagnóstico (como, por exemplo, para rastreamento da doença em uma população) ou maior especificidade para situações em que se quer firmar o diagnóstico sem confundir com outros (como, por exemplo, no diagnóstico diferencial para a prática médica). |
Voltando ao exemplo da ferritina sérica, com o cutoff=\(15~\mu g/dl\) computamos:
\(\text{sensibilidade} = P(T_{+}|D_{+}) = {a \over {a+c}}\) = 0.9035847
\(\text{especificidade} = P(T_{-}|D_{-}) = {d \over {b+d}}\) = 0.8474576
Da relação entre sensibilidade e especificidade, obtém-se as razões de verossimilhança positiva (\(LR_{+}\), do inglês: likelihood ratio) e negativa (\(LR_{-}\)), definidas por:
\[LR_{+} = { {P(\text{verdadeiro positivo})}\over{P(\text{falso positivo})} } = { {\text{sensibilidade}}\over{1-\text{especificidade}} } \]
\[LR_{-} = { {P(\text{falso negativo})}\over{P(\text{verdadeiro negativo})} } = { {1-\text{sensibilidade}}\over{\text{especificidade}} } \]
Portanto, ambos os \(LR\) são medidas de chance (odds) e, então, precisam ter valor diferente de 1 para que o exame tenha qualidade: \(LR_{+} > 1\) e \(LR_{-} < 1\).
Odds e probabilidade Odds (traduzido habitualmente por chance) e probabilidade são formas equivalentes para expressar possibilidades e relacionadas por: \[\textit{Odds} = {{\text{Probabilidade}} \over{1-\text{Probabilidade}}}\] e \[\text{Probabilidade} = {{\textit{Odds}} \over{1+\textit{Odds}}}\] Por exemplo, uma probabilidade de \(80\%\) corresponde a \[\textit{Odds} = {{0.8} \over {1-0.8}} = {0.8 \over 0.2} = 4\] indicando que dizer “\(80\%\) de probabilidade” é equivalente a dizer “4 vezes mais chance de ocorrer do que não ocorrer” um determinado evento. Reversamente, Odds de 2 é: \[\text{Probabilidade} = {2 \over {1+2}} = {2 \over 3} \approx 66.67\%\] e \(\textit{Odds}=1\) resulta em: \[\text{Probabilidade} = {1 \over {1+1}} = {1 \over 2} = 50\%\] Associa-se o máximo de incerteza com probabilidade de \(50\%\); por este motivo, \(Odds=1\) será um valor necessário para decisões estatísticas, adiante. |
\(LR_{+}\) expressa quantas vezes (i.e. \(odds\)) é mais provável que um exame positivo esteja correto do que não correto entre os doentes. Quanto maior for seu valor, melhor é o exame.
\(LR_{-}\) expressa o inverso (i.e., \(1/odds\)) de quantas vezes é mais provável que um exame negativo esteja correto do que não correto entre os não doentes. Quanto menor for seu valor, melhor é o exame.
Estas quatro medidas — sensibilidade, especificidade, \(LR_{+}\) e \(LR_{-}\) definem a qualidade de um sintoma, sinal ou exame, e seus valores podem ser obtidos da literatura especializada ou fornecidos pelos bons laboratórios. Conhecê-las, porém, não basta, e mesmo com valores adequados podem não ser suficientes para firmar o diagnóstico. Por que?
Voltaremos a elas adiante. Vamos esclarecer sobre a qualidade do diagnóstico.
A prevalência, \(P(D_{+})\), é uma característica
Caso a tabela de contingência 2$$2 reflita as proporções de doentes e não doentes na população, então a prevalência pode ser calculada por \(P(D_{+})=\dfrac{a+c}{a+b+c+d}\).
Sensibilidade, \(P(T_{+}|D_{+})\), e especificidade, \(P(T_{-}|D_{-})\), são probabilidades condicionais que refletem a validade do exame diagnóstico.
Sensibilidade e especificidade não dependem da prevalência.
A prevalência é essencial para o diagnóstico.
Recorde que frente a um paciente do qual não sabemos se é portador da doença, e feito um exame que resultou positivo, a regra de Bayes fornece a probabilidade de que seja doente por:
\[P(D_{+}|T_{+})=P(T_{+}|D_{+})\cdot\dfrac{P(D_{+})}{P(T_{+})}\]
Este é o valor preditivo positivo, \(VPP\), ou \(PPV\) nos pacotes estatísticos (inglês, negative predictive value). Na equação reconhecemos \(P(T_{+}|D_{+})\), a sensibilidade do exame. \(P(D_{+})\) é a fração de doentes na população, definida como prevalência verdadeira da doença (que chamaremos adiante simplesmente de “prevalência”, e equivale à probabilidade de, sorteando-se um indivíduo desta população, encontrarmos um doente).
Falta definir o denominador, \(P(T_{+})\), a probabilidade de testes positivos. Observe a tabela:
D+ D-
T+ a b a+b
T- c d c+d
a+c b+d a+b+c+d
demo_prevalencia_aparente.R
\(P(T_{+})\), a probabilidade de exames positivos, também conhecido como prevalência aparente (no sentido de que é a prevalência que seria encontrada na ausência de um padrão de referência), pode ser decomposto em:
\[P(T_{+}) = { {{{a+c}\over {a+b+c+d} }\cdot{a \over {a+c}}}+ {{b+d}\over{a+b+c+d}}\cdot{b \over {b+d}} }\]
temos, portanto, todos os elementos necessários:
\({a+c} \over {a+b+c+d}\) é \(\text{prevalência}\).
\(a \over {a+c}\) é \(\text{sensibilidade}\).
\({{b+d} \over {a+b+c+d}} = 1 - {{a+c} \over {a+b+c+d}}\) é \(1 - \text{prevalência da doença}\).
\({b \over {b+d}} = {1 - {d \over {b+d}}}\) é \(1-\text{especificidade}\). Para colocar nos termos da notação utilizada acima,
\[P(T_{+}) = P(D_{+}) \cdot \text{sensibilidade} + P(D_{-}) \cdot (1 - \text{especificidade})\]
Em outras palavras, o total de exames positivos é dado pela sensibilidade e especificidade ponderadas pela probabilidades de termos doentes (i.e., prevalência) e não doentes (i.e., complemento da prevalência). Assim, podemos reescrever a regra de Bayes:
\[P(D_{+}|T_{+})=PPV=\dfrac{P(D_{+})\cdot P(T_{+}|D_{+})}{P(D_{+})\cdot P(T_{+}|D_{+}) + P(D_{-})\cdot (1 - P(T_{-}|D_{-}))}\]
Quando o resultado de um exame for negativo, o valor preditivo negativo \(VPN\) (\(NPV\), negative predictive value) é a probabilidade do paciente não estar doente.
Por raciocínio similar ao anterior, a regra de Bayes é:
\[P(D_{-}|T_{-})=P(T_{-}|D_{-})\cdot \dfrac{P(D_{-})}{P(T_{-})}\]
reescrita na forma:
\[P(D_{-}|T_{-}) = NPV = \dfrac{P(D_{-}) \cdot P(T_{-}|D_{-})} { P(D_{-}) \cdot P(T_{-}|D_{-}) + P(D_{+}) \cdot (1 - P(T_{+}|D_{+}))}\]
Portanto, para o acerto do diagnóstico, precisamos a qualidade da população (a prevalência populacional da doença de onde o paciente é oriundo) e a qualidade do exame (sensibilidade e especificidade).
PPV e NPV são as probabilidade condicionais de diagnóstico correto, sendo que elas dependem da prevalência.
Caso pretenda fazer os cálculos manualmente. Um atalho mais simples que os cálculos acima é usar a tabela
Implementado por
demo_tabletras.R
e pensar em sensibilidade, especificidade, \(PPV\) e \(NPV\) como probabilidades de acerto, respectivamente:
No entanto, cuidado com o uso de tabelas. Os valores de sensibilidade e especificidade, como ocorrem nas colunas, não são afetados pela prevalência da doença e serão igualmente obtidos ainda que a amostra de pacientes seja, por exemplo, escolhida para termos 50% de doentes e 50% de não doentes, procedimento totalmente possível para o estabelecimento do desempenho do exame em um estudo experimental. No entanto, \(PPV\) e \(NPV\) dependem da prevalência e este atalho só funciona se a tabela refletir a distribuição de doentes e não doentes de acordo com a prevalência da doença, i.e., se \({a+c}\over{a+b+c+d}\) estiver na proporção igual a \(P(D_{+})\) e, consequentemente, somente se \({b+d}\over{a+b+c+d}\) for igual a \(1-P(D_{+})\). |
Todos os cálculos estão implementados em pacotes do R e em RScripts que fornecemos para estas aulas. Vamos reconstruir o exemplo da ferritina sérica, cujos dados são
nomelin<-"Ferritina"
nomecol<-"Anemia"
a<-731
b<-270
c<-78
d<-1500
tabela <- matrix(data=c(a,b,c,d), ncol=2, byrow = TRUE)
colnames(tabela) <- c(paste(nomecol,"+",sep=""),paste(nomecol,"-",sep=""))
rownames(tabela) <- c(paste(nomelin,"+",sep=""),paste(nomelin,"-",sep=""))
prmatrix(tabela)
Anemia+ Anemia-
Ferritina+ 731 270
Ferritina- 78 1500
demotab_ferritina.R
Supondo que a prevalência da população esteja refletida nesta tabela, temos:
n <- sum(tabela)
prevalencia <- (tabela[1,1]+tabela[2,1])/n
sensibilidade <- tabela[1,1]/(tabela[1,1]+tabela[2,1])
especificidade <- tabela[2,2]/(tabela[1,2]+tabela[2,2])
cat("prevalencia = ",prevalencia,"\n",sep="")
cat("sensibilidade = ",sensibilidade,"\n",sep="")
cat("especificidade = ",especificidade,"\n",sep="")
cat("n = ",n,"\n",sep="")
prevalencia = 0.3136875
sensibilidade = 0.9035847
especificidade = 0.8474576
n = 2579
demotab_ferritina_calc.R
Alternativamente, o script TesteDiagnostico.R
faz diversos
procedimentos e agrega a testagem estatística através de algumas funções
que selecionamos e por método robusto (bootstrapping). Para
reproduzir este exemplo, rode-o e forneça:
[…]
P(D+)=(a+c)/n … prevalencia da Desfecho
prevalencia: 0.3137
[…]
P(T+|D+) = a/(a+c) … sensibilidade do teste
sensibilidade:
0.9036
[…]
P(T-|D-) =
d/(b+d) … especificidade do teste
especificidade:
0.8475
[…]
Qual o tamanho
da população (Total)?
n:
2579
[…]
Defina alfa =
probabilidade do erro do tipo I alfa:
0.05
[…]
Exibir tabelas?
(exibir lentifica a simulacao)
0=nao, 1=sim; default eh 0:
0
[…]
Quantas iteracoes
para simular?
iteracoes:
1000
Obtendo:
-------------------------------------------------
Outcome + Outcome - Total
Test + 731 270 1001
Test - 78 1500 1578
Total 809 1770 2579
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.3881 (0.3693, 0.4072)
True prevalence * 0.3137 (0.2958, 0.3320)
Sensitivity * 0.9036 (0.8811, 0.9231)
Specificity * 0.8475 (0.8299, 0.8639)
Positive predictive value * 0.7303 (0.7017, 0.7576)
Negative predictive value * 0.9506 (0.9387, 0.9607)
Positive likelihood ratio 5.9252 (5.2969, 6.6282)
Negative likelihood ratio 0.1137 (0.0920, 0.1406)
False T+ proportion for true D- * 0.1525 (0.1361, 0.1701)
False T- proportion for true D+ * 0.0964 (0.0769, 0.1189)
False T+ proportion for T+ * 0.2697 (0.2424, 0.2983)
False T- proportion for T- * 0.0494 (0.0393, 0.0613)
Correctly classified proportion * 0.8651 (0.8513, 0.8781)
--------------------------------------------------------------
* Exact CIs
estimative IC95 [lower upper] upper
1: apparent prevalence, P(T+) ap 0.38812007 0.36925436 0.40724017
2: (true) prevalence, P(D+) tp 0.31370000 0.29581839 0.33200550
3: sensitivity se 0.90360000 0.88114863 0.92305469
4: specificity sp 0.84750000 0.82989504 0.86394422
5: diag. accuracy diag.ac 0.86509857 0.85130539 0.87805689
6: diag. odds ratio diag.or 52.09176247 39.88422608 68.03571195
7: number needed to diag. nndx 1.33138064 1.27064978 1.40638337
8: Youden's index youden 0.75110000 0.71104367 0.78699892
9: pos. pred. value pv.pos 0.73033925 0.70169639 0.75762022
10: neg. pred. value pv.neg 0.95057743 0.93869874 0.96074106
11: positive LR lr.pos 5.92524590 5.29686377 6.62817480
12: negative LR lr.neg 0.11374631 0.09202681 0.14059189
13 p.rout 0.61187993 0.59275983 0.63074564
14 p.rin 0.38812007 0.36925436 0.40724017
15 p.tpdn 0.15250000 0.13605578 0.17010496
16 p.tndp 0.09640000 0.07694531 0.11885137
17 p.dntp 0.26966075 0.24237978 0.29830361
18 p.dptn 0.04942257 0.03925894 0.06130126
Sob H0 espera-se (em proporcoes):
D + D -
T + 0.122 0.266 0.388
T - 0.192 0.42 0.612
0.314 0.686
Sob H1 espera-se (em proporcoes):
D + D -
T + 0.283 0.105 0.388
T - 0.03 0.582 0.612
0.314 0.686
---------------------
Iniciando a simulacao
---------------------
Aguarde...
amostra = 2579
alfa = 0.05
iteracoes = 1000
Terminado:
alfa: 5%
OR:
mediana(OR): 52.18782
IC95% (OR): [40.422, 67.96]
V de Cramer:
mediana(V): 0.7153504
IC95% (V): [0.687, 0.742]
epiR
A saída é longa, então vamos entendê-la por partes.
No início da saída aparece a mensagem
Package epiR XXXXX is loaded
O pacote epiR
(no lugar de XXXXX aparecerá o número da
versão instalada em seu computador) foi o que escolhemos para computar a
regra de Bayes. Em certo ponto de TesteDiagnostico.R
aparece:
prevalencia <- 0.3137
sensibilidade <- 0.9036
especificidade <- 0.8475
n <- 2579
alfa <- 0.05
tabela2x2 <- as.table(matrix(n*c(prevalencia*sensibilidade,
(1 - prevalencia)*(1 - especificidade),
prevalencia*(1 - sensibilidade),
(1 - prevalencia)*especificidade),
nrow = 2, byrow = TRUE))
print(tabela2x2 <- round(tabela2x2))
out <- epiR::epi.tests(tabela2x2, conf.level=1-alfa, digits=4)
sumario <- summary(out)
A B
A 731 270
B 78 1500
TesteDiagnostico_ferritina_tabela.R
Observe que nesta tabela os valores não são exatamente os planejados por causa de arredondamento em casas decimais.
A essência deste código está no trecho em que exibimos o resultado armazendo na variáveis out e sumario, que produzem:
print(out)
print(sumario, digits=4)
Outcome + Outcome - Total
Test + 731 270 1001
Test - 78 1500 1578
Total 809 1770 2579
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.3881 (0.3693, 0.4073)
True prevalence * 0.3137 (0.2958, 0.3320)
Sensitivity * 0.9036 (0.8811, 0.9230)
Specificity * 0.8475 (0.8299, 0.8639)
Positive predictive value * 0.7303 (0.7016, 0.7576)
Negative predictive value * 0.9506 (0.9387, 0.9607)
Positive likelihood ratio 5.9235 (5.2954, 6.6261)
Negative likelihood ratio 0.1138 (0.0920, 0.1406)
False T+ proportion for true D- * 0.1525 (0.1361, 0.1701)
False T- proportion for true D+ * 0.0964 (0.0770, 0.1189)
False T+ proportion for T+ * 0.2697 (0.2424, 0.2984)
False T- proportion for T- * 0.0494 (0.0393, 0.0613)
Correctly classified proportion * 0.8651 (0.8513, 0.8780)
--------------------------------------------------------------
* Exact CIs
statistic est lower upper
1 ap 0.38813 0.36927 0.40726
2 tp 0.31369 0.29581 0.33199
3 se 0.90358 0.88113 0.92304
4 sp 0.84746 0.82985 0.86390
5 diag.ac 0.86506 0.85127 0.87802
6 diag.or 52.06553 39.86486 68.00021
7 nndx 1.33148 1.27074 1.40650
8 youden 0.75104 0.71098 0.78694
9 pv.pos 0.73027 0.70163 0.75755
10 pv.neg 0.95057 0.93869 0.96073
11 lr.pos 5.92350 5.29540 6.62610
12 lr.neg 0.11377 0.09205 0.14062
13 p.rout 0.61187 0.59274 0.63073
14 p.rin 0.38813 0.36927 0.40726
15 p.tpdn 0.15254 0.13610 0.17015
16 p.tndp 0.09642 0.07696 0.11887
17 p.dntp 0.26973 0.24245 0.29837
18 p.dptn 0.04943 0.03927 0.06131
TesteDiagnostico_ferritina_out.R
Bastariam estas linhas para suas conclusões. Repare que out tem o problema de arredondar para duas casas decimais, o que não costuma ser o suficiente. É preferível produzir o summary(out), mais completo. Todos os valores são fornecidos em sua estimativa pontual e intervalo de confiança 95%. São todas as variáveis que vimos e mais algumas:
ap
: prevalência aparentetp
: prevalênciase
: sensibilidadesp
: especificidadediag.ac
: acuráciadiag.or
: odds rationnd
: number needed to diagnoseyouden
: índice de Youdenpv.pos
: valor preditivo positivopv.neg
: valor preditivo negativolr.pos
: likelihood positivolr.neg
: likelihood negativoDos valores adicionais:
O índice de Youden é um ótimo preditor da qualidade global de um exame:
\[\text{Youden} = \text{probabilidade de verdadeiro positivo} - \text{probabilidade de falso positivo}\]
ou
\[\text{Youden} = {se - (1 - sp)} = {se + sp - 1}\]
(em que \(se\) é sensibilidade e \(sp\) é especificidade do exame)
Quando este índice é menor do que 0 (i.e., \(\text{sensibilidade}+\text{especificidade} \le 1\)), o exame tem desempenho ruim e, possivelmente, é inútil para qualquer diagnóstico. Portanto, como regra prática, quando quiser avaliar um novo exame, use o índice de Youden para ter uma noção preliminar do desempenho esperado.
Por exemplo, se a sensibilidade for igual a 0.9 e especificidade igual a 0.8,
\[Y = 0.9 + 0.8 - 1 = 0.7\]
e, portanto, o exame é um teste diagnóstico.
O nnd é muito usado em epidemiologia.
“the number of patients who need to be examined in order to correctly detect one person with the disease of interest in a study population of persons with and without the known disease”
Larner A.J. (2018) Number Needed to Diagnose, Predict, or Misdiagnose: Useful Metrics for Non-Canonical Signs of Cognitive Status? Dement Geriatr Cogn Disord Extra 8:321–327. https://doi.org/10.1159/000492783
Por exemplo, se \(nnd=1.5\), é necessário testar 15 pacientes para ter 10 resultados verdadeiramente positivos.
Numericamente, porém, do ponto de vista da estatística,
\[nnd = {{1}\over{\text{Youden}}}\]
Por exemplo, calculamos, para sensibilidade=0.9 e especificidade=0.8, \(\text{ìndice de Youden} = 0.9 + 0.8 - 1 = 0.7\). Então:
\[nnd = { {1 \over 0.7} = 1.43 }\]
significando que precisamos testar cerca de 14 pacientes para encontrar 10 resultados positivos.
Não confunda com outros índices, como o conhecido \(nnt\) (number needed to treat), dado por \[nnt = { {1}\over{p(1-RR)} }\] em que \(p\) é a prevalência da doença na população não tratada e \(RR\) é o risk ratio. van Belle, G (2008) Statistical rules of thumb. 2nd ed. NJ: Wiley. |
Já vista antes, também pode ser computada como função do índice de Youden.
\[P(T_{+}) = p \cdot se + (1-p)(1-sp) = 1 - sp + p \cdot Y\]
Então, se \(p=0.05\), \(se=0.9\), \(sp=0.8\) (portanto \(Y=0.7\)),
\[P(T_{+}) = 0.235\]
significando que 23.5% dos pacientes submetidos a este teste diagnóstico de uma população com 5% de prevalência para uma doença testarão positivamente.
É a proporção de testes diagnósticos corretos para certa população, dada (pelo atalho de acordo com a convenção da tabela) por:
\[\text{Acurácia}={{a+d}\over{total}}\]
funcionando como uma forma sintética de reportar a combinação da sensibilidade e especificidade no contexto da prevalência observada.
Outra maneira de expressar a acurácia é:
\[\text{Acurácia} = P(D_{+}) \cdot \text{sensibilidade} + P(D_{-}) \cdot {\text{especificidade}}\].
Por exemplo, se sensibilidade é 0.9 e especificidade é 0.8 com prevalência de 0.05, temos
\[A = p \cdot se + (1 – p) \cdot sp = 0.05 \cdot 0.9 + 0.95 \cdot 0.8 = 0.805\]
significando que 80.5% dos pacientes de uma população com prevalência de 0.05 têm o resultado do teste correto (negativo ou positivo).
Em epidemiologia há vários outros índices que seguem a mesma lógica do nnd, por exemplo:
|
Como podemos verificar no teste Qui-quadrado, é equivalente a decidir pelo odds ratio com seu intervalo de confiança. Sabemos que: \[OR = {{a \cdot d}\over{b \cdot c}}\] e que existe significância estatística para \(\alpha=0.05\) quando o valor unitário não está dentro do intervalo de confiança 95%, rejeitando-se a hipótese nula de ausência de associação entre as variáveis.
Aqui temos uma aplicação deste princípio: um teste diagnóstico útil tem que mostrar associação de seus resultados positivo e negativo com a presença ou ausência da doença.
O pacote epiR
, portanto, verifica a associação entre o
exame e a doença; a associação precisa existir para que o exame seja um
teste diagnóstico.
O restante da saída com gráficos é uma versão nossa, usando bootstrapping e mostrando várias distribuições para conferirmos os valores da saída acima (não são exatamente iguais, mas muito próximos), além de estatística de tamanho de efeito por \(OR\) e \(V\) de Cramér com as mesmas interpretações que discutimos no teste Qui-quadrado. São informação útil para decidir sobre os valores que mensuram a qualidade do exame e do diagnóstico.
Até aqui tivemos uma abordagem populacional. O que fazemos quando lidamos com um único paciente?
Fundamentalmente, os conceitos discutidos acima são aplicáveis na prática médica.
A adaptação ocorre a partir dos dados da consulta de um paciente, o médico “intui” a probabilidade de um ou mais diagnósticos. Pode ser atribuído um valor que passaremos a chamar de Probabilidade Pré-teste, fundamentada na experiência do clínico e em suas informações da literatura. Para confirmar ou descartar as hipóteses diagnósticas, são feitos exames de laboratório ou de imagem. Com a Probabilidade Pré-teste, pode-se estimar a Probabilidade Pós-teste, utilizando a Razão de Verossimilhança do exame diagnóstico. |
|
Quando não existia apoio computacional, o procedimento (nunca muito difundido, possivelmente pela falta de praticidade) era utilizar os valores de \(LR_{+}\) ou \(LR_{-}\) para transformar a crença prévia (a intuição médica sobre a probabilidade do paciente ter determinada doença) e atualizá-la de acordo com o resultado do exame. Iniciando pela opinião médica, transforma-se a probabilidade pré-exame em odds:
\[odds_{\text{pré}}={ {p_{\text{pré}}} \over {1 - p_{\text{pré}} }}\]
Então, dependendo do resultado do exame ser positivo ou negativo, atualiza-se a crença no diagnóstico, multiplicando-se respectivamente odds por \(LR_{+}\) ou \(LR_{-}\)
\[odds_{\text{pós}}={ {odds_{\text{pré}}} \cdot {LR}}\] E, então, para nosso raciocínio, reconverte-se odds para probabilidade.
\[p_{\text{pós}}={ {odds_{\text{pós}}} \over {1 + odds_{\text{pós}} }}\]
Por exemplo, para o teste de ferritina sérica, encontramos \(LR_{+}=5.92\) e \(LR_{-}=0.11\). Suponha, por exemplo, que uma nova criança seja examinada e, clinicamente, o médico tem 80% de convicção de que a criança esteja anêmica. Então
odds.pre = 4
demo_ferritina_oddspre.R
Feito a dosagem de ferritina sérica, se o resultado for positivo:
odds.pos = 23.70098
prob.pos = 0.9595158
demo_ferritina_oddsposLRmais.R
aumentando a probabilidade de anemia para cerca de 96%, assim reforçando a crença do médico no diagnóstico.
Caso o resultado seja negativo:
odds.pos = 0.4549852
prob.pos = 0.3127078
demo_ferritina_oddsposLRmenos.R
reduzindo a probabilidade de anemia para cerca de 31%, enfraquecendo o diagnóstico.
Um atalho gráfico era o uso de um nomograma. Embora obsoleto, é interessante para ilustrar o porquê de computarmos os valores de \(LR_{+}\) como um odds direto e \(LR_{-}\) como o inverso de um odds. Basta ligar a probabilidade pré-exame na escala da esquerda com o valor adequado de \(LR\) para obter a probabilidade pós-exame na escala da direita.
Repare que a ligação com \(LR=1\) faz com que a probabilidade pré-exame seja igual à probabilidade pós-exame, ou seja, seria um exame inútil.
Lembrando que \(LR_{+}\) e \(LR–\) são relações entre sensibilidade e especificidade
\[LR_{+} = { {\text{sensibilidade}}\over{1-\text{especificidade}} } \]
\[LR_{-} = { {1 - \text{sensibilidade}}\over{\text{especificidade}} } \]
e portanto não dependem da prevalência, e considerando que a probabilidade pós-exame é \(PPV\) ou \(NPV\), os quais não podem ser computados sem a prevalência, uma dúvida que pode surgir é, então, como este cálculo é possível e se relaciona com os conceitos discutidos anteriormente?
Claramente, a probabilidade pré-exame faz o papel da prevalência. No tratamento individualizado não importa a prevalência da população geral, mas a prevalência à qual o paciente em análise está sujeito. É como se o indivíduo fosse parte de um grupo que tem sua prevalência particular e, na falta de dados, cabe ao médico intuir a probabilidade de doença para o quadro clínico que encontra.
Observe o que acontece se usarmos os valores de sensibilidade e especificidade para compor uma tabela com um único indivíduo e prevalência de 80%:
Outcome + Outcome - Total
Test + 0.7229 0.0305 0.753
Test - 0.0771 0.1695 0.247
Total 0.8000 0.2000 1.000
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.7534 (0.0059, 1.0000)
True prevalence * 0.8000 (0.0082, 1.0000)
Sensitivity * 0.9036 (0.0056, 1.0000)
Specificity * 0.8475 (0.0000, 1.0000)
Positive predictive value * 0.9595 (0.0059, 1.0000)
Negative predictive value * 0.6873 (0.0000, 1.0000)
Positive likelihood ratio 5.9252 (0.0002, 186389.6889)
Negative likelihood ratio 0.1137 (0.0001, 120.0555)
False T+ proportion for true D- * 0.1525 (0.0000, 1.0000)
False T- proportion for true D+ * 0.0964 (0.0000, 0.9944)
False T+ proportion for T+ * 0.0405 (0.0000, 0.9941)
False T- proportion for T- * 0.3127 (0.0000, 1.0000)
Correctly classified proportion * 0.8924 (0.0144, 1.0000)
--------------------------------------------------------------
* Exact CIs
statistic est lower upper
1 ap 0.7534 5.88e-03 1.00e+00
2 tp 0.8000 8.18e-03 1.00e+00
3 se 0.9036 5.60e-03 1.00e+00
4 sp 0.8475 3.38e-10 1.00e+00
5 diag.ac 0.8924 1.44e-02 1.00e+00
6 diag.or 52.0918 3.29e-05 8.24e+07
7 nndx 1.3314 -1.01e+00 1.00e+00
8 youden 0.7511 -9.94e-01 1.00e+00
9 pv.pos 0.9595 5.88e-03 1.00e+00
10 pv.neg 0.6873 3.17e-10 1.00e+00
11 lr.pos 5.9252 1.88e-04 1.86e+05
12 lr.neg 0.1137 1.08e-04 1.20e+02
13 p.rout 0.2466 1.53e-07 9.94e-01
14 p.rin 0.7534 5.88e-03 1.00e+00
15 p.tpdn 0.1525 0.00e+00 1.00e+00
16 p.tndp 0.0964 0.00e+00 9.94e-01
17 p.dntp 0.0405 0.00e+00 9.94e-01
18 p.dptn 0.3127 0.00e+00 1.00e+00
demo_tabela80.R
Observe a saída. Para um único indivíduo os intervalos de confiança perdem o significado, mas as estimativas pontuais são perfeitamente utilizáveis. Os valores relatados estão em sumario$est[9]=0.9595158 e sumario$est[10]=0.6872922.
Cuidado! Esta função do epiR relata a probabilidade do indivíduo estar doente caso o exame seja positivo (ppv) e a probabilidade do indivíduo não estar doente caso o exame seja negativo (npv). Portanto:
Fornecendo em \(P(D_{+}|T_{-})\) a probabilidade do paciente estar doente de acordo com a forma vista no cálculo manual ou no nomograma. |
Exemplo 1: HIV
Sabe-se que a prevalência do HIV em usuários de cocaína é de 5% (0.05)[1] e na população geral a prevalência é de 0.24% (0.0024)[2]. Assuma a sensibilidade do ELISA igual a 99.7% e especificidade de 98.5%[3].
Calcule o VPP e o VPN do ELISA para um paciente vindo de cada um dos grupos e explique as diferenças observadas.
[1] França DDS et al (2018) HIV-1 infection among crack cocaine users in a region far from the epicenter of the HIV epidemic in Brazil: Prevalence and molecular characteristics [https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0199606]
[2] Alves BM et al. (2019) Estimating HIV-1 Genetic Diversity in Brazil Through Next-Generation Sequencing. Front Microbiol. 10: 749. [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6465556/]
[3] Chou R et al (2005) Screening for HIV: A Review of the Evidence for the U.S. Preventive Services Task Force. Ann Intern Med. 143(1):55-73. [https://annals.org/aim/fullarticle/718529/screening-hiv-review-evidence-u-s-preventive-services-task-force]
Outcome + Outcome - Total
Test + 2.39e-03 0.015 0.0174
Test - 7.20e-06 0.983 0.9826
Total 2.40e-03 0.998 1.0000
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.0174 (0.0000, 0.9770)
True prevalence * 0.0024 (0.0000, 0.9753)
Sensitivity * 0.9970 (0.0000, 1.0000)
Specificity * 0.9850 (0.0231, 1.0000)
Positive predictive value * 0.1379 (0.0000, 1.0000)
Negative predictive value * 1.0000 (0.0234, 1.0000)
Positive likelihood ratio 66.4667 (0.0000, 622392610.4585)
Negative likelihood ratio 0.0030 (0.0000, Inf)
False T+ proportion for true D- * 0.0150 (0.0000, 0.9769)
False T- proportion for true D+ * 0.0030 (0.0000, 1.0000)
False T+ proportion for T+ * 0.8621 (0.0000, 1.0000)
False T- proportion for T- * 0.0000 (0.0000, 0.9766)
Correctly classified proportion * 0.9850 (0.0233, 1.0000)
--------------------------------------------------------------
* Exact CIs
statistic est lower upper
1 ap 1.7357e-02 0.0000e+00 9.7697e-01
2 tp 2.4000e-03 0.0000e+00 9.7528e-01
3 se 9.9700e-01 0.0000e+00 1.0000e+00
4 sp 9.8500e-01 2.3079e-02 1.0000e+00
5 diag.ac 9.8503e-01 2.3291e-02 1.0000e+00
6 diag.or 2.1823e+04 3.6356e-314 Inf
7 nndx 1.0183e+00 -1.0236e+00 1.0000e+00
8 youden 9.8200e-01 -9.7692e-01 1.0000e+00
9 pv.pos 1.3786e-01 0.0000e+00 1.0000e+00
10 pv.neg 9.9999e-01 2.3422e-02 1.0000e+00
11 lr.pos 6.6467e+01 7.0981e-06 6.2239e+08
12 lr.neg 3.0457e-03 5.4421e-320 Inf
13 p.rout 9.8264e-01 2.3026e-02 1.0000e+00
14 p.rin 1.7357e-02 0.0000e+00 9.7697e-01
15 p.tpdn 1.5000e-02 0.0000e+00 9.7692e-01
16 p.tndp 3.0000e-03 0.0000e+00 1.0000e+00
17 p.dntp 8.6214e-01 0.0000e+00 1.0000e+00
18 p.dptn 7.3272e-06 0.0000e+00 9.7658e-01
demo_HIV_popgeral.R
Obtemos, portanto,
Portanto, no caso de exame negativo, obtivemos praticamente 100% de segurança em descartar a presença de HIV (quase igual a 1: 0.9999927).
Surpreendentemente, mesmo para um exame com sensibilidade de 99.7% e especificidade de 98.5%, no caso de exame positivo a probabilidade do paciente ter HIV é de apenas 13.79%. É preciso muito cuidado com aqueles exames pedidos sem hipótese diagnóstica, “só para descartar” como gostam de dizer.
Outcome + Outcome - Total
Test + 0.04985 0.0143 0.0641
Test - 0.00015 0.9357 0.9359
Total 0.05000 0.9500 1.0000
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.0641 (0.0000, 0.9818)
True prevalence * 0.0500 (0.0000, 0.9804)
Sensitivity * 0.9970 (0.0000, 1.0000)
Specificity * 0.9850 (0.0191, 1.0000)
Positive predictive value * 0.7777 (0.0000, 1.0000)
Negative predictive value * 0.9998 (0.0194, 1.0000)
Positive likelihood ratio 66.4667 (0.0000, 799069124.5361)
Negative likelihood ratio 0.0030 (0.0000, 7581495819910748183240604088088868208804628282060066026826824684004.0000)
False T+ proportion for true D- * 0.0150 (0.0000, 0.9809)
False T- proportion for true D+ * 0.0030 (0.0000, 1.0000)
False T+ proportion for T+ * 0.2223 (0.0000, 1.0000)
False T- proportion for T- * 0.0002 (0.0000, 0.9806)
Correctly classified proportion * 0.9856 (0.0234, 1.0000)
--------------------------------------------------------------
* Exact CIs
statistic est lower upper
1 ap 6.410e-02 0.000e+00 9.818e-01
2 tp 5.000e-02 0.000e+00 9.804e-01
3 se 9.970e-01 0.000e+00 1.000e+00
4 sp 9.850e-01 1.913e-02 1.000e+00
5 diag.ac 9.856e-01 2.335e-02 1.000e+00
6 diag.or 2.182e+04 2.314e-66 2.058e+74
7 nndx 1.018e+00 -1.020e+00 1.000e+00
8 youden 9.820e-01 -9.809e-01 1.000e+00
9 pv.pos 7.777e-01 0.000e+00 1.000e+00
10 pv.neg 9.998e-01 1.940e-02 1.000e+00
11 lr.pos 6.647e+01 5.529e-06 7.991e+08
12 lr.neg 3.046e-03 1.224e-72 7.581e+66
13 p.rout 9.359e-01 1.823e-02 1.000e+00
14 p.rin 6.410e-02 0.000e+00 9.818e-01
15 p.tpdn 1.500e-02 0.000e+00 9.809e-01
16 p.tndp 3.000e-03 0.000e+00 1.000e+00
17 p.dntp 2.223e-01 0.000e+00 1.000e+00
18 p.dptn 1.603e-04 0.000e+00 9.806e-01
demo_HIV_popdroga.R
Obtemos, portanto,
Novamente, no caso de exame negativo, muito provavelmente descartamos a infecção pelo HIV. Para exame positivo, embora a probabilidade tenha subido de 5% para 77.77%, não é ainda um diagnóstico confirmado. Este exame é mais sensível que específico e, portanto, um segundo exame, mais específico, pode ser necessário para a confirmação diagnóstica para quem resultou positivo no primeiro exame.
Ao atender em seu consultório um homem de 68 anos com queixa de ter seu sono interrompido toda noite para ir ao banheiro urinar, o Dr. Sasaki chegou à conclusão, depois do exame de toque retal, que a próstata estava aumentada, e considerou que o paciente tinha 30% de probabilidade de estar com câncer de próstata. Solicitou alguns exames de laboratório, entre eles a dosagem de antígeno prostático específico (PSA), que tem 34.9% de sensibilidade e 63.1% de especificidade[4]. Qual a probabilidade de o paciente ter câncer de próstata sabendo-se que o resultado do PSA foi negativo? E se o resultado fosse positivo?
[4] Sonya Parpart, Alysia Rudis, Amber Schreck, Nikhil Dewan, Paul Warren (2007) Sensitivity and Specificity in Prostate Cancer Screening Methods and Strategies. Journal of Young Investigators 16(4). “While Prostate Specific Antigen (PSA) testing is the most widespread form of prostate cancer screening, its specificity of 63.1% and low sensitivity of 34.9% calls for a statistically improved and more effective method to more accurately and consistently detect the ninth most common form of cancer.”
Outcome + Outcome - Total
Test + 0.105 0.258 0.363
Test - 0.195 0.442 0.637
Total 0.300 0.700 1.000
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.3630 (0.0000, 0.9978)
True prevalence * 0.3000 (0.0000, 0.9962)
Sensitivity * 0.3490 (0.0000, 1.0000)
Specificity * 0.6310 (0.0002, 1.0000)
Positive predictive value * 0.2884 (0.0000, 1.0000)
Negative predictive value * 0.6934 (0.0002, 1.0000)
Positive likelihood ratio 0.9458 (0.0030, 302.5521)
Negative likelihood ratio 1.0317 (0.0432, 24.6589)
False T+ proportion for true D- * 0.3690 (0.0000, 0.9998)
False T- proportion for true D+ * 0.6510 (0.0000, 1.0000)
False T+ proportion for T+ * 0.7116 (0.0000, 1.0000)
False T- proportion for T- * 0.3066 (0.0000, 0.9998)
Correctly classified proportion * 0.5464 (0.0008, 0.9998)
--------------------------------------------------------------
* Exact CIs
statistic est lower upper
1 ap 0.3630 2.083e-05 0.9978
2 tp 0.3000 2.315e-06 0.9962
3 se 0.3490 3.331e-16 1.0000
4 sp 0.6310 1.776e-04 1.0000
5 diag.ac 0.5464 7.545e-04 0.9998
6 diag.or 0.9167 1.201e-04 6997.8580
7 nndx -50.0000 -1.000e+00 1.0000
8 youden -0.0200 -9.998e-01 1.0000
9 pv.pos 0.2884 3.331e-16 1.0000
10 pv.neg 0.6934 1.891e-04 1.0000
11 lr.pos 0.9458 2.957e-03 302.5521
12 lr.neg 1.0317 4.316e-02 24.6589
13 p.rout 0.6370 2.150e-03 1.0000
14 p.rin 0.3630 2.083e-05 0.9978
15 p.tpdn 0.3690 3.859e-07 0.9998
16 p.tndp 0.6510 5.437e-09 1.0000
17 p.dntp 0.7116 5.474e-07 1.0000
18 p.dptn 0.3066 3.794e-09 0.9998
demo_prostata_consulta.R
Obtemos, portanto,
Algo estranho parece ter acontecido. O médico achava que o paciente tinha probabilidade de estar doente de 30%: com o exame positivo, esta convicção diminui para 28.84%; reversamente, a probabilidade de não estar doente, era 70%; com o exame negativo, diminuiu para 69.34%. Na prática, parece que encontramos um exemplo no qual o exame não mudou a percepção do médico.
”[…] A escolha da faixa etária estudada (50 anos ou mais de idade) considerou os dados científicos que apontam o aumento da incidência do câncer de próstata a partir desta idade [5][6][7]. Estudo realizado na cidade de São Paulo com o objetivo de verificar a presença do adenocarcimona de próstata em população assintomática encontrou prevalência ascendente de 1,3% na faixa de 50-59 anos, a 5,2% na mais idosa (70 anos ou mais), mostrando o crescimento de risco deste câncer com a idade mais avançada.”
[5] Brawley OW, Ankerst DP, Thompson IM. Screening for prostate cancer. CA Cancer J Clin 2009; 59: 264-73
[6] Damber JE, Aus G. Prostate cancer. Lancet 2008; 371:1710-21
[7] Grönberg H. Prostate cancer epidemiology. Lancet 2003; 361:859-64
O que podemos dizer sobre os mais idosos, para o uso do PSA na faixa etária com maior prevalência de câncer de próstata?
Outcome + Outcome - Total
Test + 0.0181 0.350 0.368
Test - 0.0339 0.598 0.632
Total 0.0520 0.948 1.000
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.3680 (0.0000, 0.9980)
True prevalence * 0.0520 (0.0000, 0.9806)
Sensitivity * 0.3490 (0.0000, 1.0000)
Specificity * 0.6310 (0.0015, 1.0000)
Positive predictive value * 0.0493 (0.0000, 1.0000)
Negative predictive value * 0.9464 (0.0020, 1.0000)
Positive likelihood ratio 0.9458 (0.0000, 158675.1955)
Negative likelihood ratio 1.0317 (0.0016, 671.7586)
False T+ proportion for true D- * 0.3690 (0.0000, 0.9985)
False T- proportion for true D+ * 0.6510 (0.0000, 1.0000)
False T+ proportion for T+ * 0.9507 (0.0000, 1.0000)
False T- proportion for T- * 0.0536 (0.0000, 0.9980)
Correctly classified proportion * 0.6163 (0.0017, 1.0000)
--------------------------------------------------------------
* Exact CIs
statistic est lower upper
1 ap 0.3680 2.40e-05 9.98e-01
2 tp 0.0520 0.00e+00 9.81e-01
3 se 0.3490 0.00e+00 1.00e+00
4 sp 0.6310 1.48e-03 1.00e+00
5 diag.ac 0.6163 1.74e-03 1.00e+00
6 diag.or 0.9167 8.40e-09 1.00e+08
7 nndx -50.0000 -1.00e+00 1.00e+00
8 youden -0.0200 -9.99e-01 1.00e+00
9 pv.pos 0.0493 0.00e+00 1.00e+00
10 pv.neg 0.9464 2.02e-03 1.00e+00
11 lr.pos 0.9458 5.64e-06 1.59e+05
12 lr.neg 1.0317 1.58e-03 6.72e+02
13 p.rout 0.6320 2.04e-03 1.00e+00
14 p.rin 0.3680 2.40e-05 9.98e-01
15 p.tpdn 0.3690 1.46e-05 9.99e-01
16 p.tndp 0.6510 0.00e+00 1.00e+00
17 p.dntp 0.9507 2.57e-05 1.00e+00
18 p.dptn 0.0536 0.00e+00 9.98e-01
demo_prostata_populacao.R
Obtemos, portanto,
Os exames com resultado positivo e negativo dão probabilidades para doença e não doença similares à prevalências gerais!
Este tipo de exame parece não promover mudança dos valores em âmbito individual e em âmbito populacional Como é possível usar este exame para rastreamento populacional?
Comentamos sobre índice de Youden, que precisa ser maior que zero para que um exame diagnóstico seja de fato um teste diagnóstivo informativo. Aqui encontramos \(\text{Youden} \approx\) -0.02, negativo.
Mais um indício de que o exame de PSA não tem qualidade é dado por
uma simulação com o script TesteDiagnostico.R
. Neste tipo de
procedimento, nosso script é ativado sem fornecermos \(n\). O algoritmo, então, aumenta o valor de
\(n\) até que \(LR_{+}\) e \(LR_{-}\) não varie mais que o critério de
parada (delta=1e-4, por default). Com isto, temos o tamanho mínimo de
população que, hipoteticamente, estabilizaria o desempenho da qualidade
do exame e, então, simula o que este experimento encontraria.
Fornecendo:
[…]
P(D+)=(a+c)/n … prevalencia da Desfecho
prevalencia: 0.052
[…]
P(T+|D+) = a/(a+c) … sensibilidade do teste
sensibilidade:
0.349
[…]
P(T-|D-) =
d/(b+d) … especificidade do teste
especificidade:
0.631
[…]
Qual o tamanho
da população (Total)?
n: [DEIXE EM
BRANCO]
[…]
Definindo n.
(criterio de parada,
default = 1e-4)
delta <
1e-4
[…]
Defina alfa =
probabilidade do erro do tipo I
alfa:
0.05
[…]
Um momento,
encontrando ‘n’
O sistema, então, faz uma pequena pausa e emite um gráfico com \(LR_{+}\) e \(LR_{-}\) e relata o valor encontrado para \(n\):
Total (n) = 1789
[…]
Exibir tabelas? (exibir lentifica
a simulacao)
0=nao, 1=sim; default eh 0:
0
[…]
Quantas iteracoes
para simular?
iteracoes:
1e3
obtém-se:
Definindo n.
Um momento, encontrando 'n'
.
Total (n) = 1789
-------------------------------------------------
Outcome + Outcome - Total
Test + 32.5 626 658
Test - 60.6 1070 1131
Total 93.0 1696 1789
Point estimates and 95% CIs:
--------------------------------------------------------------
Apparent prevalence * 0.3680 (0.3456, 0.3908)
True prevalence * 0.0520 (0.0422, 0.0633)
Sensitivity * 0.3490 (0.2531, 0.4548)
Specificity * 0.6310 (0.6075, 0.6540)
Positive predictive value * 0.0493 (0.0341, 0.0688)
Negative predictive value * 0.9464 (0.9317, 0.9588)
Positive likelihood ratio 0.9458 (0.7117, 1.2570)
Negative likelihood ratio 1.0317 (0.8852, 1.2025)
False T+ proportion for true D- * 0.3690 (0.3460, 0.3925)
False T- proportion for true D+ * 0.6510 (0.5452, 0.7469)
False T+ proportion for T+ * 0.9507 (0.9312, 0.9659)
False T- proportion for T- * 0.0536 (0.0412, 0.0683)
Correctly classified proportion * 0.6163 (0.5933, 0.6389)
--------------------------------------------------------------
* Exact CIs
estimative IC95 [lower upper] upper
1: apparent prevalence, P(T+) ap 0.36796000 0.34556563 0.39078830
2: (true) prevalence, P(D+) tp 0.05200000 0.04217423 0.06332554
3: sensitivity se 0.34900000 0.25306606 0.45483960
4: specificity sp 0.63100000 0.60752926 0.65401644
5: diag. accuracy diag.ac 0.61633600 0.59334718 0.63894255
6: diag. odds ratio diag.or 0.91674264 0.59184456 1.41999626
7: number needed to diag. nndx -50.00000000 -7.17336051 9.18644527
8: Youden's index youden -0.02000000 -0.13940468 0.10885603
9: pos. pred. value pv.pos 0.04932058 0.03407713 0.06875208
10: neg. pred. value pv.neg 0.94644010 0.93166919 0.95882849
11: positive LR lr.pos 0.94579946 0.71166146 1.25696931
12: negative LR lr.neg 1.03169572 0.88517556 1.20246887
13 p.rout 0.63204000 0.60921170 0.65443437
14 p.rin 0.36796000 0.34556563 0.39078830
15 p.tpdn 0.36900000 0.34598356 0.39247074
16 p.tndp 0.65100000 0.54516040 0.74693394
17 p.dntp 0.95067942 0.93124792 0.96592287
18 p.dptn 0.05355990 0.04117151 0.06833081
Sob H0 espera-se (em proporcoes):
D + D -
T + 0.019 0.349 0.368
T - 0.033 0.599 0.632
0.052 0.948
Sob H1 espera-se (em proporcoes):
D + D -
T + 0.018 0.35 0.368
T - 0.034 0.598 0.632
0.052 0.948
---------------------
Iniciando a simulacao
---------------------
Aguarde...
amostra = 1789
alfa = 0.05
iteracoes = 1000
Terminado:
alfa: 5%
OR:
mediana(OR): 0.9182957
IC95% (OR): [0.582, 1.414]
V de Cramer:
mediana(V): 0.01829067
IC95% (V): [0.001, 0.055]
TesteDiagnostico_PSA.R
Observa-se que odds ratio inclui o valor unitário (ou o ln(odds ratio) não inclui o valor zero, o que é o mesmo) e o intervalo de confiança do Índice de Youden inclui o valor zero. Com isto, os intervalos de confiança de \(PPV\) e \(NPV\) sempre incluem os valores de entrada, portanto não auxiliam em mudar a crença médica pré-exame. Adicionalmente, os intervalos de confiança de \(LR_{+}\) e \(LR_{-}\) incluem o valor 1 (caso volte ao nomograma, percebe que é um exame incapaz de mudar a probabilidade pré-teste). Ao final, o teste Qui-quadrado por bootstrapping não rejeita a hipótese nula, portanto os resultados de PSA parecem não associar-se ao câncer de próstata que pretende detectar.
Várias destas medidas são redundantes. Por exemplo,
mostrando que o Índice de Youden ser maior do que 1, \(PPV\) resultar maior que a prevalência e \(LR_{+}\) ser maior que 1 estão interligados e são critério equivalentes. Por estes critérios, portanto, o exame PSA talvez não possa ser chamado de teste diagnóstico.
O grupo Cochrane que trabalha com metanálise e busca firmar evidências, não tem encontrado apoio destes exames para a prevenção do câncer de próstata e alerta para possíveis danos que podem causar:
O grupo americano USPSTF é cauteloso, não apoia screening populacional e deixa a critério pessoal para quem tem 69 anos ou menos, ressaltando potenciais iatrogenias. Para quem tem 70 anos ou mais posicionam-se contrários:
https://www.uspreventiveservicestaskforce.org/Page/ Document/RecommendationStatementFinal/ prostate-cancer-screening1
Parece estar na contra-mão das recomendações acima um texto que começa com certezas ao afirmar que “A única forma de garantir…” ao promover o Novembro Azul no Brasil. Tendo como base o PSA que analisamos e o exame de toque retal, há risco de iatrogenia.
No entanto, o mesmo Ministério da Saúde, em seu excelente guia para o diagnóstico de HIV/AIDS, exige sensibilidade e especificidade acima de 99%: