KuboWeb top

更新: 2014-03-25 17:05:42

生態学のデータ解析 - FAQ モデル選択


[項目]


モデル選択とは何ですか 

  • モデル選択は予測を重視する発想にもとづいています.予測とは同じサンプリングをやったときに,つぎに出現するデータへのあてはまりが良いデータを作る ということです.
    • そして,このときの制約条件としては,たまたま手元にある観測データにもとづいて,予測のためにモデルを作りなさい……というややしんどいものです.
  • 統計モデルの利用に関してはこれまでは推定ばかりが重視される傾向にありました.その根底にあるのは,なんでもいいから,とにかくたまたま手元にあるデータにあてはまりが良いモデルを探し出せばそれでよい,という発想です.
    • つまりたまたま手元にあるデータが,対象とする現象をことごとく説明できる情報量をもっているとかんちがいしているのでしょう
      • 統計ユーザーのほとんどはこう考えているのではないでしょうか
  • 予測も目的とするモデル選択の目的は真のモデルを構築することではありません
    • 真のモデルと同等のモデルを作るためには無限のデータが必要になります.手元にある限定的な情報だけをくみあわせて,予測のための統計モデルを作るので,これは真のモデルより簡単なものになります.
  • この難しいモデル選択を簡便にすませてしまおうというのが AIC や DIC といったモデル選択規準の利用です
    • できあいのモデル選択基準を使わないモデル選択の方法はいろいろあります --- たとえば,交叉検証法 (cross validation) など

モデル選択したあとに検定すればいいのですか? 

  • 検定すべきではありません
    • そもそもモデル選択と (Neyman-Peason 的な) 統計学的検定はまったく考えかたが異なる …… どこをどうひねくればこういう変てこな手口が発明されるんでしょうねえ
    • モデル選択することによって「ゆーい差」がでやすいモデルが選ばれているので,そんな偽陽性みたいなものがでやすい状況で検定なんぞやるのは無意味
  • 同様に「検定すべきモデルをモデル選択で選ぶ」という方法もダメです
  • ただし選択されたモデルのパラメーター (係数) の推定値の標準誤差 (SE) に注意するのは重要です
    • つまり,SE の大きな推定値はアヤしい
    • 参考になるかどうか…… FAQ 一般化線形モデル の Wald 統計量などについての記述も読んでみてください

モデル選択規準 AIC が一番小さいモデルは一番あてはまりの良いモデルですか? 

  • AIC (Akaike Information Criterion) が小さいからといって,一番あてはまりが良いとはかぎりません
    • 比較している統計モデルの中でパラメーター数のもっとも多いモデルが「あてはまりの良い」モデルということになります
      • ただしこれは「比較しているモデル」が含有関係にある場合に限定されます (例: 一般化線形モデルの線形予測子だけがモデルによって異なる場合)
      • 含有関係にないモデル間の比較の場合,パラメーターが多いからといってあてはまりがよくなるとは限りません
    • AIC は「あてはまりさえよけりゃいいってのはおかしいだろ,パラメーター数が多けりゃあてはまりなんていくらでもよくなるんだから」という趣旨のモデル選択規準です
    • 「AIC の差は 2 ないとダメだ!」と主張するヒトたちもいますが,これにはとくに定量的・理論的な根拠はありません

AIC によって選択された統計モデルってどういう意味で「良い」のですか? 

  • 良い予測 が得られるモデルです (予測の最適化) …… 「良い予測」とは次のような意味です
    1. 今回のデータ (データ 1) を説明できそうな一組のモデルたち (モデル集合 S) があって,その中でモデル M が AIC 最良だったとします
    2. データ 1 を取得したのと同じ方法でまた (確率論的なばらつきを含む) データ (データ 2) が得られたとします
    3. AIC 最良のモデル M はモデル集合 S の中で,この新しく得られたデータ 2 へのあてはまりが「平均的にもっとも良い」モデルになっています
      • 次の項とも関連しますが,AIC 最良のモデル M は「データ 1 だけをモデリングに使ってよい」条件のもとで「モデル集合 S の中から選ばなければならない」という制約のもとでの「最良」モデルです
  • AIC は「真のモデル」を選んでるわけではありません
    • 次の質問「標本数に影響されますか?」も参照してください

