医学研究ではよく交絡を調整したり、予測モデルを構築したりするときに回帰モデルを使った多変量解析が行われます。
多変量解析を行ったときにオッズ比やハザード比が999.99のように非常に大きくなったり、
推定値は1.00なのに信頼区間が0.000~10000のように大きく幅をとったりしたことはないでしょうか?
(直観的にもこれはおかしい…と感じると思います)
この現象が起こる原因の多くが説明変数を入れすぎていることです。
では何個ぐらいであれば説明変数を入れてもよいのでしょうか?
この記事では回帰モデルを使った多変量解析の説明変数の数の目安について解説します!
多変量解析とは?
多変量解析とは、エンドポイントに対する複数の因子の相関や関係性を同時に確認する解析方法です。例えば、治療がよく効く対象を特定したい場合に、多変量解析を使って治療効果の有無に対する患者背景の関係性を評価します。
多変量解析ではよく回帰モデルというモデルを使って解析します。この回帰モデルを使った解析方法では、エンドポイントを結果変数、相関を確認したい因子を説明変数と呼びます。
医学研究では回帰モデルを使った多変量解析の目的には大きく以下の2つがあります。いずれの場合も結果変数は治療の効果の有無や予後など興味のあるイベントを、説明変数では過去の研究から交絡因子や予測因子とされている因子を設定することが一般的です。
回帰モデルを使った多変量解析の目的
- 交絡を調整して真の治療効果を推定する
- 予後を予測するモデルを構築する
説明変数の数を考えなければいけない理由は?
多変量解析を行う場合には回帰モデルに入れる説明変数の数がよく問題となります。
ではなぜ説明変数の数を考慮する必要があるのでしょうか?
それは解析結果が不安定になってしまうから。
解析結果が不安定になるとは、正確な解析結果が得られなかったり、分散が非常に大きくなったりすることを意味します。
例えば、多変量解析によって得られるオッズ比やハザード比の推定値が0.00001や999.9のように極端な値を取ったり、信頼区間が非常に大きくなったりすることがあります。このようなときには、解析結果が不安定となっており、信頼できる結果とは言えません。
そのため、解析結果が安定するように説明変数の数を考える必要があります。
説明変数の数え方
一口に説明変数の数といっても因子の型によって数え方が変わってくることには注意が必要です。
因子の型は大きく連続型とカテゴリカル型に分かれていて、それぞれ因子を以下のように数えます。
因子の型 | 数え方 | 例 |
---|---|---|
連続型 | 変数の数 | 年齢、身長、体重それぞれ1個 |
カテゴリカル型 | カテゴリの数-1 | 性別(男性/女性):1個 がん悪性度(I/II/III):2個 |
例えば、年齢、身長、がん悪性度を多変量解析の変数に加えるときには、3個ではなく、年齢(1)+身長(1)+がん悪性度(3-1)=4個というように数えます。
モデルを使った多変量解析の例と説明変数の数の目安
多変量解析で入れられる説明変数の数は「イベント数」に依存します。
多変量解析で入れられる説明変数の数はイベント数÷10個が目安になります。
例えば、イベント数が100であれば、入れられる説明変数の数は100÷10=19個ということになります。
ただし、イベント数はエンドポイントの型によって定義が違うため、エンドポイントの型ごとに使われる多変量解析の方法とイベント数の定義を順番に見ていきましょう!
エンドポイントの型 | 回帰モデル | イベント数の定義 |
---|---|---|
連続値型 | 重回帰モデル | 症例数 |
カテゴリカル型 | ロジスティック回帰モデル | カテゴリごとの症例数のうち、 最も少ない症例数 |
Time-to-event型 | Coxの比例ハザードモデル | 興味のあるイベントの発生数 |
連続値型
連続値型のエンドポイントの多変量解析で使われる回帰モデルは重回帰モデルです。
連続値型のエンドポイントの場合は、イベント数の数え方は一番シンプルで、イベント数=症例数となります。そのため、重回帰モデルに入れられる説明変数の数の目安は症例数÷10個ということになります。
例えば、症例数が100例のときに重回帰モデルを使った多変量解析を行う場合には、100÷10=10個が目安になります。
カテゴリカル型
カテゴリカル型のエンドポイントの多変量解析で使われる回帰モデルはロジスティック回帰モデルです。
カテゴリカル型のエンドポイントの場合、イベント数の数え方は「各カテゴリの症例数のうち、少ない方の症例数」になります。
例えば、治療効果の有無を結果変数とした場合、治療効果ありの例数が30、治療効果ありの例数が70であれば、少ない方の治療ありの例数30がイベント数となります。そのため、この場合、入れられる説明変数の数は30÷10=3個ということになります。
Time-to-event型
Time-to-event型のエンドポイントの多変量解析で使われる回帰モデルはCoxの比例ハザードモデルです。
Time-to-event型のエンドポイントの場合、イベント数の数え方は「興味のあるイベントの発生数」になります。
例えば、全生存期間をエンドポイントとした場合、死亡した症例数がイベント数となります。また、もし30例死亡している場合は30÷10=3個が入れられる説明変数の数になります。
説明変数の数以外にも多重共線性に注意!
説明変数の数に対して十分なイベント数が確保されていたとしても、解析結果が不安定になることがあります。
それは相関の強い説明変数を同時にモデルに加えてしまったとき。
このような状況のことを多重共線性と呼びます。
解析結果を見て解析結果が不安定になっている場合には、多重共線性が起こっている可能性があります。そのような場合には、説明変数間の相関を確認して、相関のある説明変数のうち、どちらか一方のみを説明変数として加えるようにしましょう!
多重共線性については以下で詳しく解説しているのでご参考まで!
まとめ
今回は回帰モデルを使った多変量解析でよく問題となる説明変数の数の目安について解説しました!
説明変数の数は解析結果を安定させるために考慮する必要があります。
解析結果が安定するためには説明変数の数をイベント数÷10個程度に抑えましょう。
ただし、この「イベント数」はエンドポイントの型によって数え方が異なるので注意しましょう!
【もっと詳しく!】説明変数の数を考える理由
説明変数の数を考える理由を「解析結果を安定させるため」と説明しました。
ではなぜ解析結果が不安定となるのでしょうか?
それは多変量解析の説明変数の組み合わせからできる層に含まれる症例数が少なくなってしまうからです。
誤解を恐れずに言うと、多変量解析は説明変数の組み合わせからできる層個々の結果を統合して、オッズ比やハザード比を計算しています。例えば、性別(男性/女性)と年齢(65歳未満/65歳以上)を説明変数としたときには、(男性, 65歳未満)、(男性, 65歳以上)、(女性, 65歳未満)、(女性, 65歳以上)の4つの層ができ、それぞれの層で解析を行って最後に統合しています。
つまり、説明変数の数が増えると層の数が増え、各層の症例数が減ってしまうので、解析結果が不安定となるのです。
そのため、解析結果を安定させるためにも説明変数の数は抑えてあげる必要があり、その目安としてイベント数÷10個が提案されています。
(極端なことを言えば解析結果が安定する限りは説明変数は無限に加えてもよいことになりますが…)
コメント