ねこすたっと

ねこの気持ちと統計について悩む筆者の備忘録的ページ。

Rothman拾い読み:測定誤差と情報バイアス

Rothman先生のModern Epidemiology(4th edition)をパラパラめくって拾い読みしたメモです。 今回は "Chapter 13:Measurement and Measurement Error" から、測定誤差について。

測定はあらゆる変数に関与すること。「疫学とは測定だ!」と言ってもいいんじゃないかと思うくらい大事なことですが、その大事さ・難しさはイマイチ認識されていないような気がします。

測定誤差(measurement error)とは

真の値と測定値との誤差に起因するバイアスを情報バイアス(information bias)と呼ぶ。

MEでは連続変数とカテゴリー変数で、測定における誤差の呼び方を使い分けている。

  • 連続変数の測定における誤差:測定誤差(measurement error)*1
  • カテゴリー変数の測定における誤差:誤分類(misclassification), 分類誤差*2(classification error)

測定における誤差の分類

1つ目は「誤差が変数の値に影響するかどうか」によって分類する方法。

  • 変数の値に影響されない場合:非差異的誤差(nondifferential error)
  • 変数の値に影響される場合:差異的誤差(differential error)

2つ目は「2つの変数の誤差が互いに独立しているかどうか」によって分類する方法。

  • 互いに独立している(他の変数の誤差に依存しない)場合:独立誤差(independent error)
  • 互いに独立していない(他の変数の誤差に依存する)場合:従属誤差(dependent error)

この2つの観点から4つのパターンに分類したのが下のイラストです(MEの図を手書きにしただけ)。

MEではこの後、測定誤差は概念レベル(そもそも測りたい概念を測定するのに適していない測定方法)、データ収集レベル、データ管理レベルで生じると説明されています。

測定誤差の影響

差異的誤差

例1:要因の有無で検査の質が変わる場合
喫煙者と非喫煙者が同じ検査を受けたとしても、喫煙者では肺気腫があるんじゃないかと疑うことで、肺気腫が見つかりやすいことがあるかもしれない。喫煙者の方が肺気腫が多く発生したとしても、その一部は喫煙そのものの影響ではなく、検査頻度が多かったことに起因すると考えられる。アウトカムの測定が要因の有無によって異なっている。

例2:アウトカムの有無で要因の拾い上げ方が変わる場合
胎児に奇形が見つかった場合、妊娠中の要因の曝露について些細なことでも思い出す可能性がある。思い出しバイアス(recall bias)としてよく知られている。要因の測定(=思い出し方)がアウトカムの有無によって異なっている。

上の2つはいずれも、測定方法の性能(感度・特異度)が均一でないことに起因している。同じ検査でも状況が違えば性能は変わりうるし、「記憶を辿る」ということも立派な測定の1つ。

非差異的誤差

差異的誤差で情報バイアスを生じるのはよくわかる。では、非差異的誤差ではどうか。必ずしも差が薄まってNULL(=差なし)へ向かうばかりではない。

MEでは要因の非差異的誤分類、疾患の非差異的誤分類と順に説明されているが、読みながらメモに取ったことは以下の3点。

  • 測定性能が極端に悪いとNULLを超えて反対方向に向かうこともある。
  • 要因が3カテゴリー以上ある場合は、非差異的誤分類によりNULLと反対方向に動きうる。
  • アウトカムについての非差異的誤分類は、差の指標についてはバイアスをもたらさないが、比の指標についてはバイアスをもたらしうる。

差異的にしろ非差異的にしろ、効果を過大評価することも過小評価することもあるので、誤分類の影響がどちらに向かうかを分析して考察せよとのこと。

おわりに

  • バイアス分析についてはまたいずれ勉強します。
  • 猫が吹き抜け階段の手すりに乗っていると、落ちないかヒヤヒヤしますが、向こうからすると大きなお世話なんでしょうね。

参考資料

*1:タイトルに使っている「広義の」測定誤差に対して、「狭義の」測定誤差と言えるかもしれません

*2:勝手に訳しました

Rothman拾い読み:選択バイアスと一般化可能性

Rothman先生のModern Epidemiology(4th edition)をパラパラめくって拾い読みしたメモです。 今回は "Chapter 5:Measures of Effect and Measures of Association" と "Chapter 14:Selection Bias and Generalizability" から、選択バイアスについて。

交絡の話のときに選択バイアスの話は少ししました。

necostat.hatenablog.jp

今回はもう少し範囲を広げてみます。

選択バイアス(selection bias)とは

