カテゴリー変数の情報が、誤っている可能性があるとき。
Misclassificationと言います。当然これがあると、正確な関連性を知ることができません。
このmisclassification、validation studyを使って調整する方法があります。
調整法は超簡単。中学数学レベルです。
一度は知っておきましょう!
Contents
Misclassificationの調整法を知ろう
日本の健康診断のデータを使って、「喫煙とLDLの関係」を調べたいと思いました。
LDLは血液検査なので、値はそのまま使います。
でも喫煙については、アンケート調査です。
「今喫煙していますか?」
あのアンケート、信頼できると思いますか??
私は喫煙者でないので「いいえ」ですが、喫煙者の方が全員律儀に「はい」を選んでいるとは思えません。
そう、misclassificationがあるのです。
これを調整しないことには、本当の「喫煙とLDLの関係」はわかりません。。。
さて、この記事では、misclassificationの調整法を解説します。
ちなみに、misclassificationとは「測定誤差」を意味しますが、実は「測定誤差」には2種類あって:
・カテゴリ変数の測定誤差→misclassification
・連続変数の測定誤差→measurement error
と、一応定義されています。
まあ、実質どっちでも良いです。さて、行ってみましょう!
*上の例で、本当はLDLの測定にmeasurement errorがおきえますが、ここでは置いておきます。
Misclassificationの調整、validation studyを使う!
調整する方法、それは、Validation studyの結果を使うことです。
Validation studyとは、この健診を受けた方一人ひとりに直接「今喫煙していますか」という丁寧な確認をして、その人は本当の本当は喫煙しているかを知ること。
validation studyの人数は少なくて大丈夫です。
具体的な規模感は、
・本解析が2万人
・validation studyは200人
といったところでしょうか。
validation studyのデータがあれば
・本当は喫煙しているけど、アンケートには「いいえ」と書いた
・本当は喫煙していないけど、アンケートには「はい」と書いた
確率がわかります。
後者はだいぶ稀でしょうが。。。
ちなみにですが、
・上の確率を感度
・下の確率を特異度
と言いました。
******
では。
中学数学で、本当は何人喫煙しているのか、求めてみましょう。
アンケートに「はい」とかいた確率 (Pobs) =
本当に喫煙している確率 (P) × 感度 + 本当は喫煙していない確率 (1–P) × (1 – 特異度)
となりますよね。
感度と特異度の上の定義を読めばわかります。
これを式変形すれば、
P = {Pobs – (1 – 特異度)} ÷ {感度+特異度–1}
はい、おしまいです。
*次のように式を組み立ててしまうと、感度特異度から計算できないので注意!
本当の喫煙確率=
アンケートに「はい」とかいた確率 ×「はい」とかいて本当に喫煙している確率
+アンケートに「いいえ」とかいた確率×「いいえ」とかいたが本当は喫煙している確率
信頼区間は・・・?
これでエッセンスはおしまいなのです。
この事すら、教科書には難しそーーーに書いてあるのが実際です。
でも中学数学レベルでしたね。
信頼区間も勿論計算できます。
が、これは統計ソフトに任せます、誰しも。
というかmisclassificationの調整法も統計ソフトに任せられますが
絶対に知っておくべきなのは、「measurement errorを補正した方が信頼区間は広くなる」ということ。
不確実性を考慮しているので当然ですね。
実際の計算方法を知ることは、ほとんどの人にとって趣味のレベルです。
でも興味ある方のために、軽く触れてみます。
*中学数学ではできませんが、そんなに難しくはありません
******
主に2種類あります。
・デルタ法
・下限/上限を利用する方法
デルタ法
これが基本的なアプローチとなります。
PobsからPを求める式をf(Pobs)としたとき、
Var(P) = {f(Pobs)の微分}^2 × Var(Pobs)
というものです。近似です。
ここでいうVar()は当然、分散のことですね。
*これは近似ですが、f(Pobs)が単純な線形モデルの場合、近似ではなくなります。
上のmisclassificationの計算方法は単変量なので、linear modelですね(PとPobsの関係が)。
多変量になったとき、基本的には近似です。
下限/上限を利用する方法
これに名前がついているかは、知りません。
この方法はデルタ法より単純ですが、「f(Pobs)が増えるのみ or 減るのみの関数である時のみ」使えます。
fが単純に増える関数の時、
Pの95%信頼区間の下限:f(Pobsの下限)
Pの95%信頼区間の上限:f(Pobsの上限)
となります。
fの中身にPobsの上・下限をいれるだけ、単純です。
*単純に減る関数の時は逆です。
************
ちなみに、上2つは「本当の感度・特異度がわかっている場合のみ」使えます。
感度、特異度もサンプル値である場合、「多変量デルタ法」という方法でPの信頼区間を推定します。
*validation studyなので、普通はサンプル値のはず。
結論だけかけば、
Var(P) = {f(Pobs)のPによる微分}^2 × Var(Pobs)
+{f(Pobs)の感度による微分}^2 × Var(感度)
+{f(Pobs)の特異度による微分}^2 × Var(特異度)
となります。
当然、「本当の感度・特異度がわかっている場合のみ」より、Var(P)は大きくなる=信頼区間が広くなります。
推定しているものが多いので、当然ですね。
結論
validation studyでmisclassificationを調整する方法、それは
P = {Pobs – (1 – 特異度)} ÷ {感度+特異度–1}
ではまた。