チラシの裏の落書き日記

統計とか,研究とか,日常についての備忘録的なもの。

とある論文その2を読んで考えたこと

また読んでいても気になる論文があったので,備忘録的にツッコミをメモしておく。
http://team1mile.com/sjpr61-1/shimizu.pdf


第2章のベイズ統計学の流れの整理区分は後の議論を明確にする上でもわかりやすいように思う。

さて,第2章2節から本題。

統計モデリングにおいてベイズ推定が注目されるようになったのは,Gelfand and Smith(1990)によってベイズ推定のためのアルゴリズムとしてMCMC が利用できることが示されたことが一因である。

とあるが,まず,ベイズ推定の定義が明示されていない。
おそらくこの文章でのベイズ推定の定義は,”パラメタの事後分布を求めること”ということだろう。
しかし,例によって,渡辺先生のHP(http://watanabe-www.math.dis.titech.ac.jp/users/swatanab/Bayestheory.html
)から引用を行うと,

ベイズ推測とは,
「予測分布 p(x|D) は,きっと,真の密度関数 q(x) に近いであろう」
と推測する方法です.

とのことで,事後分布を求めることそれ自体は,ベイズ推定ではないと思います。
ただ,”(パラメタ)推定”と”推測”ということばの使い分けが微妙なので,難しい。

これまで統計モデルは最尤法による推定が一般的であったが,変量効果を含む一般化線~中略~広くベイズ推定の有用性が理解されるようになった。

とあるが,何を解くのか?最適化問題を解くという意味?
とても気になるのが,この論文は一貫して”MCMCベイズ推定”という認識で議論がなされているようだが,その理解は個人的には正しくないと思う。MCMCはあくまでも,事後分布の確率的な近似方法,より広くは期待値計算の汎用的な方法であり”アルゴリズム”であって”推定方法”ではない。他の力技の積分計算を使っても事後分布を実現することはできる。つまり,最尤推定値を得るために,(対数)尤度関数の最大値を求めるために最急降下法という”最適化計算のアルゴリズム”を使うことがあるが,最急降下法のことは”最尤推定法”とは呼ばないのと同じである。モデルと推測方法と計算アルゴリズムは区別しなければならない。結局,この論文で言うところの”ベイズ統計学”というのは,”パラメタ推定を行う方法の一つ”として認識されている(次の第3章に明確に,”ベイズ統計学はパラメータ推定の枠組みのひとつであって,統計モデリングの本質ではない。”といっているので,私の論文の読み取りは正しそうだ。)渡辺先生のいうところのベイズ統計学とはだいぶ違いそうな雰囲気がある。

心理学では多くの場合~中略~しかし,確率モデルとして現象を記述する場合,データが仮定した確率分布から生成されるという想定さえ成り立てばよい。~中略~確率モデルの表現で重要なのはデータを得る具体的な手続きではなく,データがどういう確率分布に従って得られるか,という点だけである。

とあるが,いまいちよくわからない。母集団を仮定しているとかなんとかとコイン投げの話をしているが,コイン投げだって母集団を仮定していると思う。”データが仮定した確率分布から生成されるという想定さえ成り立てばよい”といっているが,これが成り立つかどうかがわかっていれば統計学なんていらないわけで,データ生成モデルはあくまで仮想的なものであるという認識がなさそうである。また,マルチレベルモデルではデータがどのように取られたかを考慮したモデリングがなされているし,データ取得の手続きを無視したらiidの仮定なども無視することになりそうだがそのあたりはどう考えているのか。

データ生成メカニズムを確率モデルで記述するというのは,データがどのように発生するかを,確率分布を使って数理的に表現する,という意味であることがわかる。

結局,確率モデルとはなんなのか明確にはわからない。

その点においては 2 つの平均値の差についての t 検定(以下,単に t 検定と呼ぶ)も統計モデリングとして~略

検定は検定であって,統計モデルではない。

3.2 心理学における伝統的なデータ分析手法との違い

データ分析手法と統計モデリングは直接比較できるものではないと思う。というか何を比較しているのかわからない。

次に参加者がどのような行動を行うかについての予測を導く目的で使われることが少なく,またその関心からも外れている。それは,伝統的な心理学の方法論がおもに行動の説明に重点が置かれており,予測が重視されていないからであると考えられる。