研究対象集団から推定される発生の指標や効果の指標が、本来源泉集団から推定されるべき値と系統的にズレてしまうこと。

MEのChapter 14の導入では、次の3つのケースが選択バイアスが生じる状況の例として挙げられている。

アウトカムが対象者選択に関連する場合:
アウトカム(あるいはその上流にある因子)が研究参加に関連していると、研究対象集団から推定されるイベント発生頻度は源泉集団とは異なってくる。例えば、普段健康に気を使っていて、不健康なアウトカムを発生しにくい人ほど研究参加に手をあげる傾向があると、一般人口よりも不健康なアウトカムが少なくなってしまう。

要因とアウトカムの両方が対象選択の上流にある場合
これは以前、Rothman拾い読み:交絡と交絡因子 - ねこすたっとで「高血糖と担癌とICU」で説明した選択バイアス。要因とアウトカムの両方が研究参加の上流にあるとき、研究参加者に限定することで要因とアウトカムの間に関連の道が開いてしまう。

アウトカムが対象選択に関連し、対象選択の強度が要因に関連する場合
アウトカムが研究参加に関連していて、要因の程度によって研究にどの程度参加するかが異なる場合にもバイアスが生じる。 例えば治療薬Aとそれよりも有効性が高い治療薬Bがあって、治療薬Bの方が副作用のため自己中止してフォローから脱落しやすい場合は、フォローできた(研究参加できた)人だけを比べると治療薬Bの方がアウトカムが良さそうに見えてしまう。

一般化可能性

「研究対象集団で推定された結果が標的集団にも当てはめることができるか」ということ。ちなみに、研究対象集団で認められた効果を”efficacy”と呼び、標的集団における効果を”effectiveness”と呼ぶ。

次のような研究結果は一般化可能性に乏しい。

  • そもそも内的妥当性が乏しい場合
  • 効果修飾因子のprevalenceが研究対象集団と標的集団で異なっている場合(効果修飾因子のprevalenceに関する情報があれば標準化などで対応可能)

「一般化可能性を高めるために、ちゃんと代表性のあるサンプルを得ましょうね」と書かれているが、研究の効率などを考えるとトレードオフなところもある。

MEではgeneralizabilityとtransportabilityという2つの語が並列して使われているところが多いが、前者については、

generalizability pertains to the question of the extent to which a study’s estimate of occurrence or association applies to the larger population from which the study population was sampled.

とあるので、研究結果を源泉集団に当てはめられるかどうか、ということを述べている。 これに対して後者については、

Transportability is a concept related to generalizability. It pertains to the broader question of the extent to which a study’s estimate of occurrence or etiologic effect can be used to derive an estimate for a second population, whose membership was not sampled in the process of enrolling the study population.

とあるので、研究結果をサンプリングが行われなかった別の集団に対して適応できるか、ということを表している。あえて訳すと「外挿可能性」みたいな感じか。

選択バイアスが発生する状況

冒頭で述べた、選択バイアスが生じうる状況の例の2つ目、3つ目をまとめると、要因とアウトカムの両方が、直接的あるいは間接的に研究対象者の選択に影響すると選択バイアスが生じる。
ここでは選択バイアスが起こってないか注目する場面を挙げている。

研究への参加登録の場面:
研究参加に対象者の同意を必要とする研究において、研究への参加に同意するかどうかが要因・アウトカムに影響をうける場合は選択バイアスを生じる。例えば、ケースコントロール研究では対象者は自分の要因・アウトカムを知っているので、それが研究参加に影響するとバイアスを生じてしまう。研究参加同意の撤回はいつでも許容されるので、ランダムに割り付けられた治療の盲検化が解かれた後での同意撤回が群間で偏るとバイアスに繋がりうる。

フォロー脱落の場面:
要因・アウトカムによってフォローから脱落する確率が変わる場合には、選択バイアスを生じる。治療薬の効果・副作用によって参加継続希望に差が生じないか、アウトカムの発生あるいは発生しやすさに影響する重症度によって脱落しやすくないか、などを考える。

研究ボランティアを募る場面:
「健康に関心がある人ほど研究参加に手を挙げやすい」というもの。自己選択バイアス(self-selection bias)とかボランティアバイアス(volunteer bias)の名前でよく知られている。

