• ベストアンサー

医学統計解析について

初めまして、統計解析の手法で分からないところがあります。ある検査の値(仮にA)から、一定以上の値なら悪性、以下なら良性となる指標を求めたいです。この場合は、2x2クロス集計表でフィッシャーの直接確率計算法でAを1回ずつ指定して計算していくしかないのでしょうか。何か他にも良い方法がありそうな気がするのですが・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.4

No.2に付けられたコメントに関してです。 > ・true positive(グラフで言うY軸)の最大値が1までいかないのは問題ないのでしょうか。  問題ないです。 $A$2:$A$1000>=A2 とやっているから、与えたデータのうちの少なくとも1個はこの条件に引っかかることになります。これが100%のところにプロットが生じない理由です。 > ・実際のROC曲線から、最も適したカットオフ値を求める手法はあるのでようか。  ROC曲線だけで決める事はできません。「最も適した」という判断の基準になる評価方法が不明だからです。  逆に、評価を計算する評価式を作りさえすれば、「その評価式の値を最大にするようなROC曲線上の点」は計算だけで決定できます。たとえば、 y = (true positiveの確率) x = (false positiveの確率) として、 F(x,y) = -A x + B y (A,B>0) という評価式を作ったとします。そうしたら、  F(x,y)=C という方程式を考えて、ROC曲線のグラフと同じグラフ上に描くと、右上がりの直線になります。この直線がROC曲線と接するところが、最大のCですから、その接点を診断の基準にすれば良いことになります。  F(x,y)が一次式でない場合には、F(x,y)=Cは曲線になりますが、話は同じ事です。  さて、 F(x,y) = -A x + B y (A,B>0) という形をとるにしても、A, Bを、検査対象者に占める有病率だとか、false positiveの場合のコストとfalse negativeの場合のコストなどから計算する方法は「どう評価するか」という思想そのものを反映するわけで、当然ながら公式というものはありません。  例えば、この検査は軽い症状を訴える人に使うスクリーニングであって、もしスクリーニングに引っかかったら診断能の高い精密検査(特殊な設備が要る。たとえばMRI検査)を行うものとしましょう。また、スクリーニングで見逃してしまっても、すぐに致命的な結果にはならない疾患が対象だとしましょう。こういう場合には、false positiveが大きいと精密検査を受ける人数が増えてしまって捌ききれませんから、精密検査用設備の稼働率が丁度100%になるように閾値を設定するのが、病院経営上の合理的判断かも知れません。  また、この検査は致命的な疾患を検出するための検査であって、もしこの検査で見逃すと近いうちに死亡したり、治療に莫大なコストが掛かる事態になるようなものである場合、たとえfalse positiveが多くなっても、true positiveを高くすることが重要です。しかし、検査を受けた全員がpositiveになってしまう検査では検査の意味がありません。(だからこの検査はしない、という判断もあり得ます。検査をするなら、)true positiveが(100-α)%であって、なおかつfalse positiveができるだけ少ないような、そういう閾値を選ぶ必要があります。αをどう設定するかが問題です。「検査で見逃したせいで大変なことになった」という事態に掛かるコスト(コストと言ってもお金だけじゃないでしょう)を勘案しなくてはなりません。

ryo1010
質問者

お礼

どうもありがとうございました。

その他の回答 (3)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.3

 Excelでやるお積もりならば、  以下では症例数が999例未満(例えば数十例とか)の場合について書いています。Excelは、数式バーが表示される状態にしておくこと。 (1) Excelのセル A1に「検査値」、B1に「診断」と書き込みます。 (2) セルA2から下に検査値のデータを、B2から下に診断(Positiveなら1, Negativeなら 0)を入力します。たとえば130行目までデータが入ったとしましょう。(つまり症例数129) (3) セルC1に「総数」と書き込みます。 (4) C2に =COUNT(A2:A1000)と入力すると、A2~A1000の中でデータが入っているセルの数、つまり総数Nが表示されるはず。 (5) セルC3に「有病数」と書き込みます。 (6) C4に =SUM(B2:B1000) と入力すると、B2~B1000の中で、診断が1であるものの個数、つまり有病数Mが表示されるはず。 (7)セルD1に「F P」(false positive)と書き込みます。 (8) D2に =SUM(IF($A$2:$A$1000>=A2,1,0)*(1-$B$2:$B$1000))/($C$2-$C$4) と入力しますが、まだEnterキーを押しては駄目。今入力した式が数式バーに表示されていますから、その式の上で一度クリックすると、式のどこかにキャレット(文字を入力する場所を示すカーソル)が表示されます。この状態で、 [CONTROL]キーを押しながら[Enter]キーを押す(Macintoshなら リンゴマークのキーを押しながら[Enter]を押す)。そうすると、自動的に式が"{ "と "}"で囲まれて表示されます。 (9) セルE1に「T P」(true positive)と書き込みます。 (10) E2に =SUM(IF($A$2:$A$51>A2,1,0)*$B$2:$B$51)/$C$4 と入力しますが、まだEnterキーを押しては駄目。(8)でやったのと同じようにして、自動的に式が"{ "と "}"で囲まれるようにします。 (11) セルD2からE130の範囲をマウスで選択し、メニューから「編集」→「フィル」→「下方向へコピー」を選択します。  これで計算は完了です。 (12) 結果をグラフにします。セルD1からE130の範囲をマウスで選択し、メニューから「挿入」→「グラフ…」を選択。グラフの形式は「散布図」で、点と点を線で結ばない形式を選びます。  以上。

