AIと始める臨床研究 その1: DeepResearchで臨床疑問→統計解析手法の調査

「臨床疑問に対して、どのように統計解析すればいいかわからない」と悩んだ経験はありませんか?

そんな時はもちろん、身近な生物統計家の方に相談するのが一番です。しかし、気軽に相談できる専門家が身近にいるのはかなり恵まれている方だけでしょう。

もし、AIに質問して解決することができたら、臨床研究を遂行するための大きなハードルを下げることができます。

そこで今回は、AIに臨床疑問を与えて、適切な統計手法を答えてくれるか実験してみます。

具体的には、ChatGPT版Deep Researchと、Perplexity版Deep Researchに全く同じ臨床疑問を投げかけてみて、

  • 解析に必要なデータセットの形式
  • 適切な統計解析手法
  • 解析に用いるRコード


の回答結果を比較して評価してみます。

Deep Researchとは

Deep Researchとは、AIが指示した内容について検索を行い詳細なレポートを作成してくれる機能です。

実装された直後の現時点で、そのリサーチ力は従来のAIによるウェブ検索機能とは比較にならないと瞬く間にネット上で話題になっています。

そこで今回、臨床研究者の大きなハードルである統計解析について、コンサルタントとして実用可能性を検証しようと考えたわけです。

Deep Researchの価格

2025年2月時点でのChatGPT版とPerplexity版のDeep Researchの価格は下記の通りです。

サービス プラン 料金 利用制限
ChatGPT Plus 月額20ドル 月10回まで
Pro 月額200ドル 月100回まで
Perplexity 無料プラン 無料 1日5回まで
有料プラン 月額20ドル 1日500回まで

実験開始!

<仮想の研究課題>

リハビリ介入の継続期間によるADL維持効果

  • 研究デザイン: 後ろ向き観察研究
  • 研究デザインのPICO:
    • Patients: 脳卒中後の患者
    • Exposure: リハビリ介入を4週間以上実施した患者
    • Comparison: リハビリ介入を4週間未満で終了した患者
    • Outcome: ADL低下イベントまでの期間

1. 調査の目的
  • 臨床研究の統計解析をRで実践したい。
2. 明らかにすべきこと
  • 臨床疑問に対する適切な統計手法。
  • 解析に必要なCSVファイルの形式。
  • 解析に用いるRコード。
3. 臨床疑問
  • 「リハビリ介入の継続期間によるADL維持効果」
4. 研究デザイン
  • 後ろ向き観察研究

研究デザインのPICO:

  • Patients: 脳卒中後の患者
  • Exposure: リハビリ介入を4週間以上実施した患者
  • Comparison: リハビリ介入を4週間未満で終了した患者
  • Outcome: ADL低下イベントまでの期間
6. 情報源
  • 論文
  • ウェブサイト (特に、Rコードが紹介されているチュートリアルサイト)
  • 除外するキーワード: 指定なし
7. 出力形式

複数の統計手法を提示してください。下記のフォーマットに沿って回答してください。

[推奨される統計手法1]
  • 統計手法の詳細
  • Rコード
  • 統計手法の前提となる仮定や適用する際の注意点
  • 必要なCSVファイルの形式
  • この手法を用いた臨床研究論文
  • 論文で引用すべき文献
[推奨される統計手法2]
  • 統計手法の詳細
  • Rコード
  • 統計手法の前提となる仮定や適用する際の注意点
  • 必要なCSVファイルの形式
  • この手法を用いた臨床研究論文
  • 論文で引用すべき文献

Note: 最終レポートは日本語で出力してください。

AIへの指示内容の詳細は↑のトグルボックスをクリックしてください。

なお、Perplexity版Deep Researchは、日本語で指示すると日本語の文献を引用する傾向があります。そのため、Perplexityに寄り添う形でGemini 2.0 Pro Experimental 02-05で英訳したプロンプトを使用しています。

この課題のポイントは、単純にリハビリ介入を4週間以上実施した患者と4週間未満で終了した患者を比較すると、リハビリ≥4週間群が有利になるimmortal time biasが生じるという点です。immortal time biasの詳細についてはこちらの記事をご覧ください。


実験結果の確認

ここからは、AIからの回答はこのような黒背景に白字で示します。

ChatGPT版Deep Researchの回答

ChatGPT版Deep Researchでは、指示を送ったあと、すぐに下記のような逆質問が返ってきました。

  • データセットのサンプルサイズ(もし分かれば)
  • ADL低下の打ち切り状況(例えば、右側打ち切りですか?)
  • パラメトリック、セミパラメトリック、ノンパラメトリック生存分析のいずれの方法をご希望ですか?
  • 時間依存性共変量をモデルに含める必要がありますか?
  • Rで使用したい特定の統計ソフトウェアパッケージはありますか(例えば、survival、survminer、tidyverse)?