アクセスしやすい対象者に絞る場面:
例えば入院患者のように、情報を取りやすいなどの理由で研究実施に都合がいい患者に限定することによって生じる選択バイアス。1946年にBerkson氏が報告したため、バークソンバイアス(Barkson's bias, Berksonian bias)と呼ばれる。

下は、要因(E)とアウトカム(D)を2値変数ではなく、それぞれの傾向として模式的にグラフにしたものです。 源泉集団では両者に関連がないのに、Eが低くてDも低い人が対象に選ばれないようにすると、研究対象集団ではEとDに関連が出てきちゃうというイラストです。

おわりに

  • 選択バイアスが発生する場面は色々ですが、機序(DAGでの話)になると共通項が見えて面白いですね。

参考資料

Rothman拾い読み:交絡と交絡因子

Rothman先生のModern Epidemiology, 4th edition(以下ME)をパラパラめくって拾い読みしたメモです。 今回は "Chapter 5:Measures of Effect and Measures of Association" と "Chap 12:Confounding and Confounders" から、交絡について。

交絡(confounding)とは

関連の指標が因果効果の指標と一致しないときに「交絡がある(confounded/confounding)」と表現することについては前にまとめた。

necostat.hatenablog.jp

交絡を生み出す因子を交絡因子(confounder)と呼ぶことがある。

交絡因子の古典的3要件として

  • 要因と関連がある
  • アウトカムに効果を与える(予後因子)
  • 要因からアウトカムへの因果の経路上にない(中間因子でない)

はよく知られているし、これに沿って研究に登場する因子を整理して調整すれば、ほとんどの場合はOKだと思う。

ただ、調整することで却ってバイアスが発生してしまうことがある。このことの説明・理解にはDAG(directed acyclic graph)の話が不可欠だと思うので、また別の機会に。

ちなみにMEでは、DAGにもとづいて

We will then, in this book, refer to a confounder as a member of a minimally sufficient adjustment set.

つまり、「調整に必要十分な最小の因子の組み合わせ」を交絡因子と定義している。「交絡因子を調整する」というより「調整に必要な最小集合を交絡因子と呼ぶ」みたいな感じか。

後述のように、学術分野によってもどこまでを交絡と呼ぶかが微妙に違ったりするみたいなので、「関連 = 因果効果と言えない状況」を「交絡がある」と(曖昧に)呼んでおくことにする。

次に、前述の古典的定義の交絡により生じるバイアスと、それに類縁するバイアスを見ていく。

交絡バイアス(confounding bias)

古典的な定義にもとづく交絡により生じるバイアス。下のイラストでは、コーヒー摂取と肺ガン発症の因果関係をみる際に、喫煙が交絡バイアスをもたらす可能性を示している。

喫煙は肺ガンをもたらす効果があるし、喫煙は未測定因子  u を介してコーヒーと関連を持っている( uは喫煙者はコーヒーも好きという嗜好の傾向)。

これはDAG風に言えば、因果関係のバックドア(裏口)が空きっぱなしの状態。なので、喫煙について調整することで裏道をブロックすれば、コーヒーと肺ガンの関連を正しく推定できる。このとき、喫煙は興味ある2つの因子(コーヒー、肺ガン)に対する共通の原因(common cause)になっている。

選択バイアス(selection bias)

下のイラストは

  • 高血糖患者はICUに入りやすい
  • 担癌患者はICUに入りやすい

ということを表現したつもりです。

このとき、研究対象をICU入室者に絞ると、高血糖と担癌の関連が一般人口よりも強くなる可能性がある。

DAG風にいうと、変に調整したせいで因果関係ではないパスが空いちゃった状態。 2つの因子(高血糖、担癌)の共通の効果(common effect)である「ICU入室」で調整してしまうと、却って上流の2つの因子に関連が生じてまった状態であり、選択バイアス(selection bias)と呼ばれる。

「共通効果を調整することで、却って関連の通り道が開いてしまう」ということが変に思える人(私も最初はそうでした)は、次の例を考えてみてください。上流の2つの因子を「数学および国語の点数」、その下流にある因子を「合計点数」と考えると、合計点数があんまりよくなかったと判明した状態で「国語はよくできた」と言われたら、数学は悪かったんだろうと予想がつきますよね。

ちなみに、選択バイアスという言葉は分野によって使われ方が異なることがあるらしい。

  • 疫学系の選択バイアス:研究に組み込むかどうかにより生じるバイアス
  • 社会学系・経済学系の選択バイアス:暴露群・治療群に組み入れるかどうかにより生じるバイアス

後者は疫学では適応交絡(confounding by indication)と呼ばれる。

過剰調整(overadjustment)

因果パス上の因子を調整することにより生じるバイアス。そもそも交絡因子の古典的3要件その3に違反しているので、調整することはないと思う。

下のイラストで、ラーメン大量摂取が心筋梗塞をもたらす効果があることを見たいとき、血圧(= 中間因子)で調整してしまうと、因果の流れの一部がブロックされてしまう。

交絡因子の選び方

因子間の関係性について正解は誰にも分からないので、絶対的な正解はないと思う(MEでもどの方法を優先すべきなどは述べていない)。しかし、可能な限り先行研究や専門家としての知見にもとづいて、「因果関係がもたらされるメカニズム」を想定して選ぶ方がよいと思う。

以下、選び方について説明していますが、内容はかなり薄いので興味があればMEを読んでください。

治療前/要因前(pre-treatment / pre-exposure criterion)アプローチ:
治療や要因の決定よりも先に決まっている変数を調整する方法。調整によりかえってバイアスを生じる状況がありうる。

共通原因(common cause)アプローチ:
要因とアウトカムの両方の原因なっている変数を調整する方法。事象の因果のメカニズムに関する知見が必要。共通の原因でなくても調整すべき状況もある。

この2つについて、MEでは次のように述べている。

So whereas the “pre-exposure” criterion was too sensitive and could result in control for covariates that create bias, the “common cause” criterion is too specific and may result in not controlling for covariates that in fact would suffice to eliminate bias.

治療前/要因前アプローチは敏感すぎるが、共通原因アプローチは鈍感すぎる、とのこと。

分離原因(disjunctive cause criterion)アプローチ:
要因よりも前にあるもので、要因・アウトカムの少なくとも一方の原因になっている因子を調整する方法。前2者の中間的存在。未測定バイアスの存在下で、調整で却ってバイアスが増強する状況や、原因ではなくても調整した方がバイアスを減らせる状況(proxy confounder)などがある。

統計的(statistical)アプローチ:
共変量の候補に対して、データが相対的に少ないとき用いられることがある。

  • backward/forwardアプローチ:ステップワイズ法としてよく知られる方法
  • change-in-estimateアプローチ:含めるときと含めないときで係数が例えば10%以上変化する変数を含める
  • high-dimentional propensity scoreアプローチ
  • machine learningアプローチ

おわりに

  • 交絡、選択バイアス、測定についてはDAGと向き合ってまとめてみるつもりです。
  • 調整すべき因子の選択方法の話もそのときに。

参考資料

Rothman拾い読み:効果・関連の指標

Rothman先生のModern Epidemiology, 4th edition(以下ME)をパラパラめくって拾い読みしたメモです。 今回は "Chapter 5:Measures of Effect and Measures of Association" から、効果・関連の指標について。

効果(effect)

「効果(effect)」という語は、単に「結果・転帰」のような意味で使われることもあるが、疫学的に大事なのは以下の定義だろう(MEから引用)。

an effect of a factor is a change in a population characteristic that is caused by the factor being at one level versus another.

MEの例を引用すると、アルコールをたくさん飲んで肝硬変のaverage riskが1/10000人年から1/1000人年に増加した場合、これを「アルコール過剰摂取の効果」と表現する。この「アルコール過剰摂取」のように、潜在的な原因となりうる特性(行動様式、習慣、治療、遺伝的素因、社会的状況、併存症など)のことを「要因(exposure)」と呼ぶ。また、ここでの「集団の特性」は臨床研究で言うところの「アウトカム(outcome)」と言い換えてもいいだろう。

効果(effect)とは「要因の程度が変わることにより集団にみられるアウトカムの変化」であるし、「効果がある」ということは「要因とアウトカムに因果関係(causation)がある」ことと同じ意味で考えてよさそう。両者を合わせた因果効果(causal effect)という語もよく使われる。

因果効果(causal effect)と関連(association)

よく混同されがちなこの2つの概念の違いを端的に理解するには、Harnan先生のCausal Inference: What ifに描かれてある図が一番分かりやすいと思う(手書きにしました)。

イラストの右では、「集団の中で要因がある人」と「要因がない人」を比べているが、これでは因果関係(あるいは因果効果)があるかどうかは分からない。これで見ているのは関連(association)の有無。

因果効果をみるためには、「集団全員が要因を有した場合に発生するアウトカム」と、「同じ集団全員が同時期に要因を有していなかった場合に発生するアウトカム」を比べる必要がある(イラスト左)。 当たり前の話だけど、これらは実際には同時に起こりえない・同時に測定しえない状況であり反事実(counterfactual)と呼ばれる。また、その要因があったら(なかったら)観測されたであろうアウトカムを潜在的アウトカム(potential outcome)という。

これに対し「関連(association)」は、「異なった集団において見られるアウトカムの違い」のこと。効果は「同じ集団かつ同じ時期」なので観察不可能だが、関連は「異なった集団あるいは異なった時期」なので観察可能。でも両者が同じになるとは限らない。両者が一致しない状況を「交絡がある(confounded / confouding)」と表現することがあるが、交絡については別の機会に。

効果の指標

要因の効果は、発生割合や発生率などの「差」や「比」を使って表現する。 発生の指標の差は絶対的効果指標(absolute effect measure)、発生の指標の比は相対的効果指標(relative effect measure)と呼ばれる。

繰り返しにになるが、ここで言っている発生の指標とは「潜在的アウトカムの発生の差・比」のこと。 集団全員が要因を有した場合に発生するアウトカムと、集団全員が要因を有していない場合に発生するアウトカムについて、発生割合や発生率の差・比を見なければならない。

絶対的効果指標

  • 発生割合の差:causal risk difference, excess risk
  • 発生率の差:causal rate difference
  • 発生時間の差で見ることも可能

相対的効果指標

  • 発生割合の比:causal risk ratio
  • 発生率の比:causal rate ratio
  • 発生オッズの比:causal odds ratio
  • 発生時間の比:causal ratio of disease-free time
  • Risk ratioとrate ratioをまとめて、relative riskと呼ぶこともある
  • 同じ状況を異なった3つの指標(割合、率、オッズ)の比で評価した場合、割合、率、オッズの順にNULL(=1)から遠くなる。

この他に、要因ありの集団における発生割合(率)で差を割った寄与割合(attributable fraction)として表すこともある。 MEではこの後、効果修飾や層別効果の統合、指標の標準化などの話が続く。

おわりに

  • 因果効果は「If, もしも」の世界。
  • 猫にもフィッシュ派とチキン派がいるんだなと思う今日この頃です。

参考資料

Rothman拾い読み:疾病の発生・存在を表す指標

Rothman先生のModern Epidemiology, 4th edition(以下ME)をパラパラめくって拾い読みしたメモです。 今回は "Chapter 4:Measures of Occurrence" から、疾病の発生や疾病状態の存在に関する指標について。

「発生の指標」と「存在の指標」

疫学は

  • 人の集団を対象としている
  • 健康状態を興味の対象としている

を特徴としている。1つ目の集団(population)については先日まとめた。

necostat.hatenablog.jp

2つ目については、「健康状態に関するイベントがどれくらい発生するか」が最も興味があるところだろう。
ここでいうイベントとは例えば、

  • 健康な人が病気になる
  • ある疾患に罹患している人が死亡する
  • 寛解状態だった人で病勢が増悪する・再発する

などのこと。

これらのイベントが発生するかどうか観察するためには、「イベントを発生する可能性があるけど、まだ発生していない人(at risk状態の人)」と「イベントが発生するまで観察する時間」が必要である。

イベントがいつ発生したかはっきり分からない場合(先天奇形、緩徐に進行する変性疾患など)は、「発生」の代わりに疾患(などの状態)が「存在」することを指標にすることがある。この場合は発生するまで観察する時間は不要だが、どの時点での状態かが決まっていないといけない。

発生割合(incidence proportion)

観察開始後に集団に出入りがないとして、観察開始時の人数に対する発生者数の割合を発生割合(incidence proportion)と呼ぶ。つまり「発生割合 = 発生者数 / 全体数」。

  • 観察開始時点では全ての人は「イベントを発生していないが将来的に発生しうる状態」、つまり「at riskな状態」でなくてはならない
  • イベントを発生した人数は開始時点の人数を超えることはないので、発生割合は必ず0から1の値になる。
  • 分母も分子も同じ単位(人)なので、発生割合は無単位
  • 発生割合を定義するときは必ず「どの時点での話なのか」を特定しておかないと意味がない。死亡発生割合が10%と言っても、1週間で1/10なのか、50年で1/10なのかによって全然意味が違ってくる。

リスク(risk)という語は一般的になっているので色々な意味で使われがちだけど、疫学では「ある期間内に疾病を発生する確率」と定義されて使われることがある。発生割合はリスクの推定値になることは直感的に分かるだろう。Riskは個人についても定義できるので、集団の平均riskが推定されるという方が正確。

発生割合の裏返し、つまり「ある期間観察された時点でまだイベントを発生していない人の割合」は生存割合(survival proportion)と呼ばれ、これも便利な指標としてよく使われる。

発生した割合  p を発生しなかった割合  1-p で除したもの  \frac{p}{1-p}発生オッズ(incidence odds)と呼ばれる指標。発生割合が小さくない(例えば10%を超える)ときは、発生オッズは発生割合から乖離するため適切な近似にならないことに注意。

発生時間(incidence time)

発生時間(Incidence time)は観察開始時点(zero time)からイベントが発生した時点までの時間として定義される。集団における平均発生時間は「その集団において、イベントが発生するまで平均的にどれくらい待つことになるか」と捉えることができる。

イベント発生前に観察ができなくなってしまう「打ち切り(censoring)」があると、途中でフォローから脱落した人がいる場合や、そもそも全員がイベントを発生するとは限らない場合*1は、正確な発生時間が観察できない。この場合は次に説明する発生率が役に立つ。

発生率(incidence rate)

「死亡」は全員に発生しうるイベントであり、観察期間を130年くらい取れば必ず観察可能。しかし疫学ではしばしば、全員に発生するとは限らないイベントや、観察期間内には発生しないかもしれないイベントをアウトカムとして扱わなければならないことがある。このとき、発生時間は正確に測定できないので、person-time法*2を使る。

次の時間を各患者のperson-timeとしてカウントする。

  • イベントを発生した人は、イベントを発生するまでの時間(=発生時間)
  • イベントを発生しなかった人は、観察することができた期間(開始から追跡脱落や研究期間終了まで)

集団で発生したイベントの合計数を、集団におけるperson-timeの総和で割ったものが発生率(incidence rate)となる。 発生割合と比較した特徴としては、

  • 発生率は「人数」を「人数×時間」で割るので、単位は時間の逆数 year^{-1}, month^{-1} など)になる(発生割合は無単位)
  • 発生率が取る値の下限は0だが、上限はない(発生割合は0か1の範囲に収まる)

