定量検査の診断への正確度の評価(ROC曲線)
解説
ROC曲線 (Receiver Operating Characteristic curve) は、医療テストやその他のシステムにおける性能評価を視覚的に表現するものです。 診断目的の検査における、検査の感度と特異度を可視化することで、そのパフォーマンスを評価することができます。
感度・特異度・偽陽性・偽陰性
- 真陽性 (True Positive: TP): 病気と診断され、実際に病気であるケース
- 偽陽性 (False Positive: FP): 病気と診断され、実際には病気でないケース
- 真陰性 (True Negative: TN): 病気でないと診断され、実際に病気でないケース
- 偽陰性 (False Negative: FN): 病気でないと診断され、実際には病気であるケース
以下の指標がROC曲線作成に用いられます。
- 感度 (Sensitivity): 実際に病気の人を、テストがどれだけ正しく病気と診断できるか
\[感度 (Sensitivity) = \frac{TP}{TP + FN}\]
- 特異度 (Specificity): 実際に病気でない人を、テストがどれだけ正しく病気でないと診断できるか
\[特異度 (Specificity) = \frac{TN}{TN + FP}\]
ROC曲線の特徴と読み方
- ROC曲線は、横軸に特異度、縦軸に感度を配置します。
- カーブが左上隅に近いほどテストの精度が高いとされます。
- カーブ下の面積を AUC (Area Under the Curve) と呼び、0.5から1の範囲をとります。AUCが1に近いほどテストの精度が高いとされます。
閾値について
検査において、閾値 (それ以上であれば陽性とする値) を調整することで、感度と特異度は変化し、それぞれのポイントがROC曲線上の一点を形成します。
例えば、血液検査で特定のマーカーの量が6以上で「陽性」とするか、8以上で「陽性」とするかで、感度と特異度は変わります。
{{title}}
{{title}}
{{ item.full }}
{{title}}
{{group}}
{{title || 'カラム選択'}}
{{title || 'カラム選択'}}
{{ title }} カテゴリー変数を選択してください。複数選択すると組み合わされます
...(選択肢が多すぎます)
それぞれに設定する値を入力してください。異なる分類に同じ値を設定することもできます。順位の数値を入れれば、順序カテゴリカル変数として扱えるようになります。
分類内容 | 値 | |
{{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
新しい列 (カラム) 名:
ここで設定した値に完全一致するデータを欠損値として扱います。
新しい列 (カラム) 名:
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
計算結果プレビュー:
新しい列 (カラム) 名:
チェックされた行が削除対象となります
削除対象の行
データ入力
{{ errorMessage || dataStatus + 'です'}}
設定とオプション
R の出力結果
R出力図形
AI による R 出力結果の解説
変換設定:
(
変換元の単位:
変換先の単位:
)
変換結果プレビュー:
新しい列 (カラム) 名:
計算式の入力:
数式:
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2)
, "体重" / ("身長" * "身長")
利用可能なカラム:
{{ column }}
変換結果プレビュー:
{{ errorMessage }}
新しい列 (カラム) 名:
区切り文字の選択:
欠損値の処理:
プレビュー:
{{ preview }}
新しい列 (カラム) 名:
確認
変換結果プレビュー:
新しい列 (カラム) 名:
{{title}}
データがありません
{{title}}
...(選択肢が多すぎます)
{{filteringText}}
データ
設定
...(候補が多すぎます)
結果
表示設定
陽性の判定基準:
線の太さ:
閾値シミュレーション
{{groupName}}
クラウド R 分析
各検査法に対する AUC (曲線下面積; Area Under the Curve), 閾値の評価