ryo1010
質問者

お礼

返事遅くなり申し訳ありません。ご丁寧にどうも有り難うございました。 追加でお聞きしてもよろしいでしょうか? ・true positive(グラフで言うY軸)の最大値が1までいかないのは問題ないのでしょうか。 ・実際のROC曲線から、最も適したカットオフ値を求める手法はあるのでようか。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

ROC曲線はExcelでも、ちょっとがんばれば作れますよ。  検査の測定値を x[i], 「正しい」診断を y[i] (yは有病なら1, さもなくば0)とし、総数をN (だからi=1,2,…,N)、有病数をMとします。(有病率=M/N)  閾値をx[i]に設定したときの タテ軸の値:True Positive (つまり、x[j]≧x[i]かつy[j]=1であもの)の数 ÷ M と ヨコ軸の値:False Positive (つまり、x[j]≧[i]かつy[i]=0であもの)の数 ÷ (N-M) をi=1,2,…,Nについて計算してプロットしたのがROC曲線です。(あ、タテヨコが逆かも知れません)  もちろん、False Positiveを減らす(True Positiveを増やす)ことと、False Negativeを減らす(True Negativeを増やす)事は両立しません。縦軸のTrue Positiveの値を大きくしたければ、横軸の値を大きくしなくてはならない。つまりFalse Positiveが大きくなるような(怪しいものはPositiveとするような)閾値を使うことになる、というのがこのグラフの意味するところです。  だから、ROC曲線は検査の診断能力を測るための曲線です。  もし曲線がグラフの左上隅(0,1)にへばりついたら検査法は完璧であり、  もし(0,0)と(1,1)を結ぶ直線になったら、その検査は全く検査になっていない(さいころを投げて診断するのと同じ診断能しかない) ということです。 もちろん、現実にはその中間です。  ROC曲線はまた、閾値の「選択肢」を眺めるための曲線でもあります。  True Positiveを高める事を重視するか、あるいはFalse Positiveを減らすことを重視するかは検査の目的や疾患の性格によるわけで、その判断に基づいて曲線上の1点を選択する。  そうすれば、その点に対応する閾値 x[i]が決定します。

ryo1010
質問者

お礼

大変参考になりました。何かできそうな気がして、道が開けました。ありがとうございました。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

それはROC解析(ROC曲線)を使う場面だと思いますよ。ROC false positive などで検索すれば資料が見つかるでしょう。

ryo1010
質問者

お礼

ありがとうございます。手元のソフト(statview)ではROC解析ができないようですが、何かおすすめの統計ソフトはあるでようか?SPSSとかは可能のようですが、安価で使い勝手がいいものはないでしょうか?