この逆質問に対しては、「時間依存性共変量を使用したパターンと、使用しないパターンの両方を提示してください」とだけ返答しました。

承知いたしました!脳卒中患者におけるリハビリテーション期間がADL維持に与える影響を評価するための、Rを用いた包括的な統計分析計画を作成します。これには以下が含まれます。

  • 時間依存性共変量を使用しない統計手法(例:Kaplan-Meier生存分析、Cox比例ハザードモデル)
  • 時間依存性共変量を組み込んだ統計手法(例:拡張Coxモデル、Joint Modelingアプローチ)

各手法について、以下を提供します。

  • 詳細な説明
  • 実装のためのRコード
  • 仮定と必要な注意事項
  • 必要なCSV形式
  • これらの手法を適用した臨床研究
  • 関連参考文献

最終報告書は日本語で提示します。調査完了後、改めてご連絡いたします。

出力されたレポートはこちらです。

レポート完成までの時間は、ChatGPT版が約7分でした。

レポートの要点

  • 方法1: 時間依存共変量を含まない生存時間解析
  • 方法2: 時間依存共変量を組み込んだ解析
方法1についての解説

グループ分類のバイアス: 重要な留意点として、方法1では曝露(リハビリ期間4週間以上/未満)を固定したカテゴリとして解析しましたが、この分類は実際には追跡中の出来事(リハビリを継続できた期間)によって決定される点に注意が必要です。
例えば、リハビリを4週間続けられず早期に中止した患者は、おそらく病状が重かったりADL低下が早かった可能性があります。
一方、4週間以上リハビリを継続できた患者は、その4週間の間は少なくとも重大なADL低下が起きなかった「不死期間(immortal time)」を持つとも言えます。
このように曝露を追跡中の情報で事後分類すると、生存バイアス(Immortal Time Bias)が生じ、長期リハ群の方が有利に見える偏りが生まれます。

方法1の結果を解釈する際はこの点を踏まえる必要があります。
もし方法1で「長期リハ群の方がADL維持期間が有意に長い」という結果が得られたとしても、それが真の因果効果なのか、単に健康状態が良好な人ほどリハビリを長く受けられた結果なのかを慎重に判断しなければなりません。
このバイアスを克服する手法として、次に述べる時間依存共変量を用いた解析(方法2)を用いることが推奨されます。

単純な生存時間解析を適用した方法1では、immortal time biasの問題が生じることについてしっかり言及されています。

方法2についての解説

方法2では、immortal time biasへの対処として、時間依存性Cox回帰が提案されています。

時間依存性Cox回帰は、New England Journal of Medicineに掲載されたこちらの論文でもimmortal time biasへの対処として使用されています。immortal time biasに対してはランドマーク解析と並んで頻用される手法です。

時間依存共変量の定義: フォローアップ開始時点では全員がrehab_long=0(「まだ4週リハを達成していない」状態)とします。
追跡中にリハビリ継続日数が28日(4週間)に達した患者は、その時点以降rehab_long=1(「4週間以上リハを受けている」状態)に切り替わります。
一方、リハビリを4週間未満で終了した患者は、追跡期間を通じてrehab_long=0のままとします。このように、各患者が時間とともに曝露状態0→1に変化し得るモデルとします。
これにより、追跡開始から4週に達するまでは全患者が平等に比較され、4週目以降は「長期リハ群」に移行できた人だけが1とマークされます。
早期にイベントが起きた患者はその時点まで常に0のままですので、方法1で問題となった不死期間バイアスが是正されます。

上記のコードでは、28日で全体のフォローを区切り、segmentという区間識別変数が付きます
。rehab_weeks>=4かつ第2区間のデータに対してrehab_long=1を設定しています。それ以外は0のままです。
最後に、Surv(start, stop, event)を使って時間区間データに対応したCoxモデルを適用しています。
こうすることで、4週以降にリハビリを続けていることの効果を時間依存的に評価できます。

方法2で提案されたRコード

# 元のデータ: data(方法1と同様のフォーマット)
library(survival)
# フォローアップを日単位で扱っているとして、カットポイント28日(4週)でデータ分割
data_td <- survSplit(
  Surv(time, event) ~ ., data = data,
  cut = 28,    # 28日で区間分割
  start = "start", end = "stop", event = "event", episode = "segment", id = "id"
)
# survSplitにより:
#  - start: 区間開始時刻 (0または28)
#  - stop: 区間終了時刻 (28または元のtime)
#  - event: 各区間のイベント指標(最終区間にイベントがあれば1、それ以外0)
#  - segment: 区間番号(1=開始〜28日, 2=28日〜終了)

