En primer lugar, permítanme decir que tuve un curso de estadísticas en la escuela de ingeniería hace 38 años. Así que estoy volando a ciegas aquí.
Tengo los resultados de lo que son esencialmente 18 pruebas de diagnóstico separadas para una enfermedad. Cada prueba es binaria: sí / no, sin umbral que se pueda ajustar para "ajustar" la prueba. Para cada prueba tengo lo que son datos ostensiblemente válidos sobre verdaderos / falsos positivos / negativos en comparación con el "estándar de oro", produciendo números de especificidad y sensibilidad (y cualquier otra cosa que pueda derivar de esos datos).
Por supuesto, ninguna prueba individual tiene suficiente especificidad / sensibilidad para usarse sola, y cuando se "observa" los resultados de todas las pruebas, con frecuencia no hay una tendencia obvia.
Me pregunto cuál es la mejor manera de combinar estos números de una manera que produzca un puntaje final que sea (con suerte) más confiable que cualquier prueba individual. Hasta ahora se me ocurrió la técnica de combinar las especificidades de las pruebas VERDADERAS utilizando
spec_combined = 1 - (1 - spec_1) * (1 - spec_2) * ... (1 - spec_N)
y combinando sensibilidades de las pruebas FALSAS de la misma manera. El radio
(1 - sens_combined) / (1 - spec_combined)
luego parece producir un "puntaje final" razonablemente bueno, con un valor superior a 10 más o menos como un VERDADERO confiable y un valor inferior a 0,1 o más como un FALSO confiable.
Pero este esquema carece de rigor verdadero, y para algunas combinaciones de resultados de la prueba parece producir una respuesta que es contra-intuitiva.
¿Existe una mejor manera de combinar los resultados de las pruebas múltiples, dadas sus especificidades y sensibilidades? (Algunas pruebas tienen una especificidad de 85 y una sensibilidad de 15, otras pruebas son todo lo contrario).
OK, me duele la cabeza!
Digamos que tengo pruebas 1-4 con sensibilidades / especificidades (en%):
- 65/50
- 25/70
- 30/60
- 85/35
Las pruebas 1 y 2 son positivas, 3 y 4 negativas.
La probabilidad putativa de que 1 sea un falso positivo sería (1 - 0.5), y para 2 (1 - 0.7), por lo que la probabilidad de que ambos sean falsos positivos sería 0.5 x 0.3 = 0.15.
La probabilidad de que 3 y 4 sean falsos negativos sería (1 - 0.3) y (1 - 0.85) o 0.7 x 0.15 = 0.105.
(Ignoraremos por el momento el hecho de que los números no suman).
Pero las presuntas probabilidades de que 1 y 2 sean verdaderos positivos son 0.65 y 0.25 = 0.1625, mientras que las presuntas probabilidades de que 3 y 4 sean verdaderos negativos son 0.6 y 0.35 = 0.21.
Ahora podemos hacer dos preguntas:
- ¿Por qué no se suman los números (o incluso se acercan) (Los números sens / spec que utilicé son de "vida real").
- ¿Cómo debo decidir qué hipótesis es (muy probablemente) verdadera (en este ejemplo parece ser "negativa" para ambos cálculos, pero no estoy seguro de que sea siempre el caso), y qué puedo usar para una "figura de mérito" "para decidir si el resultado es" significativo "?
Más información
Este es un intento de refinar y extender un esquema existente de "ponderación" que es completamente "artístico" en su naturaleza (es decir, que acaba de salir de una persona **). El esquema actual se basa básicamente en las líneas de "Si dos de los primeros tres son positivos, y si dos de los siguientes cuatro, y cualquiera de los siguientes dos, asumen que son positivos". (Es un ejemplo un tanto simplificado, por supuesto). Las estadísticas disponibles no son compatibles con ese esquema de ponderación, incluso con un algoritmo de ponderación crudo basado en las estadísticas medidas, se me ocurren respuestas significativamente diferentes. Pero, a falta de una forma rigurosa de evaluar las estadísticas, no tengo credibilidad.
Además, el esquema actual solo decide positivo / negativo, y necesito crear un caso "ambiguo" (estadísticamente válido) en el medio, por lo que se necesita alguna figura de mérito.
Último
He implementado un algoritmo de inferencia bayesiano más o menos "puro" y, después de dar vueltas y vueltas en varios aspectos secundarios, parece estar funcionando bastante bien. En lugar de trabajar a partir de especificidades y sensibilidades, deduzco las entradas de la fórmula directamente de los números positivos verdaderos / falsos positivos. Desafortunadamente, esto significa que no puedo usar algunos de los datos de mejor calidad que no se presentan de una manera que permita extraer estos números, pero el algoritmo es mucho más limpio, permite la modificación de las entradas con mucho menos cálculo manual, y parece bastante estable y los resultados coinciden bastante bien con la "intuición".
También se me ocurrió un "algoritmo" (en el sentido puramente de programación) para manejar las interacciones entre observaciones interdependientes. Básicamente, en lugar de buscar una fórmula de barrido, en cambio mantengo para cada observación un multiplicador de probabilidad marginal que se modifica a medida que se procesan las observaciones anteriores, basado en una tabla simple: "Si la observación A es verdadera, modifique la probabilidad marginal de la observación B por un factor de 1.2 ", ej. No es elegante, de ninguna manera, pero es útil, y parece ser razonablemente estable en un rango de entradas.
(Otorgaré la recompensa por lo que considero que ha sido la publicación más útil en unas pocas horas, así que si alguien quiere obtener algunos lamidos, háganlo).