発生率(incidence rate)の他に、hazard rateやdisease intensityなどとも呼ばれることもある。これらはどちらかというと分母にくるperson-timeを極限に短くした「瞬間死亡率」として使われることが多い。

発生率は発生割合や発生時間と比べると、やや直感的に解釈しにくいかも。 例えば、「100人を1年観察するして1例発生する」と「1人を100年観察して1例発生する」という結果は、同じ発生率になってしまうので、発生の様式についてもっと詳細に表現するためには発生時間など他の指標が必要。

以上、発生の指標御三家をまとめたのが次のイラストです。

反復イベント(recurrent events)の発生率

人は1回しか死なない*3が、感染症の罹患や腫瘍再発などは同じ人で複数回観察されうる。

健康な人における感冒罹患であれば、1回目の罹患と2回目以降の罹患の前で、健康状態や生活様式の違いはほとんどないだろう。この場合は、初回と2回目以降のイベント発生を区別する必要がない(と考えて差し支えない)。2回目以降のイベントも1回目と同様にカウントして、「発生率 = イベント発生件数 / person-timeの総和」とすればよい。

しかし腫瘍再発を考えるとき、「再発した人は再々発しやすい」のであれば、初回と2回目(さらには3回目)を同じと考えることは難しい。1回目のイベントと2回目以降のイベントが無関係に発生していると仮定することに無理があるのであれば、何番目のイベントかに対応したperson-timeを計算する必要がある。