AIC で選ばれる統計モデルは標本数に影響されますか? 

  • はい,影響されます
    • 標本数が少ないとき (情報が少ないとき): より単純なモデルが選ばれる傾向がある
    • 標本数が多いとき (情報が多いとき): より複雑なモデルが選ばれる傾向がある
      • つまり AIC は「この手もちのデータがもつ情報量はどこまで複雑な統計モデルを許容しているのか」をあらわす規準だと考えてよいのかもしれません

AIC が少しでも小さい統計モデルが「良い」モデルなのですか? 

  • 原則としてそういうことになります
  • とはいえ,AIC もまた観測データから推定される推定値 (estimate) であり,推定値にはばらつきがあります
    • ということで,AIC 差が気になる人は bootstrap 法などを適用して「あるモデルが比較対象の中で AIC 最小となる確率」を評価すればよいでしょう
  • ともかく,どのようなときでも「一番よい」モデルだけでなく,それに「近い」 AIC をもつ二番・三番手のモデルなども列挙・比較してみることにするとよいでしょう
    • とくにそれらの モデルの予測 がどうなっているのか比較してみましょう

統計ソフトウェアが出力する AIC の値だけ確認すればいいのですか? 

  • いいえ,推定値の大きさ (効果の大きさ) や推定値の標準誤差 (SE) についてもよく検討してください
    • 実際に推定された値を使って統計モデルの予測を評価してみてください
      • 係数の値 (効果) がゼロに近い,あるいは標準誤差 (SE, つまり推定の不確かさ) が大きい説明変数について「予測に有用」と強く主張できるでしょうか? 自分のデータをよく見て検討してみてください

比較すべき統計モデルの個数が 100 個ぐらいあるんですけど,このときも AIC 最小のモデルを選べばよいのですか? 

  • 原則としてそういうことになります
  • しかしこれは もっとよく検討すべき問題 です
    • 「正解」はたぶんだれもよくわかっていないでしょう
    • マルチスケイルブートストラップ検定などを利用すべきだ,という意見もあります
    • とりあえず AIC 良さげなモデル 5-10 個ぐらいは列挙してながめて,どういう予測をしているのか調べてみましょう

「パラメーターの重要性」をみるために ``Akaike weight'' (Burnham & Anderson 2002) を計算すべきですか? 

  • 私の意見では,個々のパラメーター最尤推定値に関するこういう加重つき平均値には意味がありません …… 誰が発明したのかしらないけどヘンな手口がはやったりするものですねえ
    • 1978 年の赤池さんの論文の最後に時系列モデルのパワースペクトル推定のためにこれと似た方法が ``quasi-Bayesian'' で heuristic な方法として提案されていました (Akaike H. 1978. On the likelihood of a time series model. The Statistician 27:217-235.)
    • Burnham & Anderson (2002) のそれとは使われかたがちがうんじゃないかなぁ……
    • ともあれ現状でも heuristic なまま,つまりこの方式について統計学的に評価している論文はありません (特殊なモデルにおけるいくつかの試みを除いて)
  • 根拠がはっきりしない方法で model averaging みたいなことをしても無意味です
    • 統計モデルをこんなふうに混ぜてもいいことは何もありません
  • むしろ複数のモデルで評価された AIC とその モデルの予測 がどうなっているのかを丁寧に調べるべきでしょう
  • あるいは論文にかくときであれば, (たとえば) AIC の良い順のモデルでパラメーターの table を並べればそれで discussion ぐらいは問題なくできるでしょう

AIC を算出するときの「パラメーター数」とは何ですか? 

  • 最尤推定によって推定値を得たパラメーターの個数です
    • つまり言いかたをかえると,統計モデルをあてはめる (尤度を高くする) ために値を大小して調節したパラメーター全部の個数です
    • glm.nb() の場合: 線形予測子のパラメーター数 + 1 個 (ばらつきのパラメーター theta)
      • なお stepAIC(glm.nb(...)) の途中経過表示で示される AIC にはこの「ばらつきパラメーター数 1 個」が含まれておりません

サンプル数が少ないときには AIC ではなく AICc を使うべきですか? 

  • ワケもわからぬまま AICc を使うのは ヤメてください
    • AICc は「ばらつき」が正規分布と仮定したときに導出された「補正案」のひとつです
    • 正規分布を使ってない統計モデルではおそらく意味のない「補正」でしょう
      • 少なくとも統計学的な正当化はありません

