第 12 集団レベルの推定
チャプターリード: Martijn Schuemie, David Madigan, Marc Suchard & Patrick Ryan
行政請求データや電子健康記録などの観察的な医療データは、治療の効果に関する現実世界のエビデンスを生成する機会を提供し、患者の生活を有意に改善することができます。本章では、特定の健康結果に対する曝露(例えば、薬物曝露や手技などの医療介入)の平均的な因果効果の推定を指す集団レベルの効果推定に焦点を当てます。以下では、2つの異なる推定タスクを検討します:
- 直接効果推定: 結果のリスクに対する曝露の効果を、曝露なしと比較して推定する。
- 比較効果推定: 結果のリスクに対する曝露(ターゲット曝露)の効果を、別の曝露(比較曝露)と比較して推定する。
いずれの場合でも、患者レベルの因果効果は事実の結果、すなわち曝露を受けた患者に何が起こったかと、反事実の結果、すなわち曝露がなかった場合(直接)や異なる曝露があった場合(比較)に何が起こったかを対比させます。各患者は事実の結果のみを明らかにするため(因果推論の基本問題)、さまざまな効果推定デザインは異なる分析装置を使用して反事実の結果を明らかにします。
集団レベルの効果推定のユースケースには、治療選択、安全性監視、および比較効果が含まれます。方法論は、特定の仮説を一度に1つずつテストすること(例:「シグナル評価」)や、複数の仮説を一度に探索すること(例:「シグナル検出」)ができます。いずれの場合も、目的は同じです:因果効果の高品質な推定を生成することです。
本章ではまず、OHDSI Methods LibraryとしてRパッケージで実装されているさまざまな集団レベルの推定研究デザインについて説明します。次に、具体的な推定研究の設計を詳細に説明し、ATLASおよびRを使用して設計を実装する手順ガイドを提供します。最後に、研究から生成されるさまざまな出力、包括的な研究診断および効果サイズの推定についてレビューします。 ## コホートメソッド設計 {#CohortMethod}
コホートメソッドはランダム化臨床試験を模倣することを試みます。(Hernan and Robins 2016) ある治療(ターゲット)を開始した被験者は別の治療(比較対照)を開始した被験者と比較され、治療開始後の特定の期間、例えば治療を継続する期間にわたって追跡されます。コホート研究において我々が答えたい質問は、表12.1にハイライトされた5つの選択を行うことで具体化されます。
表: (#tab:cmChoices) 比較コホートデザインの主要な設計選択。
選択 | 説明 |
---|---|
ターゲットコホート | ターゲット治療を代表するコホート |
比較対照コホート | 比較対照治療を代表するコホート |
アウトカムコホート | 関心のあるアウトカムを代表するコホート |
リスク期間 | どの時点で(通常はターゲットおよび比較対照コホートの開始および終了日)アウトカムのリスクを考慮するか |
モデル | ターゲットと比較対照の間の違いを調整しながら効果を推定するために使用されるモデル |
モデルの選択には、他の要素の中でも、アウトカムモデルの種類が含まれます。例えば、ロジスティック回帰を使用することができ、これはアウトカムが発生したかどうかを評価し、オッズ比を生成します。ロジスティック回帰はリスク期間がターゲットと比較対照で同じ長さであるか、または関係がないと仮定します。代替的に、定常発生率を仮定するポアソン回帰を選ぶこともできます。よく使用されるのは、リスク比を推定するための初回アウトカムまでの時間を考慮するコックス回帰であり、ターゲットと比較対照間で比例ハザードを仮定します。
新規ユーザーコホートメソッドは本質的に比較効果推定の方法であり、治療を比較対照と比較します。この方法を使用して治療対未治療を比較するのは難しいです。なぜなら、未曝露群と曝露群が比較可能な群を定義するのが難しいからです。この設計を直接的な効果推定に使用したい場合は、関心のある曝露に対する比較対照として、同じ適応症に対する治療を選択するのが望ましいです。ただし、必ずしもそのような比較対照が利用可能であるとは限りません。
重要な懸念は、ターゲット治療を受ける患者が比較対照治療を受ける患者と系統的に異なる可能性があることです。例えば、ターゲットコホートが平均60歳であり、比較対照コホートが平均40歳であるとします。年齢に関連する健康アウトカム(例:脳卒中)に関してターゲットと比較対照を比較する場合、コホート間で顕著な違いが見られるかもしれません。無知な研究者は、ターゲット治療と比較対照に比べて脳卒中の間に因果関係があると結論づけるかもしれません。もっと平凡な、あるいはありふれた結論として、ターゲット患者が脳卒中を経験したことが、比較対照を受けていたらそうならなかったであろうと結論づけるかもしれません。この結論は完全に間違っている可能性があります!おそらくこれらのターゲット患者は、ただ年を取っているだけで脳卒中が発生したかもしれません。治療を受けていたとしても同様であった可能性があります。この文脈では、年齢は「交絡因子(コンファウンダー)」です。観察研究で交絡因子に対処する一つのメカニズムは傾向スコアを介することです。
12.0.1 傾向スコア
ランダム化試験では、(仮想的な)コイントスが患者を各グループに割り当てます。したがって、設計によって、患者がターゲット治療を受ける確率は患者の特性(例:年齢)とは無関係です。コインは患者を知りませんし、何よりも、ターゲット曝露を受ける患者の確率を正確にはっきりと知っています。その結果、試験の患者数が増えるにつれて、両方のグループの患者はどのような患者特性においても体系的に異なることは基本的にできません。このバランスの保証は、試験が測定した特性(例:年齢)および試験が測定しなかった特性(例:患者の遺伝的要因)にも適用されます。
ある患者に対する傾向スコア(PS)は、その患者がターゲット治療を受ける確率です。(Rosenbaum and Rubin 1983) バランスの取れた二群ランダム化試験では、傾向スコアはすべての患者に対して0.5です。傾向スコアで補正された観察研究では、治療開始時およびその前のデータに基づいて患者がターゲット治療を受ける確率を推定します(実際に受けた治療に関係なく)。これは単純な予測モデリングの応用です。ロジスティック回帰などのモデルを適合させ、患者がターゲット治療を受けるかどうかを予測し、各被験者の予測確率(PS)を生成するためにこのモデルを使用します。標準的なランダム化試験とは異なり、異なる患者は異なるターゲット治療を受ける確率を持ちます。PSは、PSが似たターゲット被験者と比較対照被験者をマッチングする、PSに基づいて研究集団を層化する、PSから導き出された治療重み付けの逆確率(IPTW)を使うなど、いくつかの方法で使用できます。マッチングの場合、各ターゲット被験者に対して一人の比較対照被験者だけを選択することも、一人以上の比較対照被験者を許容することもできます。これを可変比マッチングと言います。(Rassen et al. 2012)
例えば、一対一のPSマッチングを用いるとします。Janのターゲット治療を受ける事前確率が0.4であり、実際にターゲット治療を受けたとします。もし、事前確率0.4でターゲット治療を受けるはずだったが実際には比較対照を受けた患者(Junという名前)が見つかれば、JanとJunの結果を比較することは、測定された交絡因子に関しては、小規模なランダム化試験のようなものです。この比較は、ランダム化によって生成されるJan-Jun因果コントラストの推定をもたらします。次に、推定手順は次のようになります:ターゲットを受けた各患者に対して、事前確率が同じで比較対照を受けた一人以上の患者を見つけ、これらのマッチング群内でターゲット患者の結果を比較対照患者の結果と比較します。
傾向スコアは測定された交絡因子を制御します。実際、測定された特性がない場合、採用された推定方法に基づいて誤差のない因果効果の推定値が得られます。測定された特性は「強い無視可能性」を仮定します。 “強い無視可能性”は実際にはテストできない前提です。この問題についての詳細はChapter 18で説明します。
12.0.2 変数選択
以前は、PSは手動で選択された特性に基づいて計算されていましたが、OHDSIツールはそのような実践をサポートする一方で、特定の曝露およびアウトカムに基づいて選択されていない、より多くの汎用特性を使用することを好みます。(Tian, Schuemie, and Suchard 2018) これらの特性には、人口統計情報、治療開始前および当日に観察された診断、薬物曝露、測定、および医療処置が含まれます。通常、モデルには10,000から100,000の特有の特性が含まれ、これらを大規模な正則化回帰(Suchard et al. 2013)を使用して適合させ、Cyclopsパッケージで実装します。本質的には、どの特性が治療割り当ての予測に関連するかをデータに決定させ、モデルに含めます。
典型的には、治療開始日の特性は治療の原因となる診断などの多くの関連データがその日に記録されているため、共変量収集ウィンドウに含まれるべきです。この日には、ターゲットおよび比較対照の治療自体も記録されているが、これらは傾向スコアモデルに含まれるべきではありません。なぜなら、私たちはまさにこれらを予測しようとしているからです。したがって、ターゲットおよび比較対照治療は共変量セットから明示的に除外する必要があります。
一部の人々は、因果構造を特定するために臨床専門知識に依存しない共変量選択のデータ駆動型アプローチは、誤っていわゆる道具変数や交絡因子を含め、分散を増加させ、潜在的にバイアスを導入するリスクがあると主張します。しかし、これらの懸念は現実的なシナリオでは大きな影響を与える可能性は低いです。さらに、医学においては真の因果構造が判明することはほとんどなく、異なる研究者が特定の研究問題に対して「正しい」共変量を特定するように求められると、それぞれの研究者は必ず異なるリストを作成し、そのプロセスを再現不能にします。最も重要なのは、傾向スコアモデルの確認、すべての共변量のバランス評価、および否定的対照の含有などの診断によって、交絡因子や道具変数に関連するほとんどの問題を特定できることです。
12.0.3 カリパー
傾向スコアは0から1の連続体上にあるため、厳密なマッチングはほとんど不可能です。代わりに、マッチングプロセスはターゲット患者の傾向スコアと一致する患者を「カリパー」として知られる許容範囲内で見つけます。Austin (2011) に従い、ロジットスケールで標準偏差の0.2を使用します。
12.0.4 オーバーラップ:偏好スコア
傾向スコア方法は一致する患者が存在することを必要とします。このため、主要な診断は二つのグループの傾向スコアの分布を示します。解釈を容易にするために、OHDSIツールは「偏好スコア」と呼ばれる傾向スコアの変換をプロットします。偏好スコアは二つの治療の「市場占有率」を調整します。例えば、10%の患者がターゲット治療を受ける場合(比較対照治療を受ける患者が90%の場合)、偏好スコアが0.5の患者はターゲット治療を受ける確率が10%です。数学的に、偏好スコアは
\[\ln\left(\frac{F}{1-F}\right)=\ln\left(\frac{S}{1-S}\right)-\ln\left(\frac{P}{1-P}\right)\]
ここで \(F\) は偏好スコア、\(S\) は傾向スコア、\(P\) はターゲット治療を受ける患者の割合です。
Walker et al. (2013) は「経験的均衡」の概念を述べています。彼らは、少なくとも半数の曝露が偏好スコアの0.3から0.7の間にある場合、これらの曝露ペアを経験的均衡にあると見なします。
12.0.5 バランス
良い実践は常にPS調整がバランスの取れた患者群を生成するかどうかをチェックします。図12.11はバランスをチェックするための標準的なOHDSI出力を示しています。各患者特性について、露出グループ間の平均の標準化差をPS調整前後でプロットします。いくつかのガイドラインは、PS調整後の標準化差の上限を0.1とすることを推奨しています。(Rubin 2001) ## 自己対照コホートデザイン
自己対照コホート(SCC)デザイン (Ryan, Schuemie, and Madigan 2013) は曝露中の結果の発生率を、曝露直前の時間における結果の発生率と比較します。表 12.2 に示す4つの選択肢が、自己対照コホートの質問を定義します。
Choice | Description |
---|---|
Target cohort | 治療を表すコホート |
Outcome cohort | 興味のある結果を表すコホート |
Time-at-risk | 結果のリスクをどのタイミング(通常ターゲットコホートの開始および終了日が基準)で考慮するか? |
Control time | コントロールタイムとして使用される期間 |
曝露群を構成する同じ被験者が対照群としても使用されるため、被験者間の差異について調整する必要はありません。ただし、この方法は、異なる期間間の結果の基礎リスクの差異など、他の違いには脆弱です。
12.1 症例対照デザイン
症例対照研究 (Vandenbroucke and Pearce 2012) は、「特定の疾患の結果を持つ人が、その疾患を持たない人よりも特定のエージェントにより頻繁に曝露されているかどうか」を問います。このため、中心的なアイディアは、興味のある結果を経験する被験者(「症例」)を、興味のある結果を経験しない被験者(「対照」)と比較することです。表 12.3 の選択肢が、症例対照の質問を定義します。
Choice | Description |
---|---|
Outcome cohort | 症例(興味のある結果)を表すコホート |
Control cohort | 対照を表すコホート。通常、選択ロジックを使用して結果コホートから自動的に導出される |
Target cohort | 治療を表すコホート |
Nesting cohort | 任意で症例および対照が抽出されるサブポピュレーションを定義するコホートを指定 |
Time-at-risk | 曝露ステータスをどのタイミング(通常インデックス日が基準)で考慮するか? |
通常、症例を年齢や性別などの特性で一致させて対照を選択し、症例と対照を比較しやすくします。もう1つの広く行われている方法は、興味のある曝露のいずれかの適応症と診断されたすべての人々など、特定のサブグループに分けて分析を行うことです。
12.2 症例交叉デザイン
症例交叉 (Maclure 1991) デザインは、結果のタイミングでの曝露率が、結果よりも前の事前に決められた日数での曝露率よりも異なるかどうかを評価します。これは、結果が発生した日の特別な理由があるかどうかを判断しようとしています。表 12.4 は、症例交叉の質問を定義する選択肢を示します。
Choice | Description |
---|---|
Outcome cohort | 症例(興味のある結果)を表すコホート |
Target cohort | 治療を表すコホート |
Time-at-risk | 曝露ステータスをどのタイミング(通常インデックス日が基準)で考慮するか |
Control time | コントロールタイムとして使用される期間 |
症例は自分自身の対照として機能します。自己対照デザインとして、これらは人間間の差異による交絡に対して頑健であるべきです。ただし、結果の日付が常にコントロール日付よりも後であるため、曝露の全体的な頻度が時間とともに増加する(または減少する)場合、方法は正にバイアスされる可能性があります。これに対処するために、症例-時間-コントロールデザイン (Suissa 1995) が開発され、例えば年齢や性別で一致させた対照を症例交叉デザインに追加して、曝露のトレンドを調整します。 ## 自己対照症例シリーズデザイン
自己対照症例シリーズ(SCCS)デザイン(Farrington 1995; Whitaker et al. 2006)は、曝露中のアウトカム発生率を、すべての非曝露期間中の発生率、これには曝露前、曝露間、曝露後の時間も含まれます、と比較します。これは、個人に依存したポアソン回帰であり、「患者がアウトカムを有する場合、曝露期間中の方が非曝露期間中よりもアウトカムが発生しやすいか?」という質問に答えようとします。表12.5の選択肢が SCCS の質問を定義します。
選択肢 | 説明 |
---|---|
ターゲットコホート | 治療を代表するコホート |
アウトカムコホート | 関心のあるアウトカムを代表するコホート |
リスク期間 | どの時点(多くの場合、ターゲットコホートの開始日または終了日と関連のある時点)でアウトカムのリスクを考慮するか? |
モデル | 時間変動する交絡因子の調整を含む効果の推定モデル |
他の自己対照デザイン同様、SCCS は個人間の違いによる交絡に対して頑健ですが、時間変動する影響による交絡には脆弱です。これらを考慮するためのいくつかの調整が可能であり、たとえば年齢や季節を含めることができます。SCCSの特別なバリアントでは、関心のある曝露だけでなく、データベースに記録された他の薬物すべての曝露を含めます(Simpson et al. 2013)。これにより、モデルに数千の追加変数が追加されます。この場合、関心のある曝露以外のすべての曝露の係数に、正則化ハイパーパラメータをクロスバリデーションで選択するL1正則化が適用されます。
SCCSの重要な前提条件の一つは、観察期間の終了がアウトカムの日付と独立していることです。一部のアウトカム、特に心筋梗塞などの致命的な結果においては、この前提が破られることがあります。SCCSの拡張版では、このような依存関係を修正するものがあります(Farrington et al. 2011)。
12.3 高血圧研究のデザイン
12.3.1 問題の定義
ACE 阻害薬(ACEi)は、高血圧や虚血性心疾患を持つ患者、特にうっ血性心不全、糖尿病、慢性腎臓病などの併存疾患を持つ患者によく使用されます。(Zaman, Oparil, and Calhoun 2002)。アンジオエデマは、唇、舌、口、喉頭、咽頭、または眼窩周囲の腫れとして現れる、深刻で時には命に関わる有害事象であり、これらの薬の使用と関連付けられています。(Sabroe and Black 1997)しかし、これらの薬剤使用に関連するアンジオエデマの絶対および相対リスクについての情報は限られています。既存の証拠は、主に特定のコホート(例えば、主に男性の退役軍人やメディケイド受給者)に基づいたものであり、他の集団に一般化できない可能性があります。また、イベント数が少ない研究に基づくものであり、不安定なリスク推定を提供します。(Powers et al. 2012)いくつかの観察研究は、ACEiをβ遮断薬と比較してアンジオエデマのリスクを評価しています(Magid et al. 2010; Toh et al. 2012)が、β遮断薬はもはや高血圧の一線級治療として推奨されていません。(Whelton et al. 2018)。有力な代替治療法として、チアジド類およびチアジド様利尿薬(THZ)が考えられます。これらは高血圧や急性心筋梗塞(AMI)などの関連リスクを管理する上で同様に有効であり、アンジオエデマのリスクを増加させない可能性があります。
以下では、観察医療データに我々の集団レベル推定フレームワークを適用して、次の比較推定質問に対処する方法を示します:
ACE阻害薬の新規使用者とチアジドおよびチアジド様利尿薬の新規使用者を比較した場合のアンジオエデマのリスクはどれくらいですか?
ACE阻害薬の新規使用者とチアジドおよびチアジド様利尿薬の新規使用者を比較した場合の急性心筋梗塞のリスクはどれくらいですか?
これらは比較効果推定の質問であるため、(ref?) (CohortMethod)節で述べたコホート方法を適用します。
12.3.2 ターゲットおよび比較対象
高血圧の治療を初めて観察された患者をACEiまたはTHZクラスのどちらかの単剤療法として利用する患者と見なします。治療開始後7日以内に他の抗高血圧薬を開始しない患者を単剤療法と定義します。患者は最初の曝露前に少なくとも1年間の継続的な観察期間および治療開始の前年または前年に記録された高血圧診断を有することを要求します。
12.3.3 アウトカム
アンジオエデマは、入院または救急部(ER)訪問中のアンジオエデマ状態コンセプトの発生として定義し、7日前にはアンジオエデマ診断が記録されていないことを要求します。AMIは、入院またはER訪問中のAMI状態コンセプトの発生として定義し、180日前にはAMI診断が記録されていないことを要求します。
12.3.5 モデル
デフォルトの共変量セットを使用してPSモデルを適合させます。このセットには、人口統計、条件、薬物、手続き、測定、観察、およびいくつかの併存疾患スコアが含まれます。ACEiとTHZを共変量から除外します。可変比マッチングを行い、マッチングセットに条件付けてコックス回帰を行います。
12.3.6 研究要約
表 (#tab:aceChoices)は、我々の比較コホート研究の主な設計選択肢を示します。
選択肢 | 値 |
---|---|
ターゲットコホート | 高血圧の第一選択単剤療法としてのACE阻害薬の新規使用者。 |
比較コホート | 高血圧の第一選択単剤療法としてのチアジドまたはチアジド様利尿薬の新規使用者。 |
アウトカムコホート | アンジオエデマまたは急性心筋梗塞。 |
リスク期間 | 治療開始の翌日から開始し、曝露が終了するまで。 |
モデル | 可変比マッチングを用いたコックス比例ハザードモデル。 |
12.3.7 コントロール質問
我々の研究デザインが真実と一致する推定を生成するかどうかを評価するために、真の効果サイズが既知の一連のコントロール質問を追加で含めます。コントロール質問は、ハザード比が1の負のコントロールと、既知のハザード比が1を超える正のコントロールに分けることができます。さまざまな理由から、実際の負のコントロールを使用し、これらの負のコントロールに基づいて正のコントロールを合成します。コントロール質問の定義と使用方法の詳細は、チャプター@ref(MethodValidity)で説明しています。 ## ATLASを使用した研究の実施 {#PleAtlas}
ここでは、ATLASの推定機能を使用してこの研究を実施する方法を示します。ATLASの左バーで をクリックし、新しい推定研究を作成します。研究に簡単に認識できる名前を付けてください。研究設計はいつでも ボタンをクリックして保存できます。
推定設計機能には、比較、分析設定、評価設定の3つのセクションがあります。複数の比較と複数の分析設定を指定でき、それらの組み合わせを個別の分析として実行します。ここでは、それぞれのセクションについて説明します。
12.3.8 比較コホート設定
研究には1つ以上の比較を含めることができます。「比較を追加」をクリックすると、新しいダイアログが開きます。 をクリックしてターゲットおよび比較コホートを選択します。「アウトカムを追加」をクリックして2つのアウトカムコホートを追加できます。コホートがすでにATLASで作成されていると仮定しています(Chapter 10を参照)。ターゲット(Appendix 22.2)、比較(Appendix @ref(ThiazidesMono))、およびアウトカム(Appendix @ref(Angioedema)およびAppendix @ref(Ami))コホートの完全な定義は付録にあります。完了すると、ダイアログはFigure 12.6のようになります。
ターゲットと比較コホートのペアに対して複数のアウトカムを選択できることに注目してください。各アウトカムは独立したものとして扱われ、別々の分析結果が得られます。
ネガティブコントロールアウトカム
ネガティブコントロールアウトカムは、ターゲットまたはコンパレータによって引き起こされないと信じられているアウトカムであり、真のハザード比が1であると仮定されます。理想的には各アウトカムコホートの適切なコホート定義が必要ですが、通常は各ネガティブコントロールアウトカムごとに1つの概念セットと、それらをアウトカムコホートに変換するための標準的なロジックしか持ちません。ここでは概念セットがChapter 18で説明されているとおりすでに作成されていると仮定し、それを選択するだけです。ネガティブコントロール概念セットには、ネガティブコントロールごとに1つの概念が含まれ、その子孫は含まれないはずです。Figure 12.7は、この研究に使用されたネガティブコントロール概念セットを示しています。
含める概念
概念を選択するときに、生成したい共変量を指定できます。たとえば、傾向スコアモデルで使用するためです。ここで共変量を指定すると、それ以外の共変量(指定したもの以外)は除外されます。通常、ベースラインのすべての共変量を含め、正則化回帰モデルがすべての共変量をバランスさせるモデルを構築します。特定の共変量を指定する唯一の理由は、手動で共変量を選択した既存の研究を再現する場合です。これらの除外は、この比較セクションまたは分析セクションで指定できます。なぜなら、時には特定の比較に関連する場合(たとえば、比較における既知の交絡因子)、または特定の分析に関連する場合があります(たとえば、特定の共変量選択戦略を評価するとき)。
除外する概念
含める概念を指定する代わりに、除外する概念を指定することもできます。このフィールドに概念セットを送信すると、送信した概念を除くすべての共変量を使用します。デフォルトの共変量セット(治療開始日のすべての薬物および手技を含む)を使用する場合、ターゲットおよび比較治療、およびそれらに直接関連する概念を除外する必要があります。たとえば、ターゲット曝露が注射可能なものである場合、薬物だけでなく、プロペンシティモデルからその投与手技も除外する必要があります。この例では、除外したい共変量はACEiとTHZです。Figure 12.8は、これらの概念を含む概念セットを示しています(その子孫も含まれます)。
ネガティブコントロールと除外する共変量を選択した後、比較ダイアログの下半分はFigure 12.9のようになります。
12.3.9 効果推定の分析設定
比較ダイアログを閉じた後、「分析設定を追加」をクリックできます。「分析名」とラベル付けされたボックスには、将来簡単に思い出せて見つけやすい一意の名前を付けることができます。たとえば、「傾向スコアマッチング」に設定することもできます。
研究集団
分析に入る被験者のセットである研究集団を指定するさまざまなオプションがあります。多くのオプションは、コホート定義ツールでターゲットおよび比較コホートを設計する際に利用可能なオプションと重複しています。Estimationのオプションを使用する理由の1つは再利用性です。ターゲット、比較、およびアウトカムコホートを完全に独立して定義し、後でそれらの間に依存関係を追加できます。たとえば、治療開始前にアウトカムを持っていた人を削除したい場合、ターゲットおよび比較コホートの定義でこれを行うことができますが、すべてのアウトカムごとに別のコホートを作成する必要があります。代わりに、分析設定で事前のアウトカムを持つ人々を削除することができ、これで興味のある2つのアウトカム(およびネガティブコントロールアウトカム)のターゲットおよび比較コホートを再利用できます。
研究開始および終了日を使用して、特定の期間に分析を制限できます。研究終了日はリスクウィンドウも切り詰め、研究終了日以降のアウトカムは考慮されません。研究開始日を選択する理由の1つは、研究している薬物の1つが新しく、以前の期間には存在しなかったことです。自動で調整するには、「両方の曝露がデータ内に存在する期間に分析を制限しますか?」の質問に「はい」と回答します。医療行為が時間の経過とともに変わった場合(例:薬物 警告のため)であり、特定の方法で 実践された時間にのみ興味がある場合、研究開始および終了日を調整する別の理由があります。 ## Rを使用した研究の実施 {#pleR}
研究を実行するためのRコードを記述するためにATLASを使用する代わりに、Rコードを自分で書くこともできます。これを行いたい理由の一つは、RがATLASで公開されているものよりもはるかに柔軟性を提供するからです。例えば、カスタム共変量や線形アウトカムモデルを使用したい場合は、カスタムRコードを作成し、OHDSI Rパッケージが提供する機能と組み合わせる必要があります。
例として、CohortMethodパッケージを使用して研究を実行します。CohortMethodは、CDMに含まれるデータベースから必要なデータを抽出し、プロペンシティモデルのための多数の共変量を利用できます。次の例では、最初にアウトカムとして血管浮腫のみを考慮します。セクション 12.3.15において、これを拡張してAMIとネガティブコントロールアウトカムを含める方法について説明します。
12.3.10 コホートのインスタンス化
最初にターゲットコホートおよびアウトカムコホートをインスタンス化する必要があります。コホートのインスタンス化は、セクション ((ref?)(Cohorts))で説明しています。付録にはターゲット(付録 ((ref?)(AceInhibitorsMono)))、比較(付録 ((ref?)(ThiazidesMono)))、およびアウトカム(付録 ((ref?)(Angioedema)))コホートの完全な定義が示されています。ACEi、THZ、および血管浮腫コホートが、それぞれコホート定義ID 1、2、3である scratch.my_cohorts
という表にインスタンス化されていると仮定します。
12.3.11 データ抽出
最初に、Rにサーバーへの接続方法を教える必要があります。 CohortMethodはDatabaseConnectorパッケージを使用しており、createConnectionDetails
という関数を提供しています。さまざまなデータベース管理システム(DBMS)に必要な特定の設定については、?createConnectionDetails
と入力してください。たとえば、以下のコードを使用してPostgreSQLデータベースに接続できます:
library(CohortMethod)
connDetails <- createConnectionDetails(dbms = "postgresql",
server = "localhost/ohdsi",
user = "joe",
password = "supersecret")
cdmDbSchema <- "my_cdm_data"
cohortDbSchema <- "scratch"
cohortTable <- "my_cohorts"
cdmVersion <- "5"
最後の4行はcdmDbSchema
、cohortDbSchema
、およびcohortTable
変数と、CDMバージョンを定義しています。これらは後ほどRにCDM形式のデータがどこにあるか、関心のあるコホートがどこに作成されたか、そして使用されているCDMのバージョンを伝えるために使用します。Microsoft SQL Serverの場合、データベーススキーマはデータベースとスキーマの両方を指定する必要があるため、たとえばcdmDbSchema <- "my_cdm_data.dbo"
のようになります。
次に、CohortMethodにコホートを抽出し、共変量を構築し、分析に必要なすべてのデータを抽出するよう指示できます:
# ターゲットおよびコンパレータの成分コンセプト
aceI <- c(1335471,1340128,1341927,1363749,1308216,1310756,1373225,
1331235,1334456,1342439)
thz <- c(1395058,974166,978555,907013)
# 構築すべき共変量のタイプを定義
cs <- createDefaultCovariateSettings(excludedCovariateConceptIds = c(aceI,
thz),
addDescendantsToExclude = TRUE)
# データをロード
cmData <- getDbCohortMethodData(connectionDetails = connectionDetails,
cdmDatabaseSchema = cdmDatabaseSchema,
oracleTempSchema = NULL,
targetId = 1,
comparatorId = 2,
outcomeIds = 3,
studyStartDate = "",
studyEndDate = "",
exposureDatabaseSchema = cohortDbSchema,
exposureTable = cohortTable,
outcomeDatabaseSchema = cohortDbSchema,
outcomeTable = cohortTable,
cdmVersion = cdmVersion,
firstExposureOnly = FALSE,
removeDuplicateSubjects = FALSE,
restrictToCommonPeriod = FALSE,
washoutPeriod = 0,
covariateSettings = cs)
cmData
## CohortMethodDataオブジェクト
##
## 治療コンセプトID:1
## コンパレータコンセプトID:2
## アウトカムコンセプトID(s):3
多くのパラメーターがありますが、すべてCohortMethodマニュアルに文書化されています。createDefaultCovariateSettings
関数はFeatureExtractionパッケージで説明されています。簡単に言えば、私たちのコホートを含むテーブルを指し、そのテーブル内でターゲット、コンパレータ、およびアウトカムを識別するコホート定義IDを指定しています。デフォルトの共変量セットが構築される指示を行い、インデックス日前日までに見つかったすべての状態、薬物暴露、および手順に対する共変量を含むようにします。セクション ((ref?)(CohortMethod))で述べたように、共変量のセットからターゲットとコンパレータ処置を除外する必要があり、ここでは、2クラスすべての成分を一覧表示し、FeatureExtractionにこれらの成分を含むすべての薬物を除外するように指示します。
コホート、アウトカム、および共変量に関するすべてのデータはサーバーから抽出され、cohortMethodData
オブジェクトに保存されます。このオブジェクトはff
パッケージを使用して情報を保存するため、データが大きくてもRがメモリ不足にならないようにします(セクション ((ref?)(BigDataSupport))で述べたように)。
抽出したデータの詳細を確認するために、汎用summary()
関数を使用できます:
## CohortMethodDataオブジェクトの要約
##
## 治療コンセプトID:1
## コンパレータコンセプトID:2
## アウトカムコンセプトID(s):3
##
## 治療を受けた人数:67166
## コンパレータ人数:35333
##
## アウトカウント:
## イベント数 人数
## 3 980 891
##
## 共変量:
## 共変量の数:58349
## ゼロでない共変量値の数:24484665
cohortMethodData
ファイルの作成にはかなりの計算時間がかかる可能性がありますので、将来のセッションのために保存しておくのが良いでしょう。cohortMethodData
はff
を使用するため、Rの通常の保存関数は使用できません。代わりに、saveCohortMethodData()
関数を使用します:
将来のセッションでデータをロードするには、loadCohortMethodData()
関数を使用できます。
新しいユーザーの定義
通常、新しいユーザーは薬物(ターゲットかコンパレータのいずれか)の初回使用として定義され、初回使用として真実である確率を高めるためにウォッシュアウト期間(初回使用前の最小日数)が使用されます。CohortMethodパッケージを使用する場合、新しい使用のための必要要件を3つの方法で適用できます:
- コホートの定義時。
- コホートを
getDbCohortMethodData
関数を使用してロードする際、firstExposureOnly
、removeDuplicateSubjects
、restrictToCommonPeriod
、およびwashoutPeriod
引数を使用。 createStudyPopulation
関数を使用して研究集団を定義する際(下記参照)。
オプション1の利点は、入力コホートがすでにCohortMethodパッケージの外部で完全に定義されているため、外部コホート特性化ツールがこの分析で使用される同じコホートで使用できることです。オプション2および3の利点は、DRUG_ERAテーブルを直接使用できるなど、自分で初回使用に制限する手間を省くことです。オプション2は3よりも効率的であるため、最初の使用に必要なデータを取得するだけで済みますが、オプション3は効率は低いものの、元のコホートを研究集団と比較できます。
12.3.12 研究集団の定義
通常、曝露コホートとアウトカムコホートは独立して定義されます。効果サイズの推定値を算出するには、これらのコホートをさらに制限し、例えば曝露前にアウトカムが生じた被験者を除外し、定義されたリスクウィンドウ内でのみ発生したアウトカムを保持するなどの方法で、これらを一緒にする必要があります。これにはcreateStudyPopulation
関数を使用できます:
studyPop <- createStudyPopulation(cohortMethodData = cmData,
outcomeId = 3,
firstExposureOnly = FALSE,
restrictToCommonPeriod = FALSE,
washoutPeriod = 0,
removeDuplicateSubjects = "remove all",
removeSubjectsWithPriorOutcome = TRUE,
minDaysAtRisk = 1,
riskWindowStart = 1,
startAnchor = "cohort start",
riskWindowEnd = 0,
endAnchor = "cohort end")
firstExposureOnly
とremoveDuplicateSubjects
をFALSEに設定し、washoutPeriod
を0に設定しているのは、コホート定義内でこれらの基準をすでに適用しているためです。使用するアウトカムIDを指定し、リスクウィンドウの開始日より前にアウトカムがある被験者を削除するように指示します。リスクウィンドウはコホート開始日の翌日から始まり(riskWindowStart = 1
およびstartAnchor = "cohort start"
)、リスクウィンドウはコホート定義で定義された曝露終了時に終了します(riskWindowEnd = 0
およびendAnchor = "cohort end"
)。リスクウィンドウは自動的に観察終了時または研究終了日に切り捨てられます。リスクの時間がない被験者も削除します。研究集団に残っている人数を確認するには、getAttritionTable
関数を使用できます:
## 説明 ターゲット人数 コンパレータ人数 ...
## 1 元のコホート 67212 35379 ...
## 2 両コホートの重複削除 67166 35333 ...
## 3 前のアウトカムなし 67061 35238 ...
## 4 リスク期間が1日以上有り 66780 35086 ...
12.3.13 プロペンシティスコア
getDbcohortMethodData()
で構築された共変量を使用してプロペンシティモデルを適合し、各個人にプロペンシティスコア(PS)を計算できます:
createPs
関数はCyclopsパッケージを使用して大規模な正則化ロジスティック回帰を適合します。プロペンシティモデルを適合するために、Cyclopsは事前分布の分散を指定するハイパーパラメータ値を知る必要があります。デフォルトでは、Cyclopsは交差検証を使用して最適なハイパーパラメータを推定します。ただし、これには非常に長い時間がかかる場合があります。createPs
関数のprior
およびcontrol
パラメータを使用して、Cyclopsの動作を指定し、交差検証を高速化するために複数のCPUを使用するようにできます。
ここでは、変数比のマッチングを使用してPSを使用します:
matchedPop <- matchOnPs(population = ps, caliper = 0.2,
caliperScale = "standardized logit", maxRatio = 100)
あるいは、PSをtrimByPs
、trimByPsToEquipoise
、またはstratifyByPs
関数で使用することもできます。
12.3.14 アウトカムモデル
アウトカムモデルは、どの変数がアウトカムと関連しているかを説明するモデルです。厳密な仮定の下では、治療変数の係数は因果効果として解釈できます。ここではマッチドセットに基づいたCox比例ハザードモデルを適合します:
outcomeModel <- fitOutcomeModel(population = matchedPop,
modelType = "cox",
stratified = TRUE)
outcomeModel
## モデルタイプ:cox
## 階層化:TRUE
## 共変量の使用:FALSE
## 治療重量の逆確率:FALSE
## ステータス:OK
##
## 推定値 下限95% 上限95% logRr seLogRr
## 治療 4.3203 2.4531 8.0771 1.4633 0.304
12.3.15 複数の分析の実行
一般的に、ネガティブコントロールを含む多くのアウトカムに対して複数の分析を実行することを希望します。CohortMethodは、そのような研究を効率的に実行するための関数を提供します。これは複数の分析の実行に関するパッケージのビネットで詳細に説明されています。要約すると、関心のあるアウトカムおよびネガティブコントロールコホートが既に作成されていることを前提とし、分析したいすべてのターゲット・コンパレータ・アウトカムの組み合わせを指定できます:
# 関心のあるアウトカム
ois <- c(3, 4) # 血管浮腫、AMI
# ネガティブコントロール
ncs <- c(434165,436409,199192,4088290,4092879,44783954,75911,137951,77965,
376707,4103640,73241,133655,73560,434327,4213540,140842,81378,
432303,4201390,46269889,134438,78619,201606,76786,4115402,
45757370,433111,433527,4170770,4092896,259995,40481632,4166231,
433577,4231770,440329,4012570,4012934,441788,4201717,374375,
4344500,139099,444132,196168,432593,434203,438329,195873,4083487,
4103703,4209423,377572,40480893,136368,140648,438130,4091513,
4202045,373478,46286594,439790,81634,380706,141932,36713918,
443172,81151,72748,378427,437264,194083,140641,440193,4115367)
tcos <- create
## 研究の結果 {#studyOutputs}
私たちの推定値は、いくつかの仮定が満たされている場合にのみ有効です。これが満たされているかどうかを評価するために、広範な診断を使用します。これらはATLASによって生成されたRパッケージが生成した結果で利用可能であり、または特定のR関数を使用して随時生成することもできます。
### 傾向スコアとモデル
まず、ターゲットコホートと比較対象コホートがある程度比較可能かどうかを評価する必要があります。そのためには、傾向モデルの受信者動作特性曲線(ROC)の下の面積(AUC)統計を計算できます。AUCが1である場合、治療の割り当てはベースライン共変量に基づいて完全に予測可能であり、したがって、2つのグループは比較不可能であることを示します。`computePsAuc`関数を使用してAUCを計算できます。私たちの例では0.79です。`plotPs`関数を使用して、図\@ref(fig:ps)に示すような傾向スコア分布も生成できます。この図から、多くの人々にとって受けた治療が予測可能だったことがわかりますが、大量の重複があり、調整を使用して比較可能なグループを選択できることを示しています。 \index{preference score!example}
一般的に、特にモデルが非常に予測的である場合には、傾向モデル自体も検査することが良い考えです。その方法で、最も予測的な変数を発見できるかもしれません。表??は、私たちの傾向モデルにおける主要な予測因子を示しています。変数があまりにも予測的である場合、CohortMethodパッケージは情報的なエラーを投げますが、すでに完全に予測可能であることがわかっているモデルを適合させようとはしません。
ベータ | 共変量 |
---|---|
-1.42 | 基準日から-30日から0日までの期間の疾患エラ: 浮腫 |
-1.11 | 基準日から0日から0日までの期間の薬剤エラ: 塩化カリウム |
0.68 | 年齢グループ: 05-09 |
0.64 | 基準日から-365日から0日までの期間の測定: レニン |
0.63 | 基準日から-30日から0日までの期間の疾患エラ: 蕁麻疹 |
0.57 | 基準日から-30日から0日までの期間の疾患エラ: タンパク尿 |
0.55 | 基準日から-365日から0日までの期間の薬剤エラ: インスリン及び類似体 |
-0.54 | 人種: 黒人またはアフリカ系アメリカ人 |
0.52 | (切片) |
0.50 | 性別: 男性 |
変数が非常に予測的であると判明した場合、2つの可能な結論があります。変数が明らかに曝露の一部であると判明し、モデルを適合させる前に削除する必要があるか、または2つの集団が本当に比較不可能であり、解析を中止しなければならないという結論に達します。
12.3.16 共変量のバランス
PSを使用する目的は、2つのグループを比較可能にすることです(少なくとも比較可能なグループを選択すること)。これが達成されたかどうかを確認する必要があります。たとえば、調整後のベースライン共変量が確かにバランスされているかどうかを確認することです。computeCovariateBalance
およびplotCovariateBalanceScatterPlot
関数を使用して図12.11を生成できます。指標の1つの目安は、傾向スコア調整後の絶対標準化差が0.1を超える共変量がないことです。ここでは、マッチング前には大きな不均衡がありましたが、マッチング後にはこの基準を満たしていることがわかります。
12.3.17 フォローアップとパワー
結果モデルを適合させる前に、特定の効果サイズを検出するための十分なパワーがあるかどうかを知りたい場合があります。図12.12に示すように、drawAttritionDiagram
関数を使用して私たちの研究での対象者の脱落を表示できます。
レトロスペクティブ研究ではサンプルサイズは固定されており(データはすでに収集されている)、真の効果サイズは不明であるため、期待される効果サイズに基づいて電力を計算することに意味は少ないです。代わりに、CohortMethodパッケージは、最小検出可能相対リスク(MDRR)を計算するためのcomputeMdrr
関数を提供します。私たちの研究例におけるMDRRは1.69です。
追跡可能なフォローアップの量をよりよく理解するために、フォローアップ時間の分布を検査することもできます。追跡時間をリスクにさらされる時間と定義し、結果が発生するまでの期間として検討できます。getFollowUpDistribution
関数は簡単な概要を提供でき、図12.13に示されるように、両コホートのフォローアップ時間が比較可能であることがわかります。
12.3.18 カプランマイヤー
最後に、カプラン−マイヤープロットをレビューし、両コホートの時間経過による生存率を示します。plotKaplanMeier
関数を使用して12.14を作成し、ハザードの比例性の仮定が保持されているかどうかなどを確認できます。カプラン−マイヤープロットはPSによる層別化や重み付けを自動的に調整します。この場合、可変比マッチングが使用されるため、比較対象グループの生存曲線は、ターゲットグループが比較対象に曝露されていた場合に曲線がどのように見えたであろうかを模倣するように調整されます。
12.3.19 効果サイズ推定
私たちは血管浮腫に対するハザード比は4.32(95%信頼区間:2.45 - 8.08)を観察しました。これは、ACEiがTHZと比較して血管浮腫のリスクを増加させることを示しています。同様に、AMIに対するハザード比は1.13(95%信頼区間:0.59 - 2.18)を観察し、AMIに対してはほとんどまたは全く効果がないことを示唆しています。前述の診断結果は疑う理由がありません。しかし、最終的には、この証拠の質とそれを信頼するかどうかは、Chapter 14で説明されている研究診断ではカバーされていない多くの要因に依存します。
12.4 まとめ
集団レベルの推定は、観察データから因果効果を推測することを目的としています。
反事実とは、被験者が別の曝露または何も曝露を受けなかった場合に何が起こったかということですが、それは観察できません。
異なる設計は、異なる方法で反事実を構築しようとします。
OHDSIメソッドライブラリに実装されているさまざまな設計は、適切な反事実を作成するための仮定が満たされているかどうかを評価するための診断を提供します。
12.5 演習
前提条件
これらの演習を行うためには、R、R-Studio、およびJavaがセクション 8.3.5 で説明されているようにインストールされていることを前提とします。また、SqlRender、DatabaseConnector、Eunomia、およびCohortMethodパッケージも必要です。これらは次のコマンドでインストールできます:
install.packages(c("SqlRender", "DatabaseConnector", "remotes"))
remotes::install_github("ohdsi/Eunomia", ref = "v1.0.0")
remotes::install_github("ohdsi/CohortMethod")
Eunomiaパッケージは、ローカルのRセッション内で実行されるCDM内のシミュレートされたデータセットを提供します。接続の詳細は次のコマンドで取得できます:
CDMデータベースのスキーマは「main」です。また、これらの演習ではいくつかのコホートも使用します。EunomiaパッケージのcreateCohorts
関数を使用して、これらをCOHORTテーブル内に作成できます:
問題定義
セレコキシブの新規使用者とジクロフェナクの新規使用者における消化管(GI)出血のリスクは?
セレコキシブ新規使用者コホートのCOHORT_DEFINITION_IDは1です。ジクロフェナク新規使用者コホートのCOHORT_DEFINITION_IDは2です。GI出血コホートのCOHORT_DEFINITION_IDは3です。セレコキシブとジクロフェナクの成分コンセプトIDは、それぞれ1118084と1124300です。リスク期間は治療開始の日から始まり、観察終了時に終了します(いわゆる治療意図分析)。
演習 12.1 CohortMethod Rパッケージを使用して、デフォルトの共変量セットを使用し、CDMからCohortMethodDataを抽出します。CohortMethodDataのサマリーを作成します。
演習 12.2 createStudyPopulation
関数を使用して、180日のウォッシュアウト期間を要求し、事前にアウトカムを持つ人々を除外し、両方のコホートに出現する人々を除去して研究集団を作成します。人は失われましたか?
演習 12.3 調整を行わずにコックス比例ハザードモデルを適合させます。これを行う際に何が問題になる可能性がありますか?
演習 12.4 傾向スコアモデルを適合させます。2つの群は比較可能ですか?
演習 12.5 5つの層を使用してPS階層化を行います。共変量バランスは達成されましたか?
演習 12.6 PS階層を使用してコックス比例ハザードモデルを適合させます。その結果が無調整モデルと異なる理由は何ですか?
推奨される回答は付録 23.7 で見つけることができます。