つまり、

  • 初回のイベント発生に対しては、観察開始から初回イベント発生までのperson-timeを対象とする。初回イベント発生後の時間はperson-time at riskにカウントしない。
  • 2回目のイベント発生に対しては、初回イベント発生時点から2回目のイベント発生までの観察時間をperson-timeとする(3回目以降も同様)。

として、 i 番目のイベント発生率を計算する。

有病割合(pervalence)

有病割合(pervalence)は厳密には発生の指標ではなく、疾病が存在している状態に注目した指標。イベント発生を観察するためには時間の流れが必要だったが、prevalenceのときは「ある一時点」を特定する必要あり。

「有病割合 = 疾患を有する人数 / 全体数」で計算される。「有病率」ではなく「有病割合」と呼ぶべきであることは、発生割合・発生率の違いから理解できる。

疾病を有する状態にある人で構成される部分集団をprevalence poolと呼ぶ。疾病に罹患するとprevalence poolに加入し、死亡や治癒でpoolから除外される。なので、すぐに治る疾患(感冒など)や死亡率が高い疾患(ARDSなど)は有病割合は低くなり、治癒もしないが死亡もしない疾患(糖尿病など)では有病割合が高くなる。後者は罹病期間が長い疾患とも捉えられるので、有病割合には発生率と罹病期間の両方が反映されることになる。