しかし,例えば実験計画法に則ってデータを収集し平均的な行動の傾向の違いを分析した場合,群Aと群Bの平均的な値の行動の傾向の違いは推定されているわけで,母集団においてこういう介入を行った場合にはこういう行動がこれくらい増える(減る)といったことは因果効果の推定から考えていることだと思うが違うのだろうか。また,”行動の説明”と”行動の予測”というという言葉の使い分けの意味はなんだろうか。行動が説明できたら予測もできると考えるのが自然ではないだろうか。また,結局細かい因果効果の説明を積み重ねていけば,ある種の行動の予測ができるようになってもよいと思うが,一度だけの実験結果と統計モデリング(とこの論文で読んでいるもの)を比較するのはミスリーディングのように思う。

ここからわかるように,確率モデルを仮定したうえでパラメータを推定することで,理論的に知りたい値の推論や予測が可能になる。

さきに示した2群の平均値差の話でも,群AかBかによって大雑把な値は予測できるのだからよいのでは?結局”伝統的な分析手法”といいながら,最初の方で除外した検定論を仮想の敵としたいつもの論法になっているように思われる。

4.ベイズ推定による統計モデリング

パラメタ推定方法とモデリングは別の話だから,ならべてお話をするのは変な気がする。あくまでどのようにパラメタを推定するのか,という話であればわかるが。

4.1 汎用的な推定アルゴリズムである MCMC

対数尤度の最大値を求める問題にだって汎用的なアルゴリズムはあるし,Mplusといったソフトや,Rのnlme関数などを使えばOKだと思う。MCMCだけが汎用的なパラメタ推定方法であるかのように述べるのは不自然。

最小二乗法や最尤法でもうまく解けないという問題がしばしば生じる

というのは,数値計算アルゴリズムの問題であってベイズ推定だから解消できる問題というわけではない。たしかにMCMCを使うことで計算量の問題が比較的現実的になったり,局所最適解などの問題に悩まされないですむことはあるが,MCMCだって極めて相関が高いパラメタがあった場合にはパラメタ空間を自由に動けなかったり,ポテンシャル障壁の壁に阻まれて双山の分布の片方からしかサンプリングができないという問題もある。また,mixtureモデルのラベルスイッチング問題や収束診断がどれほど正しいかもわからない。そのような問題があるにも関わらず,MCMCだけが最高という論調には到底賛同できない。

この長所により,数学的に高度な演算から標本分布の導出などをせずとも,パラメータの推定ができるようになった。

最尤推定法の文脈でも漸近論があるので,パラメタの推定量の分布が正規分布になると考えてよいこともある。たしかに,パラメタの推定量が漸近的に正規分布に従うというのは,近似的な方法であり,正確な標本分布が導出できているわけではないが実用的にはよく使われている。

9) なお,異分散を仮定した平均値の差の推定については,構造方程式モデルなどを利用すれば最尤法で解くことが可能である。

差の推定???全体的に文章が正確で無い気がして読んでいていちいち引っかかってしまう。

したがって,MCMCでは最尤法などに比べて,パラメータを求めるためのアルゴリズムを容易に,汎用的に自動化できるのである。

今どき自動微分もあるし,尤度関数を作ればパラメタを推定してくれるソフトだっていくらでもあると思う。マルチレベルモデルなど変量効果項を含むモデルにおいてMCMCを使うことが有効な理由は,アルゴリズムが自動化できるからではなく,数値的に厳しい積分計算をうまく回避できるからだと思う。

しかし,すでに述べたように,階層モデルを最尤法で解くのは簡単ではない。それは,頻度主義統計学がパラメータを固定値と想定することから,パラメータに確率分布を仮定することが頻度主義の理論的枠組みからは困難だからである。

まったく違う。マルチレベルモデルモデルではパラメタの分布を考えているし,そのパラメタの推定方法として最尤推定法を使うことも当たり前に行われている。しかしパラメタ推定が困難になるのは積分計算の大変さとデータが少ないことによって,変量効果項の分散の推定値が0になってしまうというような問題である。たしかにMCMCを使って事後分布の平均を推定値とすればこうした問題は避けられるし,繰り返しの計算のなかでランダムに生成された分散がきっちり0という値を取ることはありえない。かなり小さい正の値をとることはあるが,log0といった計算が発生することはない。これによって,一見して不適解は回避できる。また,ベイズ的にパラメタの事前分布を想定したとしてその事前分布のパラメタ(ハイパーパラメタ)は定数だと思う。そうだとすると,ベイズであってもパラメタが定数であることはある。

