Primeiro, deixe-me dizer que eu tinha um curso de estatística na escola de engenharia há 38 anos. Então, eu estou voando cego aqui.
Eu tenho os resultados do que são essencialmente 18 testes de diagnóstico separados para uma doença. Cada teste é binário - sim / não, sem limite que pode ser ajustado para "ajustar" o teste. Para cada teste, tenho dados que são ostensivamente válidos em verdadeiros / falsos positivos / negativos quando comparados ao "padrão ouro", produzindo números de especificidade e sensibilidade (e qualquer outra coisa que você possa derivar desses dados).
Obviamente, nenhum teste isolado tem especificidade / sensibilidade suficiente para ser usado sozinho, e quando você "observa" os resultados de todos os testes, muitas vezes não há uma tendência óbvia.
Gostaria de saber qual é a melhor maneira de combinar esses números de uma maneira que produzirá uma pontuação final que é (espero) mais confiável do que qualquer teste único. Até agora, inventei a técnica de combinar as especificidades dos testes TRUE usando
spec_combined = 1 - (1 - spec_1) * (1 - spec_2) * ... (1 - spec_N)
e combinando sensibilidades dos testes FALSE da mesma maneira. A proporção
(1 - sens_combined) / (1 - spec_combined)
então parece produzir uma "pontuação final" razoavelmente boa, com um valor acima de 10 ou mais, sendo um VERDADEIRO confiável e um valor abaixo de 0,1 ou mais, sendo um FALSO confiável.
Mas esse esquema carece de rigor verdadeiro e, para algumas combinações de resultados de testes, parece produzir uma resposta que é contra-intuitiva.
Existe uma maneira melhor de combinar os resultados de vários testes, dadas suas especificidades e sensibilidades? (Alguns testes têm uma especificidade de 85 e sensibilidade de 15, outros são exatamente o oposto.)
OK, minha cabeça dói!
Digamos que eu tenha os testes 1-4 com sensibilidades / especificidades (em%):
- 65/50
- 25/70
- 30/60
- 85/35
Os testes 1 e 2 são positivos, 3 e 4 negativos.
A probabilidade putativa de que 1 é um falso positivo seria (1 - 0,5) e, para 2 (1 - 0,7), então a probabilidade de ambos serem falsos positivos seria de 0,5 x 0,3 = 0,15.
A probabilidade putativa de que 3 e 4 são falsos negativos seria (1 - 0,3) e (1 - 0,85) ou 0,7 x 0,15 = 0,105.
No momento, ignoraremos o fato de que os números não somam.
Mas as probabilidades presumidas de que 1 e 2 são verdadeiros positivos são 0,65 e 0,25 = 0,1625, enquanto as probabilidades presumidas de que 3 e 4 são verdadeiros negativos são 0,6 e 0,35 = 0,21.
Agora podemos fazer duas perguntas:
- Por que os números não somam (ou chegam perto). (Os números de sensibilidade / especificação que usei são da "vida real".)
- Como devo decidir qual hipótese é (provavelmente) verdadeira (neste exemplo, parece ser "negativa" para ambos os cálculos, mas não tenho certeza de que sempre é esse o caso) e o que posso usar para uma "figura de mérito" "decidir se o resultado é" significativo "?
Mais informações
Esta é uma tentativa de refinar e estender um esquema de "ponderação" existente que é inteiramente "artístico" por natureza (isto é, apenas retirado do a ** de alguém). O esquema atual está basicamente na linha de "Se dois dos três primeiros forem positivos, e se dois dos quatro próximos e qualquer um dos próximos dois, então assumiremos positivo". (Esse é um exemplo um tanto simplificado, é claro.) As estatísticas disponíveis não suportam esse esquema de ponderação - mesmo com um algoritmo bruto de ponderação baseado nas estatísticas medidas, encontro respostas significativamente diferentes. Mas, na falta de uma maneira rigorosa de avaliar as estatísticas, não tenho credibilidade.
Além disso, o esquema atual decide apenas positivo / negativo, e eu preciso criar um caso "ambíguo" (estatisticamente válido) no meio, para que seja necessária alguma figura de mérito.
Mais recentes
Eu implementei um algoritmo de inferência bayesiano mais ou menos "puro" e, depois de dar voltas e voltas em várias questões paralelas, parece estar funcionando muito bem. Em vez de trabalhar com especificidades e sensibilidades, derivo as entradas da fórmula diretamente dos números positivos / falsos positivos verdadeiros. Infelizmente, isso significa que não posso usar alguns dados de melhor qualidade que não são apresentados de uma maneira que permita a extração desses números, mas o algoritmo é muito mais limpo, permite a modificação das entradas com muito menos cálculo manual, e parece bastante estável e os resultados correspondem "intuição" razoavelmente bem.
Também inventei um "algoritmo" (no sentido puramente de programação) para lidar com as interações entre observações interdependentes. Basicamente, ao invés de procurar uma fórmula abrangente, em vez disso, mantenho para cada observação um multiplicador de probabilidade marginal modificado à medida que as observações anteriores são processadas, com base em uma tabela simples - "Se a observação A for verdadeira, modifique a probabilidade marginal da observação B por um fator de 1,2 ", por exemplo. Não é elegante, por qualquer meio, mas pode ser reparado, e parece ser razoavelmente estável em uma variedade de entradas.
(Atribuirei a recompensa ao que julgo ter sido a postagem mais útil em algumas horas; portanto, se alguém quiser dar uma lambidinha, participe.)