上のイラストで有病割合はバスタブの水位に相当します。

おわりに

  • 学んだこと:Incidence proportionは打率、incidence rateは防御率
  • 複数回観察されうる場合は、1回目と2回目が同質かどうか考える必要あり

参考資料

*1:人は皆いつか死ぬが、必ず癌になるとは限らない

*2:日本語としては人・時間法より人年法の方が馴染みがありそうなので、ここでは英語のままにします

*3:007を除く

Rothman拾い読み:“Population”にまつわるエトセトラ

Rothman先生のModern Epidemiology, 4th edition(以下ME)をパラパラめくって拾い読みしたメモです。 今回は "Chapter 4:Measures of Occurrence" から、population(集団)について。

疫学とは

MEの本文冒頭は、「疫学(epidemiology)とは何か」から始まっている。 これによると疫学研究を特徴づける要素として、

  • 人の集団を対象としている
  • 健康状態を興味の対象としている

の2点があるとのこと。1つ目の「人の集団(population)」という要素については、あとでもう少し詳しくみていく。

次に進むと疫学を大きく2つに分類して説明している。

記述疫学(descriptive epidemiology)とは、疾病や集団の健康指標(年齢、性別など)を記述する疫学であるのに対して、 分析疫学(analytic epidemiology)あるいは病因疫学(etiologic epidemiology)とは、疾病発生における要因(つまり疾病発生の潜在的な原因)の効果を評価する疫学。

