玄関雑学の部屋雑学コーナー統計学入門

8.3 共分散分析と層別解析

(1) 共分散分析による背景因子の補正

結果に影響をおよぼす項目の代表として、臨床試験における背景因子があります。 一般的な臨床試験では対象を無作為にいくつかの群に分けて、それぞれ異なった薬剤を投与し、その薬効を比較する群間比較試験いわゆる無作為化比較対照試験(RCT:Randomized Controlled Trial)を行います。 このデザインの試験では、まず最初にそれぞれの群の背景因子を調べて、それが一致しているかどうかを検討します。 これは結論を当てはめるべき準母集団がどのような特徴を持っているのか、そして各群の準母集団に違いがあるかどうかを調べるための手続きです。 (→1.9 科学的研究のデザイン)

この場合、背景因子について各群の平均値や割合がばらついているかどうかという有意性検定を行い、有意にならなければ各群の背景因子はほぼ等しいと結論するのが一般的です。 しかし有意性検定で有意ではない時は、「データの信頼性が低いので統計学的結論を保留する」という意味であることは第1章で詳しく説明したとおりです。

したがって本来は背景因子の各項目について医学的に同等と言える許容範囲を設定し、項目ごとに統計的仮説検定の必要例数を求めます。 そしてその必要例数の中の最大の例数で試験を行い、統計的仮説検定を行う必要があります。 その結果、全ての項目の検定結果が有意ではなく、信頼区間が許容範囲内にすっぽりと収まっている時、はじめて背景因子の医学的な同一性を証明したことになります。 (→1.5 有意性検定の考え方1.6 統計的仮説検定の考え方)

ところがたとえ平均値や割合がほぼ等しいとしても、背景因子のバラツキが結果のバラツキに影響を与えて結果を濁らしているかもしれませんし、背景因子の与える影響が薬剤によって異なるかもしれません。 そこで、こんな時は背景因子を共変数にした共分散分析を適用することが考えられます。 背景因子が多くて共変数が多数の時は回帰式を重回帰式にした共分散分析を行なうだけであり、原理的には第2節で説明したことと変わりません。

ただその場合、全ての背景因子を共変数にすると実用上かなり繁雑なことになります。 そこで第7章で説明した変数選択法を利用して結果に強い影響をおよぼす背景因子だけを選択し、それを共変数にするという手が考えられます。 この手法を用いると結果に強い影響をおよぼす背景因子がわかり、群によってその影響の仕方に違いがあるかどうか、また影響を取り除いた時の結果がどうなるのかを検討することができます。 そしてさらに背景因子をある値に固定した時の結果がどうなるのか、などといったことも推測できるので便利です。 (注1) (→7.3 変数の選択)

(2) 層別解析の非合理性

臨床試験では、ある特定の背景因子を持つ対象——例えば男だけまたは女だけ——を取り出してデータを解析する層別解析(Statified analysis)またはサブグループ解析(subgroup analyses)をよく行ないます。 これは対象の背景因子を均一にすることによってデータのバラツキを減らして比較の感度を上げ、同時に背景因子による薬効の違いを見つけ出そうとするためのものです。 しかしこの層別解析は次のような理由であまり合理的ではない解析法なのです。

まず第一の理由は結果の信頼性が落ちる上に、その解釈に問題があるということです。 例えば対象を年齢によって若年層と老年層とに分け、薬効の指標となるデータを層別解析し、若年層では群間の薬効差が有意にならず、老年層では有意になったとします。 すると気の早い研究者は次のように速断を下してしまいがちです。

「若年層では薬効に差はないが、老年層では薬効に差がある!」

ところがこれが層別解析の思うツボ、結果をよく吟味しないと層別解析の落とし穴にはまってしまうことになります。 何故なら検定結果が一方の層だけ有意になるのは、次のような2つの場合があるからです。

図8.3.1 年齢の影響が異なる場合 図8.3.2 年齢の影響が同じ場合

図8.3.1では年齢が薬効におよぼす影響が群によって異なっています。 つまり若年層ではA群とB群の薬効はほぼ同等ですが、老年になるにつれてA群だけ薬効が高くなるため、老年層ではA群の方が薬効が高くなっています。 層別解析の検定結果だけから速断すると、このように「年齢によってA群とB群の薬効差が異なる」という結論になります。

それに対して図8.3.2では年齢が薬効におよぼす影響はどちらの群も同じであり、平均的な薬効差は年齢によらず一定です。 しかし若年層は例数が少ないため有意にはならず、老年層は例数が多いため有意になっています。 このような場合、層別解析の検定結果だけから速断した結論が間違っていることは言うまでもないでしょう。

