統計ER

統計ソフトRの使い方を中心に、統計解析方法の解説をするブログ。ありそうでなかなか見つからないサンプルサイズ計算などニッチな方法について紹介しています。

多変量モデルの変数選択について ‐ 雑感

ブログランキングに参加しています。
まずはぽちぽちっとお願いします。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
にほんブログ村 科学ブログ 数学へ

多変量モデルの変数選択について、悩まない人はいない。

どの変数を採用してどの変数を採用しないのか。

明確な基準はあるのか?

変数選択のなやみという「闇(やみ)」から抜け出すことはできるのか?

 

 

想定している多変量モデルは?

多変量モデルは、多変量解析のモデル(もしくは型)を指している。独立変数に多数の変数を使った回帰分析とその派生形のこと。

つまりはこんな分析方法に使うモデルだ。

  • 重回帰分析
  • 共分散分析
  • ロジスティック回帰分析
  • Coxの比例ハザードモデル
  • パス解析
  • 構造方程式モデリング(共分散構造分析)

保健・医療・福祉・心理分野のランダム化試験主要分析以外の観察型研究・分析における多変量解析をイメージしている。

 

この記事では、いわゆる機械学習による過学習を避ける方法論は含まないことにする。エンドポイントとの関連性を確認するという目的とは違う用途のためだ。

つまり、リッジ回帰、ラッソ回帰、エラスティックネット、主成分回帰、PLS回帰、決定木分析、バギング、ランダムフォレストなどは今回は考えない。

機械学習については以下の過去記事一覧を参照。

toukeier.hatenablog.com

 

 変数選択はどのように考えていけばよいか?

変数選択の悩み問題について、以下の五つの点について考えていきたい。

  1. 先行研究はどのようなモデルにしているか?
  2. 理屈で考えてどんな変数は考慮が必須か?
  3. 組み入れておくべき変数の計算上の基準はあるのか?
  4. 自動変数選択の結果にはどのくらい強制力があるか?
  5. 結局どんな結論にしたいかに尽きる

 

先行研究はどのようなモデルにしているか?

もっとも大事なことは先行研究、つまり「過去問」を参照することだ。

カンニングと言ってもいい。学生の時は決して許されないカンニングだが、学生が終わるとカンニングありきにかわる。盗用はいけないが、カンニングは必須だ。

穏やかな言い方をすれば「まねる」ということだ。

先行研究がどんな変数で調整しているか、どんなモデルを検討しているかを研究することがもっとも重要なことなのだ。

同分野の先行研究を勉強することで、どんな多変量モデルが求められているかの傾向がつかめる。 

基本の基本は、先行研究をまねた多変量モデルを作るということに尽きる。

理屈で考えてどんな変数は考慮が必須か?

不幸にも先行研究がない場合がある。または先進的ゆえに幸運にも先行研究がない場合があると言ったほうがいいかもしれない。

先行研究がない場合はどうしたらよいのか?当然、先行研究がある場合でも考えてもよい事柄がある。

理屈で考えて考慮しておくべき変数は何か?という視点である。

例えば、ある病気になった・ならなかったを目的変数(エンドポイント)として、何らかの生活習慣を説明変数として分析したいとする。

病気がエンドポイントの場合、 男女は絶対に考慮すべき項目だ。一般的に男性は早死にであることは自明だ。病気のリスクも一般的に男性のほうが高い。注目している生活習慣が性別と強い関係があってもなくても考慮したほうが良い変数になる。

また、年齢も絶対的に考慮が必須の変数だ。高齢のほうが病気になりやすい。これは普遍的な法則だ。年齢が違えば生活習慣は異なる可能性が高い。病気をエンドポイントとするのに、年齢を考慮しないのはナンセンスだ。

そのほか病気に強く影響を与える変数はこれまでの研究で自明であるものはいくつもある。分子生物学的な理屈もかなり確立してきている。

タバコはその最たるものだ。タバコは非常に強力に病気と関連する要因だ。飲酒もある程度以上の量になると、病気と関連していると知られている。体重コントロールができていないことも、重要な要因として有名だ。身体活動が活発でないことも、病気と関連している報告は多い。食事の要因でも病気に関連している事項は多い。

このようにして、これまでのエビデンスを踏まえて、理屈で考えて、どんな要因を考慮すべきか検討する方法がある。

組み入れておくべき変数の計算上の基準はあるのか?

一つ有名な基準は10% Change in Estimateである。つまり予測値(回帰係数)の 変化を10%以上起こす変数は残しておこうという基準だ。

たとえば、着目している生活習慣の単回帰係数が1(つまり1単位上がると目的変数が1上昇する)の場合、1.1 や 0.9 に変動させる変数だけ残すということになる。

10% Change in Estimateを採用すると意外な変数が残ることがある。もしかすると新たな関連性の発見かもしれないのでむげにはできない。

しかしながら、なぜこの変数をモデルに組み込むのかの説明に苦労することがある。

純粋に計算上組み入れているという説明は意義を訴求しにくい。理解も得られにくい。

したがって、結論としては、10% Change in Estimateという基準で変数を選ぶという方法論を知っていて、事前に確認したうえで、結果に縛られることなく、どの変数を選ぶかは研究者次第、という方針を貫いたほうがいい。

自動変数選択の結果にはどのくらい強制力があるか?

統計ソフトには自動変数選択の機能がついている。変数増加法、変数減少法、変数増減法などである。またAICBICなどの情報量規準でモデルの変数を決定する方法もある。

変数増加法・減少法・増減法は、変数の有意水準で変数を組み入れる(又は残す)かどうかを決めていく。純粋に計算上の基準で決めている。

情報量規準で決める場合も、変数が多すぎないモデルで かつ もっとも当てはまりがよいモデルが計算上選ばれる。

10% Change in Estimate で選ばれる変数と同様に、どうしてその変数を選んだのかの説明が、計算上選ばれた以外に理由がつかず、説明に窮するときが多い。

結局、変数の計算上の自動選択は、強制力はなく、最終モデルのための参考程度にとどめるのがよい。

結局どんな結論にしたいかに尽きる

最終的に「~~のような要因とは独立に、今回着目した生活習慣は、当該疾病と統計学的に有意な関連が示唆された」と言いたいわけである。

「~~」という要因は、たぶんに質問される要因なのである。

たとえば、「『~~』はその病気に関連あると言われていますが、今回の生活習慣とは関係ない要因ですか?」と質問が想定されるならば、その「~~」という要因は絶対に考慮に入れねばならないわけである。

想定問答が明らかならば、その想定問答を乗り切れるためのエビデンスが必要になる。

結局は、導きたい結論から逆算して、想定問答を念頭に、多変量モデルを組み上げることになるわけだ。この方法がもっとも実りがあり、科学的にも適切な可能性は高い。知られている事実、いわゆる「過去問」にはすべて答えられているからだ。

 

まとめ

多変量モデルの変数選択について、私見を述べた。

「多変量モデルの変数選択は統計的にどうやるのですか?」という疑問を持つ人は多い。

私見としては、「やり方はあるがそんなものは役に立たない」である。

結局は、研究者が証明したい仮説が一番大事で、それを証明するために多変量モデルが存在する。

証明したい仮説を構築するための一番の師匠は「先行研究」なのである。完全なる先行研究でなくても周辺の研究なのである。それらの研究からエッセンスを「カンニング」する または「まねる」わけである。

この記事を読んで、ますます深みにはまってしまう人が出ないことを望んでいる。読了後「なんだそんなことなのか」と、ふっきれて気持ちが軽くなってくれるといいなと思う次第である。