4.4 最尤推定ベイズ推定の違い

渡辺先生の最尤推測とベイズ推測の違いなどをきちんと読んだほうが良い気がする。

そのようなときには,最尤推定のように点推定を探索するアルゴリズムを用いる方法(たとえば EM アルゴリズム)では,初期値によって推定値が変わってしまうという,初期値依存性が生じ,一意に解を得るのが難しい。

理論的にはMCMCは無限にサンプルを続ければ正確な事後分布を再現できるが,現実的にはそうは行かない。その結果として,局所からしかサンプリングしていなかったりなんだりかんだりがあるし,初期値の選択はMCMCであったとしても重要だと思う。また,”一意に解を得るのが難しい”という言葉の意味もちょっと不明。MCMCで定常分布からのサンプリングがなされたとしても,サンプリングする個数で推定値が微妙に変わったりするわけでMCMCだからといって一意に推定値が定まるわけではない。

心理学でベイズ統計モデリングが活用できる点として,以下の 3 つの可能性を挙げる。ひとつめは,行動データの生起メカニズムを確率モデルで記述することで,理論の精緻化と行動の予測に役立つ可能性である。もうひとつは,心理的な特徴を測定・推定するときに,より理論的に妥当になる可能性である。

といっているが,これらはすべて”統計モデリングによる利点”だと思う。ベイズ的に,パラメタの事後分布の一部を推定値に用いることの利点ではないと思う。また,測定・推定を並列に書いているが,全く別のものなので並べて書くことには違和感がある。


具体例はすっ飛ばして,

推定の区間推定ができる点も,ベイズ統計モデリングの利点

とあるが,推定の区間推定ってなに?と思ったのと,区間推定ができることは何も事後分布をパラメタの推定に用いたときのみの利点ではない。

モデルを書いたプログラムのコードの共有が簡単であることも意味する

とあるが,その理由がわからない。RなりPythonなりMplusなりSPSSなりSASなりStataなりなんでもいいけど分析に使ったコードをそのまま共有すればいいのでは???あとの段落でRだとモデルと推定が分離できないとか書いてる気がするが,応用系の人が自分で推定プログラムを書くことなんてほぼ無いわけで,例えばRのlm関数に何を書いてあるかとか見れば報告されてるモデルと分析で想定したモデルが正しいかどうかは見てわかると思うのだけれど。あと,検定批判の部分は今回の論文の本筋ではないといいつつ,結局再現性などの問題などは検定批判の文脈で出てきたことな訳で,しっかり議論を入れているので,議論が混乱する。統計モデルを推奨することと,再現性の問題は別問題だと思うのだが私の誤読だろうか。

その他気になったこととして,関数の形がわかるほど精緻に研究されている研究をより精緻にしていく研究も大事だけれど,新しい現象を発掘していくような研究も大事だと思う。なんか出てきたモデリングの例がその関数の形がわかったからどうなんだろう,というような印象がある。ほぼ関数型がわかっていて,それを階層化して当てはまりが良くなったとしても,そりゃ個人差あるから当然だよねくらいの気持ちしか無いし,あまり面白みがよくわからない。検定の文脈で変量効果項を無視するとタイプIエラーが増えるというのは大問題だが。なんか,出された例が魅力的に見えない。


めんどくさくなったのであとは省略するが,気になった点としては以下の点。

  1. ベイズ統計(ベイズ推定)=MCMCという図式。
  2. 用語の使い方があまり正確でない事によるよくわからなさ。
  3. 統計モデリングベイズ推定の関係のなさ。MCMCを使えば不適解を出さないからよい的な感じに見える。結果的にMCMCで適当にパラメタ推定しておけばOKというような感じ?
  4. 再現性の問題とモデリングとの関係のなさ。
  5. 確率的プログラミング言語モデリングの関係のなさ。
  6. 結局,ベイズ的なものを押すために検定批判的な紋切り型になっている点