でもMEでは、分けて考えると記述疫学が軽んじられやすくなること、明確に分けきれない場合があることを理由に、両者の区別にこだわらないとのこと。

このあと、科学とは何か的な話(帰納法主義とか反証主義とか)が続きます(が、ちゃんと読んでないです)。

集団(population)

「人の集団(population)」は疫学を特徴付ける重要な要素なので、定義や修飾語について説明あり。

MEではpopulationを「ある特性を共有したり、構成員であることの基準を満たしている人たちの集合体」と定義している。 特性や基準とは、年齢や性別のほか、「神戸市に住んでいる(居住地)」とか「薬Aを飲んでいる(受けている治療)」などのことで、これら(さらにはその組み合わせ)でpopulationの構成員かどうかが決まる。条件に合致するかどうかは時間によって変化しうるので、「いつの時点で」ということを明確に決めないといけない。

閉じた集団(closed population)と開いた集団(open population)*1

死亡以外の理由で構成員の出入りが生じない集団をclosed populationという。この場合、観察期間の途中で加入する人はいないので、集団のサイズは死亡が発生するにつれて段々と小さくなっていく。

これに対して、途中加入も死亡以外の脱退もある集団をopen populationという。Open populationでは出入りのバランスが上手く取れていると、集団全体の特性が一定に保たれることがあり、「定常状態(steady state)」と呼んでいる。

コホート(cohort)

Cohort(コホート)はpopulationと同じ意味で使われることがあるが、MEではもっと概念的な特徴として "permanent" と表現している。

ちょっと抽象的で分かりにくかったが、その後の説明で「追跡から脱落すれば研究対象集団ではなくなるが、cohortのメンバーであることは変わらない」とある。追跡できなくなってもpopulationから除外される訳ではなく、追跡できた範囲の情報が利用されたり、追跡できなくなったことも観察の対象だったり、追跡できなくなった後のイベント発生も想像する、という意味でparmanent(永続的, 不変的)だろう(と勝手に解釈)。

コホートのメンバーは、宇宙に行こうが、興味ある死因以外で死亡しようが、どうなったか分からなくなろうが、ずっとコホートの一員だということを表したイラストです。

Source/Study/Target

ここではpopulationに対して用いられる修飾語について説明されている。

源泉集団(source population)
疾病頻度の観察の際にサンプリングされうる集団。特定の場所に住んでいる、特定の病院に通っているなどで、研究参加へ招待されうる人たちのこと。例えば、ある地域住民にアンケート調査をするのであれば、住民台帳に載ってない人は研究に招待されないし、健康保険のレセプトデータを使う場合にはその保険の加入者しか対象者になりえない。

研究対象集団(study population)*2
源泉集団の中で、研究で実際に経過を観察される集団。源泉集団に属していても、研究に何らかの理由で招待されなかったり、参加同意しなかった人は含まれない。

