Calcolatore di probabilità post-test
Con una probabilità pre-test di 0,01, un esito positivo a un esame con sensibilità 0,9 e specificità 0,95 porta la probabilità di malattia solo a 0,153846153846. Inserisca la probabilità pre-test, i due dati dell'esame e l'esito per vedere il valore aggiornato. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Probabilità pre-test
- 0,01
- Sensibilità
- 0,9
- Specificità
- 0,95
- Risultato del test
- Positive
- Probabilità post-test
- 0,1538461538
- Rapporto di verosimiglianza
- 18
La probabilità post-test è la chance che una persona abbia davvero la malattia obiettivo una volta noto l'esito di un esame diagnostico. I clinici, gli studenti e gli autori di linee guida partono da una probabilità pre-test — la prevalenza o il sospetto clinico prima del saggio — e la combinano con la sensibilità e la specificità del test per aggiornare quella convinzione di fronte a un esito positivo o negativo. Questo calcolatore esegue tale aggiornamento con la regola di Bayes nella forma diagnostica: un esito positivo moltiplica le quote pre-test per il rapporto di verosimiglianza positivo, e un esito negativo le moltiplica per il rapporto di verosimiglianza negativo.
A che cosa risponde la probabilità post-test e come avviene l'aggiornamento
Un esame diagnostico non sostituisce la domanda se la malattia è presente; la rivede. Prima del saggio Lei detiene già una probabilità pre-test, spesso la prevalenza locale o un sospetto clinico dopo anamnesi ed esame obiettivo. La sensibilità è la chance che il test sia positivo quando la malattia è davvero presente.
La specificità è la chance che sia negativo quando la malattia è davvero assente. Quelle due caratteristiche operative, insieme all'esito osservato, determinano quanto la convinzione debba spostarsi. Per un esito positivo il posteriore è la sensibilità per la probabilità pre-test, divisa per lo stesso prodotto più uno meno la specificità per uno meno la probabilità pre-test.
Per un esito negativo il numeratore diventa uno meno la sensibilità per la probabilità pre-test, e il termine complementare del denominatore è la specificità per uno meno la probabilità pre-test. Le stesse identità appaiono come rapporti di verosimiglianza: quello positivo è la sensibilità su uno meno la specificità, e quello negativo è uno meno la sensibilità su la specificità. Le quote pre-test equivalgono alla probabilità pre-test su uno meno tale probabilità; moltiplicarle per il rapporto corrispondente e riconvertirle in probabilità produce lo stesso posteriore.
Ecco perché uno screening molto accurato può lasciare comunque una chance post-test modesta quando la malattia è rara: i falsi positivi dominano l'insieme dei risultati positivi. Il valore predittivo positivo è semplicemente il nome speciale della probabilità post-test dopo un esito positivo; dopo uno negativo, la quantità complementare è uno meno il valore predittivo negativo. Questa pagina calcola quel singolo posteriore per l'esito che Lei ha osservato.
Non concatena test sequenziali, non adatta curve ROC e non inventa una prevalenza da una tavola di contingenza. Quando l'esito osservato ha probabilità zero sotto i numeri che Lei ha inviato — per esempio un positivo quando la specificità è uno e la sensibilità o la probabilità pre-test è zero — il posteriore è matematicamente indefinito e la chiamata fallisce invece di restituire NaN.
Casi d'uso
Esempi d'aula su malattie rare
Mostri agli studenti come un test con 90% di sensibilità e 95% di specificità lasci comunque un posteriore modesto quando la prevalenza è 1%, sia per un esito positivo sia per uno negativo.
Valutazione automatica di esami e LMS
Valuti voci di Bayes diagnostico con un oracolo deterministico che respinge qualsiasi probabilità fuori da 0 a 1 e non inventa mai un posteriore quando l'esito è impossibile.
Note di screening e club di lettura
Trasformi la sensibilità, la specificità e la prevalenza locale pubblicate più l'esito osservato in una chance post-test di malattia senza una libreria statistica.
Domande frequenti
Quale formula usa il calcolatore di probabilità post-test?
Gli stessi numeri sono l'aggiornamento per rapporto di verosimiglianza delle quote pre-test.
Che succede se una probabilità è fuori da 0 a 1?
Le probabilità devono stare nell'intervallo chiuso da zero a uno; non vengono mai compresse.
In che cosa differisce dal valore predittivo positivo?
Il valore predittivo positivo è la probabilità post-test dopo un esito positivo. Questo strumento accetta anche un esito negativo, che produce il posteriore P(D|T−). Uno meno quel posteriore è il valore predittivo negativo.
Quanto costa il calcolatore di probabilità post-test?
Lo strumento del browser è gratuito e viene eseguito in locale.
Quale probabilità pre-test devo inserire?
La prevalenza locale della malattia o il sospetto clinico dopo anamnesi ed esame obiettivo, scritto come numero tra 0 e 1. Una prevalenza dell'1%, per esempio, si inserisce come 0,01.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/stat/post-test-probability \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pretest_probability":0.01,"sensitivity":0.9,"specificity":0.95,"test_result":"positive"}'const res = await fetch("https://api.kit.forhosting.com/stat/post-test-probability", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pretest_probability": 0.01,
"sensitivity": 0.9,
"specificity": 0.95,
"test_result": "positive"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/post-test-probability",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pretest_probability": 0.01,
"sensitivity": 0.9,
"specificity": 0.95,
"test_result": "positive"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/post-test-probability", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pretest_probability":0.01,"sensitivity":0.9,"specificity":0.95,"test_result":"positive"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pretest_probability":0.01,"sensitivity":0.9,"specificity":0.95,"test_result":"positive"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/post-test-probability", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"pretest_probability": 0.01,
"sensitivity": 0.9,
"specificity": 0.95,
"test_result": "positive"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.post_test_probability",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Ogni probabilità di ingresso deve stare nell'intervallo chiuso da zero a uno; i valori fuori da tale fascia falliscono con invalid_input invece di essere compressi in silenzio. Le chiamate API riuscite costano $0.002.
Contratto di ingresso, forma della risposta e probabilità respinte
Controllo classico: probabilità pre-test 0.01, sensibilità 0.9, specificità 0.95 e un esito positivo producono una probabilità post-test di circa 0.154, l'avvertimento d'aula secondo cui uno screening con 90% di sensibilità e 95% di specificità solleva a stento una prevalenza dell'1% verso il 15%. La convalida fallita non viene fatturata. Invii un corpo JSON con quattro campi obbligatori. Il campo pretest_probability è la chance pre-test di malattia nell'intervallo chiuso da zero a uno; sono accettati gli alias pre_test_probability, pretest, prevalence, prior e p. Il campo sensitivity è il tasso di veri positivi nello stesso intervallo; gli alias sens, true_positive_rate e tpr vi corrispondono. Il campo specificity è il tasso di veri negativi; gli alias spec, true_negative_rate e tnr funzionano in modo intercambiabile. Il campo test_result deve essere il valore di enumerazione positive o negative; sono accettati gli alias result e outcome, nonché alcune scorciatoie d'aula come pos, neg, plus e minus. Ogni probabilità può arrivare come numero JSON o come stringa decimale ritagliata, notazione scientifica compresa per prevalenze minuscole. Campi assenti, stringhe vuote, valori non finiti e qualsiasi numero fuori dall'intervallo unitario falliscono con invalid_input nominando il campo: una probabilità di 1.5 o di −0.05 viene respinta invece di essere compressa, così una percentuale mai divisa per cento non può diventare in silenzio un posteriore insensato. In caso di successo il corpo ripete le tre probabilità normalizzate e il test_result canonico, restituisce post_test_probability arrotondato a dodici decimali per goldens stabili, include likelihood_ratio quando quel rapporto è finito e riformula l'identità diagnostica di Bayes in formula. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item.
Dove un calcolatore di probabilità post-test giustifica il proprio posto
I corsi di medicina basata sulle prove usano un calcolatore di probabilità post-test perché chi impara veda come la prevalenza, e non solo l'accuratezza dichiarata, guida la chance di malattia dopo uno screening. Non confonda questa pagina con una di teorema di Bayes generale che accetta un tasso di falsi positivi e nessun esito osservato, né con una di valore predittivo positivo che non tratta mai un saggio negativo: qui l'intento di ricerca è il posteriore clinico dopo un esito diagnostico noto. Tenga le richieste piccole, fissi il posteriore arrotondato nei test e otterrà probabilità post-test riproducibili per i compiti, i plugin LMS e i worker di bordo senza erigere un'infrastruttura di algebra simbolica propria. Converta sempre le percentuali nell'intervallo unitario prima di chiamare, e tratti il rapporto di verosimiglianza restituito come didascalia accanto alla probabilità così il lettore vede il moltiplicatore delle quote e la chance finale di malattia. Le piattaforme di tutoraggio e i generatori di esami hanno bisogno di un oracolo deterministico che segni come invalid_input una percentuale digitata come novanta invece di 0.9, invece di restituire in silenzio un posteriore che nessuno spazio di probabilità può realizzare. Le note dei programmi di screening e i club di lettura citano spesso il posteriore dopo una mammografia, una troponina o un antigene rapido positivi a partire da sensibilità, specificità e prevalenza locale pubblicate; chiamare un piccolo endpoint parse evita di trascinare un pacchetto statistico completo per quattro numeri. Poiché l'implementazione è parse di livello A, ogni chiamata riuscita costa il $0.002 pubblicato, senza token di modello e senza rete in uscita.
Domande tecniche
Che cos'è il rapporto di verosimiglianza nella risposta?
Dopo un esito positivo vale sensitivity / (1 − specificity). Dopo un esito negativo vale (1 − sensitivity) / specificity. Il campo è omesso quando il rapporto sarebbe infinito, così il JSON resta finito.