層別解析では層を細かく分ければ分けるほど例数が減ります。 その結果、詳しく分析しているつもりでいて、その実、結果の信頼性を下げているだけのことが多く、検定結果が有意になりにくくなります。 そして例数が少なくなると統計的仮説検定の必要例数を満足しなくなり、有意性検定になってしまいます。 そのため層別解析は検証的ではなく探索的な性格が強く、結果もそのつもりで解釈する必要があります。

また背景因子が年齢などの連続量の時は合理的な層別化がしにくい上、層の区切り方によって結果がコロコロ変ってしまうことがあります。 そして例えば図8.3.1と図8.3.2に示したように、層別解析は年齢と薬効の関係を階段状の折れ線として解析します。 つまり境界値にした年齢までは薬効は一定であり、境界値の年齢を超えるといきなり薬効が不連続に上昇し、その年齢以後は薬効はまた一定と仮定して解析するわけです。

それに対して共分散分析は境界値を決めず、年齢と薬効の関係を直線で近似して解析します。 そして回帰と非平行性を分析することによってデータ内容について正しい解釈ができる上に、全データを効率的に使用するので結果の信頼性が高くなります。 また背景因子が性などの分類データの時でも、0/1のダミー変数を利用して連続量と同じように分析することができます。

第二の理由は背景因子間の相関性ということです。 背景因子はお互いに関連し合い、相関性を持っているのが普通です。 そのため1つの背景因子で層別しているつもりでも、それと相関を持つ他の背景因子でも層別していることになります。 例えば飲酒や喫煙の有無は、普通は——あくまでも平均的な話ですが——性と相関を持ちます。 そのため性で層別したつもりで、実は間接的に酒やタバコの有無で層別していることになりかねません。

このような時も、共分散分析を用いると正しい分析をすることができます。 共分散分析の回帰式を重回帰式にした時は、共変数間の相関性を考慮して純粋に1つの因子が与える影響力を計算します。 そのため分析結果をそのまま素直に解釈すれば良いことになります。

第三の理由はこれは後知恵による後層別だということです。 例えば性が薬効におよぼす影響を調べたいのなら、本来はそれを目的にした試験を行うべきです。 つまり最初から男女別に統計的仮説検定に必要な例数を集めます。 そして男性群と女性群についてそれぞれ無作為に2群に分け、薬効を比較したい2種類の薬剤を投与するのです。 これを層別無作為化といい、後層別と似て非なる概念です。

そこで最近は層別無作為化による解析を層別解析と呼び、後層別による解析をサブグループ解析と呼んで区別しようという傾向があります。 実は繰り返しのある二元配置分散分析は、本来は層別無作為化された試験から得られたデータを分析するための手法なのです。 そのため無作為層別化による層別解析は、層別因子による主因子の調整だけでなく、層別因子と主因子の交互作用の検討も大きな目的になります。 (→1.9 科学的研究のデザイン (4)フッシャーの3原則4.3 繰り返しのある多標本・多時期の計量値 (1)繰り返しのある二元配置分散分析)

後層別の場合、それぞれの層において各群の背景因子が同等であることはほとんど確認しません。 またたとえ背景因子を調べてたまたま同等だったとしても、それは各群の準母集団が同等である証明にはなりません。 何故なら調べられる背景因子には限りがあり、それらは準母集団を特徴づけるパラメーターの一部でしかないからです。

例えばミカンを均等な2つの山に分けたいとします。 その場合、同じくらいの大きさのミカンを2つずつ取り出し、それを無作為に2つの山に分配するという計画的山分け法と、全部のミカンを1つの山にしておき、それを目分量で2つの山に分けるという無造作山分け法について比較してみましょう。

計画的山分け法では、2つの山に分けた後で2つの山の重さを測定し、ほぼ同じ重さなら山の中のミカンの大きさや個数まで同等である可能性が高くなります。 つまりこの方法で山の重さを調べるのは分け方がうまくいったかどうかを確認するためなのです。 それに対して無造作山分け法では、2つの山に分けた後で2つの山の重さを測定し、ほぼ同じ重さだったとしても山の中に隠れたミカンの大きさや個数まで同じである保障はどこにもありません。 つまりこの方法で山の重さを調べるのは単なる気休めにすぎないのです。

