検査後確率計算機
検査前確率0.01、感度0.9、特異度0.95の検査で陽性が出ても、疾患の確率は0.153846153846にしか上がりません。検査前確率と検査の2つの性能、結果を入力すると、更新された確率が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 検査前確率
- 0.01
- 敏感度
- 0.9
- 特異度
- 0.95
- 検査結果
- Positive
- 検査後確率
- 0.1538461538
- 尤度比
- 18
検査後確率とは、診断検査の結果が分かったあと、対象の疾患を実際に持っている見込みです。臨床医、学生、ガイドライン執筆者は、検査前確率(検査前の有病率または臨床的疑い)から始め、検査の感度と特異度を組み合わせ、陽性または陰性の結果に応じてその信念を更新します。この検査後確率計算機は、診断形式のベイズの規則でその更新を行います。陽性結果は検査前オッズに陽性尤度比を掛け、陰性結果は陰性尤度比を掛けます。
検査後確率が答える問いと更新の仕組み
診断検査は疾患があるかという問いを置き換えるのではなく、その問いを改訂します。検査の前に、あなたはすでに検査前確率を持っています。多くの場合、地域の有病率、または病歴と診察のあとの臨床的疑いです。
感度は、疾患が本当にあるときに検査が陽性となる見込みです。特異度は、疾患が本当にないときに検査が陰性となる見込みです。これら二つの作動特性と観測された結果が、信念をどれだけ動かすかを決めます。
陽性結果では、事後確率は感度×検査前確率を、同じ積に(1−特異度)×(1−検査前確率)を足した値で割ったものです。陰性結果では、分子は(1−感度)×検査前確率となり、分母の相補項は特異度×(1−検査前確率)です。同じ関係は尤度比としても現れます。
陽性尤度比は感度÷(1−特異度)、陰性尤度比は(1−感度)÷特異度です。検査前オッズは検査前確率÷(1−その確率)に等しく、対応する比を掛けて確率に戻すと同じ事後確率になります。疾患がまれなとき、精度の高いスクリーニングでも検査後の見込みが控えめなままになるのはこのためです。
偽陽性が陽性結果の集団を支配するからです。陽性的中率は、陽性結果のあとの検査後確率の特別な名前にすぎません。陰性結果のあとでは、相補量は1から陰性的中率を引いたものです。
このページは、観測したその一つの結果に対するその単一の事後確率を計算します。連続する検査を連鎖させず、ROC曲線を当てはめず、分割表から有病率を捏造しません。渡した数値のもとで観測結果の確率が0になるとき(たとえば特異度が1で、感度または検査前確率が0のときの陽性)は、事後確率は数学的に未定義であり、呼び出しはNaNを返すのではなく失敗します。
検査後確率計算機が役立つ場面
根拠に基づく医療の授業では、検査後確率計算機を使い、宣伝された精度だけでなく有病率がスクリーニング後の疾患見込みを動かすことを学習者に見せます。
検診事業のメモや抄読会では、公表された感度・特異度・地域有病率から、マンモグラフィ、トロポニン、迅速抗原の陽性後の事後確率を引用することが多く、小さな parse 端点を呼べば4つの数のために統計パッケージ一式を引き込む必要がありません。
偽陽性率だけを取り観測結果を取らない一般のベイズの定理のページや、陰性の検査を扱わない陽性的中率のページと混同しないでください。ここでの検索意図は、既知の診断結果のあとの臨床的事後確率です。要求は小さく保ち、丸めた事後確率を試験に固定すれば、宿題、LMS の拡張、縁のワーカー向けに再現可能な検査後確率が得られ、自ら記号計算基盤を立てる必要はありません。
呼び出す前に必ずパーセントを単位区間へ直し、返された尤度比を確率の横の説明として扱い、読者がオッズの倍率と最終的な疾患見込みの両方を見るようにしてください。
活用例
まれな疾患の授業例
感度90%・特異度95%の検査でも有病率が1%なら事後確率が控えめに残ることを、陽性・陰性の両方の結果について学生に示します。
試験とLMSの自動採点
0から1の外の確率を拒否し、結果が不可能なときに事後確率を捏造しない決定的な判定器で、診断ベイズの設問を採点します。
検診メモと抄読会
公表された感度・特異度・地域有病率と観測結果を、統計ライブラリなしで疾患の検査後見込みに変えます。
よくある質問
確率が0から1の外だとどうなりますか?
確率は0から1の閉区間になければならず、切り詰められることはありません。
陽性的中率とは何が違いますか?
陽性的中率は陽性結果のあとの検査後確率です。この用具は陰性結果も受け付け、事後確率 P(D|T−) を出します。1からその事後確率を引いたものが陰性的中率です。
検査前確率には何を入力しますか?
その地域での有病率や、問診と診察のあとの臨床的な疑いの強さを、0から1の数で入力します。たとえば有病率1パーセントなら0.01です。
陰性の結果は確率をどう変えますか?
検査前オッズに陰性尤度比、つまり1から感度を引いて特異度で割った値を掛けるため、ふつう確率は下がります。結果は1から陰性的中率を引いた値と同じです。
精度の高い検査でも陽性後の確率が低いのはなぜですか?
まれな病気では、陽性結果の多くが人数の多い健康な人から出るため、偽陽性が大半を占めるからです。病気がまれなほど、1回の陽性で確率はあまり上がりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"pretest_probability": 0.01,
"sensitivity": 0.9,
"specificity": 0.95,
"test_result": "positive"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.post_test_probability",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力の確率はいずれも0から1の閉区間になければならず、範囲外は静かに切り詰められるのではなくinvalid_inputで失敗します。成功したAPI呼び出しは$0.002です。
入力契約、応答の形、拒否される確率
1.5 や −0.05 のような確率は切り詰められず拒否されるため、100で割られなかったパーセントが静かに無意味な事後確率になることはありません。古典的な確認:検査前確率 0.01、感度 0.9、特異度 0.95、陽性結果では検査後確率は約 0.154 になり、感度90%・特異度95%のスクリーニングでも有病率1%を15%前後にしか押し上げない、という授業の警告です。検証の失敗は課金されません。無料のブラウザ用具は同じ同型の solve 関数を実行するため、手元で通る例は本番の算術と正確に一致します。必須の4フィールドを持つJSON本体を送ってください。フィールド pretest_probability は0から1の閉区間にある疾患の検査前見込みです。別名 pre_test_probability、pretest、prevalence、prior、p を受け付けます。フィールド sensitivity は同じ区間の真陽性率で、別名 sens、true_positive_rate、tpr が対応します。フィールド specificity は真陰性率で、別名 spec、true_negative_rate、tnr は互換です。フィールド test_result は列挙値 positive または negative でなければならず、別名 result と outcome、および pos、neg、plus、minus といった教室用の短縮も受け付けます。各確率はJSONの数値としても、小さな有病率向けの指数表記を含む整えた十進文字列としても届きます。欠落フィールド、空文字列、有限でない値、単位区間の外の数は、フィールド名を示す invalid_input で失敗します。成功時、本体は正規化した3つの確率と正規の test_result を返し、安定した goldens のために12桁に丸めた post_test_probability を返し、比が有限なときは likelihood_ratio を含め、診断ベイズの恒等式を formula に再掲します。料金は成功した要求1件あたり定額の $0.002、単位は item です。
検査後確率計算機が役立つ場面
学習支援の場と試験生成器には、90と打ったパーセントを 0.9 の代わりとして invalid_input と判定し、どの確率空間にも実現できない事後確率を黙って返さない決定的な判定器が必要です。実装は parse のレベル A のため、成功した呼び出しは毎回公表の $0.002 であり、モデルのトークンも外向きの通信もありません。
技術的な質問
検査後確率計算機はどの式を使いますか。
陽性結果では P(D|T+) = (sensitivity × pretest) / (sensitivity × pretest + (1 − specificity) × (1 − pretest)) です。陰性結果では相補の恒等式が (1 − sensitivity) と specificity を使います。同じ数値が検査前オッズの尤度比更新です。
応答の尤度比とは何ですか。
陽性結果のあとは sensitivity / (1 − specificity)、陰性結果のあとは (1 − sensitivity) / specificity です。比が無限になるときはフィールドを省略し、JSON が有限のままになるようにします。
検査後確率計算機の料金はいくらですか。
ブラウザ用具は無料で手元で動きます。API呼び出しは成功した要求ごとに $0.002 の前払い KIT 残高を使い、失敗した作業は課金されません。