標的集団(target population)
集められた疾病頻度の結果を適用することが妥当であると考えられる集団。標的集団に結果を当てはめられるようにして研究対象集団を含めた研究デザインを考えていく必要がある。

おわりに

  • 学んだこと:"Once a Cohort, Always a Cohort."
  • 猫が夜中にキーボードを踏み踏みしてました。感触が気に入ったんでしょうか。

参考資料

*1:閉鎖集団と訳すと閉鎖的な集団に聞こえるので勝手にこんなふうに訳しました

*2:研究集団と書くと研究してる側に聞こえちゃうので

Brunner-Munzel検定で分布によらずに2群の代表値を比較する(brunnermunzelパッケージ)[R]

少し前に連続変数の代表値比較でどの検定方法を使えばよいのか考えた。

necostat.hatenablog.jp

今回はそこで出てきたBrunner-Munzel検定をRで実行する方法を自分用に書いておく。

Brunner-Munzel検定を実行するための関数はlawstatパッケージにもあるみたいだけど、brunnermunzelパッケージだと小サンプルで使う並べ替え版(permutated BM test)も入っているみたい。

パッケージとデータの準備

brunnermunzelパッケージを読み込んで、模擬データを作る。このパッケージの説明で使われていた治療別(Y, N)の術後疼痛スケールのデータをそのまま使った。

library(brunnermunzel)
Y <- c(1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 1, 1) 
N <- c(3, 3, 4, 3, 1, 2, 3, 1, 1, 5, 4)

データフレームを使う方法を確認するために、上のデータをデータフレーム型としておく。

dat <- data.frame(value = c(Y, N), 
                  group = factor(rep(c("Y", "N"), 
                                     c(length(Y), length(N))), 
                                 levels = c("Y", "N")) )

出来たデータフレームは次のとおり。

> head(dat)
  value group
1     1     Y
2     2     Y
3     1     Y
4     1     Y
5     1     Y
6     1     Y

brunnermunzel.test( )を使ってBrunner-Munzel検定を行う

比較したい変数の指定方法はt.test( )と同じ。他に指定できる主な引数は以下のとおり。

  • alternative:"two.sided", "greater", "less"
  • alpha:有意水準(デフォルトは0.05)
  • perm:並べ替え法(permutated BM test)を使うかどうか。デフォルトは"FALSE"(並べ替え法を使わない)。
  • est:何の信頼区間を推定するか。est = "original"のときは、 p = P(X&lt;Y) + 0.5*P(X=Y) を、 est = "difference"のときは  P(X&lt;Y) - P(X>Y) を推定する。

全てデフォルトのまま実行してみる。

> brunnermunzel.test(Y,N)

    Brunner-Munzel Test

data:  Y and N
Brunner-Munzel Test Statistic = 3.1375, df = 17.683, p-value = 0.005786
95 percent confidence interval:
 0.5952169 0.9827052
sample estimates:
P(X<Y)+.5*P(X=Y) 
        0.788961 

P値は0.0058となった。

brunnermunzel.permutation.test( )を使って並べ替えBrunner-Munzel検定を行う

次に並べ替えBrunner-Munzel検定をやってみる。brunnermunzel.test( )の引数でperm=TRUEとしてもよいが、せっかくなのでbrunnermunzel.permutation.test( )を使ってみる。

データフレームを渡すときは、「比べたい値~群分け変数」の要領で指定すれば良い。このときは引数dataで使用するデータを指定するのを忘れないように。

estをデフォルトでない"difference"にしてみる。

brunnermunzel.permutation.test(value ~ group,
                               data = dat,
                               est = "difference")

結果は下のとおり。

 permuted Brunner-Munzel Test

data:  value by group
p-value = 0.008038
sample estimates:
P(X<Y)-P(X>Y) 
    0.5779221 

並べ替え版では信頼区間は計算されない。

サンプル数があまりにも多いと、すごく時間がかかってしまう。デフォルトでは40116600通り以上の組み合わせを計算しないといけないときは並べ替え法ではなく通常版を使う設定千種なっている(引数force=TRUEとすると組み合わせ数の上限がなくなり、強制的に並べ替え法を実行できる)。

おわりに

  • そのうちMann-Whitney U検定に取って代わる日が来るんでしょうか。

参考資料

  • 奥村先生の解説記事です。Brunner-Munzel検定の理論的背景を知りたい方は是非どうぞ。

okumuralab.org

  • hoxo_mさんの代表値を検定方法を比較したシミュレーションの記事です。コードが分からなくても結果のグラフを見るだけでも面白かったです。

hoxo-m.hatenablog.com