このように層別無作為化によって初めてそれぞれの層における各群の背景因子の同等性を保障できるのであり、後知恵である後層別の場合は保障の限りではありません。 そのため後層別では往々にして背景因子が偏ってしまうことがあります。 例えば若年層と老年層に後層別したところ、若年層はたまたま男ばかりが対象になったとします。 この時、若年層では性が結果におよぼす影響を評価できなくなります。 これは層別集計だけでなく共分散分析にとってもはなはだ都合の悪いことです。

つまり結論的なことを言えば、ある要因が結果に与える影響を純粋に評価したいのなら、それ以外の要因は全て一定にコントロールし、目的の要因だけを色々変化させてその結果を評価するような試験を行なうのが一番良いということです。 それが不可能な時は、次善の策として偶然に任せる要素をできるだけ少なくし、無作為割付を行うことによって偶然に任せた要素が群ごとにほぼ均等になるようなデザインの試験にします。 そしてその上で偶然に任せた要素を共変数にした共分散分析を行うことによって、それらの要素の値を一定にした時の結果を推測します。

ただし後層別解析(サブグループ解析)と同様に共分散分析も後知恵であることに変わりはなく、その推測結果はあくまで計算上のものであり、実際の試験によって確認したわけではないということを忘れてはいけません。 特に層によって背景因子が極端に異なっている時は回帰直線を外挿法的に使用して背景因子の影響を補正するため、共分散分析の結果の信頼性が低くなるので注意が必要です。 (注2)

(注1) 結果に強い影響をおよぼす共変数を選択するには、目的のデータを目的変数yにし、背景因子などの共変数を説明変数にした変数増減法による重回帰分析を群ごとに適用すると便利です。 その場合、選択された変数の組み合わせは群によって多少異なるかもしれません。 そのような時は一度でも選択された変数は全て共変数にします。 重回帰式を用いた共分散分析は次のように計算します。

全体重回帰モデル:
共通重回帰モデル:
bi0:Ai群の切片、群により異なる (i=1,…,a)   bk:共通偏回帰係数、全ての群で共通 (k=1,…,p)
群別重回帰モデル:
bii0:Ai群の切片、群により異なる (i=1,…,a)   bik:Ai群の偏回帰係数、群により異なる (k=1,…,p)

(1) 重回帰分析と同様にも含めたデータ行列iを群ごとに用意し、その行列の転置行列と元の行列の積から単純積和行列iを作ります。

そしてそれらを合計して全体の単純積和行列0を作ります。



  

(2) i0を0行0列要素(例数)を軸にして掃き出し、平方和行列i0に変えます。

そして群ごとの平方和行列iを合計して、共通平方和行列を作ります。


全体平方和:ST=S0yy0の[p+1,p+1]要素   全体自由度:φT=n - 1
群別平方和:Syyi=Siyyiの[p+1,p+1]要素   共通平方和:Syyの[p+1,p+1]要素

(3) これらの平方和行列を[1,1] 〜[p,p]要素を軸にして掃き出し、重回帰式を計算します。

掃き出しの結果、各平方和行列の(p+1)列が偏回帰係数ベクトルになります。 この時、共通平方和行列の0行と0列に全体の平方和行列0の0行と0列を入れて掃き出せば、全体の共通重回帰式になります。 またの0行と0列に群ごとの平方和行列iの0行と0列を入れて掃き出せば、群ごとの共通重回帰式になります。 そしてそれらの共通重回帰式は切片b0が異なるだけで、偏回帰係数は全て同一の「平行な重回帰式」になります。 なお群差と修正群差の計算式は直線回帰式の場合と同一です。

全体偏回帰係数ベクトル:0p0の(p+1)列   p0:1〜p軸で掃き出した後の全体平方和行列
全体回帰平方和:Sβ0=ST - pS0yy  pS0yyp0の[p+1,p+1]要素   全体回帰自由度:φβ0=p
共通偏回帰係数ベクトル:pの(p+1)列   p:1〜p軸で掃き出した後の共通平方和行列
共通回帰平方和:Sβ=Syy - pSyy  pSyypの[p+1,p+1]要素   共通回帰自由度:φβ=p
群別偏回帰係数ベクトル:iipiの(p+1)列   pi:1〜p軸で掃き出した後の群別平方和行列
群別回帰平方和:Sβi=Syyi - pSiyy   pSiyypiの[p+1,p+1]要素  群別回帰自由度:φβi=p
非平行性平方和:   非平行性自由度:φD=p(a - 1)
残差平方和:   残差自由度:φR=n - a(p + 1)

以上の値を用いて、直線回帰式の時と同じ共分散分析表を作ることができます。 そしてその解釈の仕方も全く同様です。