関連するQ&A

  • 統計解析の方法について教えてください。

    統計解析の方法について教えてください。 2群で4項目(ノンパラのデータ)のものの出現頻度を出したいのですが、 この場合は、マンホイットニーでよいのでしょうか。 2群で2項目ではないので、フィッシャーの直接確率計算はやはり使えませんよね? どなたかご教授おねがいします。

  • 統計解析

    統計解析に関する質問です。Fisherの直接確立計算法とKurskal-wallis検定について分かりやすく説明していただける方いらっしゃいますか?自分で調べてなんとなくはわかるのですが、統計用語が難しくていまいち理解に苦しんでおります。。

  • カイ二乗検定について

    例えば、2x2クロス集計表で期待値が5以下であれば、フィッシャーの直接確率計算法を使うと思います。 2x3以上の集計表であれば、例え5以下があってもカイ二乗検定で問題ないでしょうか。 例えば、 100 3 70 30 100 3 という集計表の場合です。 宜しくお願いします。

  • 統計に無知です 教えて下さい

    私統計に全く無知で学会発表を前に困ってます お助け下さい 痛みと検査の陽性について検定したいのですが数値は      検査+  検査ー 痛み+   7     6 痛みー   8    201    です これを検定するのにフィッシャーの正確確率検定で良いのでしょうか? P=1.88-06となりました この値をどう解釈すれば良いのでしょうか?

  • 統計解析のクロスバリデーションについて

    統計解析において、クロスバリデーション法でRMSEなど算出する際、 分割数がサンプル数と等しいleave one out法であればRMSEの結果は常に同じですが そうでない場合、毎回計算結果が異なりますよね。 例えば2foldのときと3foldのときで計算結果は異なりますが、 2foldで固定した場合でもその分割の仕方をランダムにすれば当然結果はその都度異なりますが その際RMSEの値は何回か計算した場合の平均値としてよいのでしょうか? 同じ2foldでも1回目の計算ではRMSEがそれなりに小さくなるが、 2回目の計算ではかなり大きくなってしまったりすると それを平均したり、はたまた良い方の結果を採用するのは不適切ですよね? 計算結果がその都度大幅に変わってしまうときは モデルとして精度が低いということなのでしょうか。 初歩的なことですが、よろしくお願いいたします。

  • アンケート調査の簡単な統計解析手法について

    経営学修士課程の学生ですがアンケート調査の分析方法についてお教えください。具体例を参照しますが調査結果がこのような単純な表の場合、縦横比較以外(exシェア比較)に統計的手法によって他にどのようなことがいえるのでしょうか? イメージとしては、「よってグローバル経営企業においては国内本社による経営上の優位性が明らかになった」というようなことを統計解析結果によって説明したいのですが。どなたかご専門の方のアドバイスを是非よろしくお願いいたします。 表の説明は、例えば「技術革新」については、国内本社で行っている企業が52社、海外子会社で行っているのが28社、両方で行っているのが15社、回答が不明というのが5社だったような場合です。 各質問項目(縦軸)を基に出した集計結果が表の中身となり、その全体結果を見て何かを解明する際の統計解析の方法として何を使えばよいのかが分かれば有難いです。

  • 医療統計(検定で困っています);標本数の少ない場合のマクマネー検定

    臨床統計上の検定の内容で質問です。 同一患者にA,Bそれぞれの薬剤を暴露(内服)した際に出てくる有害事象(アレルギー症状など)のある、なしをA,B間の発現頻度として差がないということを帰無仮説にして検定を行いたいと思っています。取り扱う変数がカテゴリーデータであり、かつ2種類の介入によるが同一患者での変化を見ている点で対応ありと考えるとχ2乗検定ではなく、マクマネー検定が妥当と考えています。 しかし、2×2表をつくると標本数が少ないこともあり            B薬剤投与時 A薬剤投与時  発現あり 発現なし 発現あり    1    6 発現なし    0    9 のようになり、セル内の数値が極端に小さいこともあります。対応のない2群でのχ2乗検定の際にはこうした場合にはフィッシャーの直接確率検定を使用するとされています。今回の対応のある場合にも同様にフィッシャーの直接確率検定を使用してよいものでしょうか?ちなみにエクセル統計2004でマクネマー検定をすると、「フィッシャーの直接確率検定をお奨めします」という文言が出てきます。 どなたか詳しい方がいらっしゃったらお教えいただけると幸いです。

  • 統計学の質問です

    カテゴリ型データの2×2のクロス集計表が与えられた場合に、2つの変数間の関連性を測る指標として、ユールの連関係数とファイ係数を習いました。しかし、同じデータに対してこれらを計算すると、かなり異なる値がでてきました。これらは一体何が違うのでしょうか。用いるにふさわしい状況などがあれば教えてください。 回答よろしくお願いします。

  • 統計学(イェーツの補正)について

    統計ソフトを用いて独立性の検定を行っている者です。出力された数値を見ると、期待度数が5以下のセルがあります。さらに、n数が多いためフィッシャーの直接確率が出力されません。しかし、「イェーツ補正P値」は出力されます。この場合、このイェーツ補正P値で判断すればよいのですか?どなたか、宜しくお願いいたします。

  • 製品の統計について

    統計についてお伺いしたい事があります。 製品の強度規格の設定で、一定の下限値より大きければ、上限については問題がないという条件で、統計を出したいのですが、どのような統計を用いればよろしいでしょうか? 現在、標準偏差の使用を試みたのですが、うまくいきませんでした。 引っ張り強度についての条件設定を検討しておりますが、N=40で試験を行った時、150N~398Nとばらつきが存在致しました。 下限条件として150N以上という設定を行おうと考えましたが、平均値-3σの値は非常に小さくなり、平均値から逸脱した値を用いずに計算を行っても、平均値-3σの値はなかなか大きくならず、ほとんどの値を計算から省かなくてはならないという状態でした。 つきましては、どのような統計の出し方が良いのか教えて頂きたく、質問させて頂きました。 よろしくお願い致します。