stepAIC()とモデル選択


この間、お手伝いをしていたGLMのつづき。

 そのお手伝いをしていた方が職場でそのお話しをしていたときに、恐らくRユーザと思われる人たちからいろいろとツッコミを受けたんだそうな。ただ、その質問というのがちょっと釈然としないのです。

 ツッコミその1
 変数に、何でもかんでも入れるってのは間違い。妥当な説明ができるものを厳選して入れるべき

 思ったこと
 最終的にはそんな操作も必要になるのかもしんないですけど、最初からそんなことしてたらAICでモデル選択する意味ないんぢゃないだろうか。
 そもそも、そんな恣意的操作してたら普遍性とかありゃしないよな、とか思ったり。

 ツッコミその2
 stepAIC()ってバグあるよね?

 調べてみたこと
 確かに、腑に落ちない点あったので、stepAIC()のソースコード見てみた。
 初めて見てみたんですが、stepAIC()自体はすごくシンプルにできていて、僕のような素人でもなんとか追うことができたんですが、ここといっておかしいところはなさそう。まあ、stepAIC()自体がextractAIC()のラッパー(多分)みたいな関数なので、extractAIC()自体がおかしいってことはあるかもしれない。
 ただ、汎用的に使われるAICのコードに今更バグありました~みたいなことは恐らくないんじゃなかろうか。
 ってことで、そのツッコミはおかしいような気がする。AIC自体がおかしいというのは別次元ですが。

 というわけで、改めて思ったのがだいぶメジャーになってきたGLMなるツールも、いろいろと誤解、曲解されているんだな~ってこと。これは自分も誤解しているというのも含めてですけど。