(注2) この意味で、臨床試験によって薬剤の効果を調べたい時はプラセボを投与したコントロール群が必要不可欠です。 薬剤の本当の効果は薬剤を使っていない時と比較して初めてわかるものであり、標準薬と比較しても正確にわかるものではありません。 たとえその標準薬の薬効がはっきりと確認されていたとしても——実際には薬効がはっきりと確認された標準薬は驚くほど少ないのですが——二重盲検試験などの場合、プラセボがない時は薬効判定がついつい甘くなってしまうのです。

僕が関係した臨床試験で、同じ薬剤についてプラセボ群を置いたものと、プラセボ群を置かないものの2通りの試験を行ったことがあります。 両者はプラセボ群の有無以外は全く同じプロトコールの二重盲検試験であり、試験を実施した施設も季節も全く同一でした。 その結果は、プラセボ群を置いた時の薬剤の改善率と置かない時の薬剤の改善率を比較すると、全く同じ薬剤であるにもかかわらずプラセボ群を置かないものの方が約10〜15%程度高くなっていました。 そして驚いたことに、その改善率の差は薬剤とプラセボの改善率の差よりも大きかったのです!

「患者に薬効のないプラセボを投与することは人道上問題がある」

という意見があります。 確かにプラセボの投与は危険を伴います。 しかし効果も副作用もはっきりしない新薬や標準薬を投与する危険性も、それと似たようなものでしょう。 いや、むしろ糖尿病や脂質異常症などの慢性疾患では、それまで標準薬として用いられていたどの薬剤よりもプラセボの方が延命率が高く有用であることが、アメリカのUGDPやCDPなどの大規模臨床試験で実証されています。

プラセボ投与の危険性に対しては、例えば症状が悪化したり重篤な副作用が出現したらただちに薬剤の投与を中止し、「無効」または「有害」と判定してデータを利用するという対処法があり、実際にもしばしば行われています。 もちろん癌のように、どうしてもプラセボを使用できない疾患もあります。 しかしその場合でも、できるだけヒストリカル・コントロール——過去の文献や経験を参考にして薬剤を使わない時のデータを推測し、それをコントロール群のデータにする——を利用して結果を正確に評価すべきです。

臨床試験の倫理性ということが問題にされ、プラセボを使わない臨床試験が行われることがよくあります。 しかし効果のはっきりしない標準薬を使い、

「標準薬と有意差がないから同等以上の効果が期待できる」

などというわけのわからない結論を出す非科学的な臨床試験こそ、僕に言わせればよっぽど非人道的で倫理性を欠いたものです。 その試験結果を信じた医者によって、効果も副作用もはっきりしない薬剤がどれほど多くの患者に使用されることでしょう。 それは知らず知らずのうちに行なわれる大規模な人体実験であり、それがどのような悲惨な結果をもたらすものであるのか、私達は薬害という苦い経験を通してよく知っているはずです。 (→1.7 ハンディキャップ方式の検定 (注1))

僕には臨床試験があまりにもいい加減に計画され——というよりも、ほとんど無計画のまま実施され、そのデータがあまりにも非科学的に解析されているような気がしてなりません。 試験計画は試験の目的を達成するための重要な要素であり、統計学は試験計画を立案するための重要な道具です。 誤解している人が多いのですが、統計学は試験が終わってからではなく、むしろ計画の段階でこそその真価を発揮するものです。

試験にはまず初めに必ず目的があります——というよりも、目的をはっきりと定めなければならないのです。 次にその目的を達成するのに必要なデータとその解析法を検討し、そのデータを効率良く得るための試験計画を検討します。 この部分で統計学に関する知識と、実際に試験を実施する時の種々様々な知識が必要になります。

大工の世界でよく段取り八分といわれるのと同様に、試験の世界でも試験計画の部分が8割ほどのウェートを占めます。 試験計画が良くできていれば試験の実施も結果の解析もスムーズにいき、後になってゴチャゴチャと苦労する必要はありません。 また最初に計画した以上のものが試験結果から得られることは十中八九ありません。 ごく稀に計画にない副産物的な結果が得られることがあります。 しかし予期せぬ出来事というものは魅力もある反面リスクも多く、はたして本物であるかどうか見極めが難しいものです。

臨床試験の目的は病態の解明や薬効の評価であり、ひいては病気を治療し、生命を救うための情報を得ることです。 その最終目的を達成するように計画されていない試験は、その試験に協力する患者にとっても、またその結果を適用される一般の患者にとっても非人道的なものであると言わざるを得ないと思います。