Quasi likelihood (擬似尤度? 準尤度?) や PQL を使ったモデル選択は可能ですか? 

  • 不可能 です
    • Rglm(.., family = "quasipoisson")glmPQL() で計算されてる尤度はホントの尤度ではなく,そういう quasi な尤度に対応するモデル選択の方法はありません
    • QAIC なるものもありますが,これの性質はそれほどきちんと調べられていないようです
  • random effects 由来の overdispersion を説明する GLMM の計算には glmmML() などを使ってください
    • そもそも今日では quasi likelihood を使うべき場面はほとんどないと思います

Laplace 近似などで計算した尤度を使ったモデル選択は可能ですか? 

  • こっちはホントの尤度の近似値なので,まあいいんじゃないでしょうか
  • つまり glmmML()lmer() で評価された AIC を使ってモデル選択してよいでしょう,ということです

使っている分布の異なる統計モデルの AIC は比較可能ですか? 

  • 場合によります …… 統計モデルの中で観測データのばらつきを説明するのにどういう確率分布を使っているかに注意してください
    • 離散分布 vs 離散分布の場合は OK
      • 例 1: モデル A はポアソン分布,モデル B は負の二項分布を使っている
      • 例 2: モデル A は glm(..., family = "binomial"),モデル B は glmmML(..., family = "binomial") --- ただし glm()glmmML() で AIC の算出方法がびみょーに異なるので補正が必要になります (また後日に書きます)
    • 連続分布 vs 連続分布の場合も OK
      • 例: モデル A は指数分布,モデル B はガンマ分布
    • 離散分布 vs 連続分布の場合はダメ
      • 例: モデル A はポアソン分布,モデル B はガンマ分布
      • 理由: 対数尤度の計算方法が離散分布と連続分布で異なるため …… それ以前の問題として,そもそもある観測データに対してこういう比較をすること自体がまったくナンセンスなんですけど
    • いずれの比較でも,当然ながら以下の条件が満たされている場合だけ意味があります
      • 同じデータセットを使って異なるモデルのもとで最大化対数尤度を計算する
      • どのモデルでも最大化対数尤度がきちんと計算できる
    • (2009-10-11 追記) 上のように書いていますが,「AIC で分布を選んでよい」かどうかはびみょーかも
      • 分布が異なる場合,AIC の前提 (「真のモデル」が含まれている) をみたしていない場合があるのでは?
      • random effects 無し vs 有りモデルの対決の場合なんかも…… そもそも AIC で判断する問題か?
      • このあたり,また何かわかったら追記します

AIC がマイナスの値になってもいいのでしょうか? 

  • たぶん問題ないでしょう (対数尤度や AIC の計算方法がまちがっていないのであれば)
    • 対数尤度を計算するときに「定数部」(連続確率分布の対数尤度計算でしばしば無視される「区間幅」も含む) を省略して計算すると対数尤度が正の値となることがあり,その結果として AIC が負の値になることがあります
    • 上の説明からわかるように,定義からすると負の値しかとれないはずの対数尤度が 0 より大きな値になることもあります

ベイズモデルのモデル選択には DIC を使えばよいのですか? 

  • 私もよくわかりません
  • DIC (deviance information criterion) は良くないという議論もあります
    • 少なくとも一般化線形混合モデルに含まれない 統計モデル (非線形な部分がある,などなど) で DIC を使うのはかなり危険でしょう
      • WinBUGS を (R を介さず) 直接使うと非線型な部分をひとつでも含むモデルでは DIC が計算されない (おそらく理論的な根拠がないため)
  • WinBUGS ペイジの DIC に関する 質問 13 ``Why is DIC greyed out?'' に対して,下のような回答がついていました:

DIC is currently greyed out in WinBUGS when one of the stochastic parents is a discrete node. The formal basis for DIC relies on approximate posterior normality for the parameter estimates and requires a plug-in estimate of each stochastic parent - for discrete nodes it is not clear which estimate to use.

  • DIC を算出するためには,各パラメーターの事後分布の平均値を組みあわせて評価した deviance が最小になるという仮定 (つまり各パラメーターにとって事後分布の平均値が「オレの最強の値」になっている) が成立している必要がある
    • ゐんばぐすでは DIC はこのように平均値を使って評価されている
  • ベイズモデルのモデル選択について:
    • 林岳彦さん: 「『良いモデル』の統計学小史:AICからデータ同化まで」の解説