# 時間依存共変量rehab_longの付与
data_td$rehab_long <- 0
# リハビリ期間が4週以上の患者の、区間2(28日以降)に対して1を付与
data_td$rehab_long[data_td$segment == 2 & data_td$rehab_weeks >= 4] <- 1

# 時間依存Coxモデルの推定(必要に応じて共変量追加)
cox_td_fit <- coxph(Surv(start, stop, event) ~ rehab_long + age + sex, data = data_td)
summary(cox_td_fit)

時間依存性Cox回帰のために必要なデータ形式についても詳細に説明されています。

データフォーマット: CSVデータは方法1と同様の形式から、解析時に上記コードのようにR内で加工しても良いですが、あらかじめ区間データを作成しておくこともできます。例えば以下のような列を持つデータセットを用意します。

id: 患者ID(患者ごとに複数行あり得る)
start: 区間開始時刻(例:0日、28日など)
stop: 区間終了時刻(例:28日、各患者のフォロー終了日など)
event: 各区間終了時にイベントが発生したか(発生=1、継続=0。ただしイベントは各患者で最終区間のみ1、それ以前は0)
rehab_long: 当該区間での曝露状態(0=4週未満期間、1=4週以上リハ継続期間)
その他ベースライン共変量(ageやsexなど、各区間で値は変わらないので重複します)

データフォーマットの例
必要なデータのフォーマットが具体的な例と共に示されている

ChatGPT版のDeep Researchのファイナルアンサー

ChatGPT版Deep Researchのレポートには情報量が多く、結局どの手法を使うべきか迷ってしまいます。

そこで、以下の要望を追加で伝えたうえで、最終的にどの解析手法を選択するかジャッジしてもらいました。

  • 対象分野: 医学、疫学
  • ジャーナルのレベル: impact factor 8以上のジャーナルでも通用すること
  • 解析のレベル: 手法として妥当である(致命的なバイアスがない)一方で、統計専門家以外の医学研究者にとっても理解しやすいこと
ファイナルアンサーは時間依存性Cox回帰でした!

Perplexity版Deep Researchの回答

出力されたレポートはこちらです。

レポート完成までの時間は、Perplexity版が約3分でした。

レポートの要点

提案された統計手法

推奨統計手法1:Kaplan-Meier法とログランク検定

推奨統計手法2:Cox比例ハザードモデル

提案されたRコード

  # Coxモデル構築
  cox_model <- coxph(surv_obj ~ intervention + age + sex, data = data)

  # 結果要約
  summary(cox_model)
  
  # 比例ハザード仮定の検証
  cox_zph <- cox.zph(cox_model)
  print(cox_zph)
  plot(cox_zph)
解説
後ろ向き観察研究において、生存時間解析は介入効果評価の有力な手法である。特にCoxモデルでは共変量調整により交絡要因を制御可能。ただし比例ハザード仮定の検証を厳密に行い、必要に応じて時間依存共変量の導入を検討すべき1実装に当たってはsurvminerパッケージによる可視化が結果解釈を容易にする。

結論

現時点でChatGPT版のDeep Researchはかなり実用的!

ChatGPT版Deep Research

最初の提案の時点で、immortal time biasを認識し、その対処法として代表的な解析手法を提示してくれています。

もちろん、提案された手法についてさらに深く掘り下げて他に同じようなデザインで行われた研究とその解析方法のリサーチを行う必要はありまが、その場面でもDeepResearchは役立ちます。特定の解析手法について掘り下げて調査する方法はこちらの記事をご参照ください。

また、いくつかある選択肢の中で迷ったときは、追加の条件を加えることで、最終的に自分の研究に適した解析手法のアドバイスをもらえます。

さらに、データのフォーマットやRコードについても丁寧に答えてくれるので、具体的にどういう風に進めればよいかイメージがつきます。

Perplexity版Deep Research

こちらは実用には遠いと感じます。

20個臨床疑問を準備し、今回と同じように答えてもらった結果、単純なデザインについては妥当な解析手法を答えてくれるものの、今回のimmortal time biasのように、特別な注意を要するケースには対応できていませんでした。

Perplexity版のメリットは低価格であることと、回答までのスピードが早いことなので、気軽に壁打ちする相手としては良いかもしれませんが、基本的に信用しないことをおススメします。

コメント