HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

統計の勉強に最適な緑本こと「データ解析のための統計モデリング入門」を紹介

 

 

follow us in feedly

https://cdn.blog.st-hatena.com/images/theme/og-image-1500.png

はじめに

正直今更感が非常に強い一冊になります。

既によく知られているベストセラーと言ったところですが、例えば「自分はR使いではないからな」とか、その程度の理由で購入をためらっている人もいるかもしれません(現に私がそうであった)ので、今回はそんなことは気にならないくらいこれらの本をおすすめしていこうと思います。

データ解析のための統計モデリング入門

データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)

データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)

本の構成に関する特徴

  • 非常に日本語での解説が豊かで、数学が得意でなくても読める内容
  • 理解の到達点という意味では決して低くはない
  • Rのコード付きだがゴリゴリコーディングしながら学ぶスタイルではない

統計モデリングについて徐々に難易度を上げながら理解していくことのできる構成になっています。 適宜飛ばしても(後回しにしてもいいだけで、いずれは理解スべき)構わない項目が明示的に示されており、自信の理解度や興味に応じて投げ出さずにすすめることができる構成となっています。

本の内容に関する特徴

  • 階層ベイズ・MCMCという副題があるものの、「ベイズ統計学」を主題としたものではない
  • 統計モデリングに関して「予測に役立てる」という目的を明確にしている
  • 検定はモデルの出来栄えを測る1つの方針にすぎないという姿勢
  • 一貫して「架空の植物の種子」に関する例題で話が進んでいく。進むに連れて複雑なモデルの解説へ

この本では、統計モデリングが未知のデータに対しての予測で実際に役立つことを願っているように感じました。伝統的な統計と同様にモデルの解釈性に意識を置きつつも、「単に解釈しやすい有意なモデルができた」にとどまらず、「そのモデルが現実の現象を表現するに値するか」に拘っています。

現実の現象を表現するためには、線形モデルでは不十分であり、一般化線形モデル、一般化線形混合モデル、階層ベイズモデルへと次第に複雑なモデルを適用していく必要があるという流れになります。従って、現実の予測に有用であれば「ベイズ的な方法」でなくとも構わなく、すべてをベイズの考えで説明しているわけではありません。

そこがある意味、「統計学を役立てたい」という観点でスタートしたときに、頻度論だとかベイズだとか気にせず、シームレスに有用な手法として様々な手法を学んでいくことができます。

本の目次と各章の概要

あまり詳しく書くと怒られてしまうと思われるので、興味がわく程度の紹介に留めつつ各章について述べたいと思います。

第1章 データを理解するために統計モデルを作る

この章では著者の統計に対する考え方の紹介と、本書で出てくる記法やコトバの定義について説明がなされます。固い教科書というよりは、著者の意見がふんだんに散りばめられているタイプの本であり、特にこの第1章でその考え方に最も強く触れることができます。

賛否もあったりするでしょうけども、そのような考えに至るには相応に理由があり、学ぶべき部分も多いのでしっかり読んでから次の章に進むことをおすすめします。

第2章 確率分布と統計モデルの最尤推定

(疑似)データを観測し、ヒストグラムや平均値などから「ポアソン分布に従っているであろう」という想定をして、推定を行っていきます。ここで重要なのは「ポアソン分布に従っているであろう」というのは単なる仮定にすぎませんが、なぜに「正規分布ではなくポアソン分布だと仮定するのか」それを選ぶ理由をしっかり理解していくことが大事だと思われます。

しかし、まずここでは、ある仮定のもと「推定」を行うとはどういうことであるかを簡単な例題を元に説明していきます。

第3章 一般化線形モデル

実際の分析ではデータの可視化や試行錯誤を駆使して様々なモデルを想定しなければなりません。その「データの可視化と試行錯誤」の片鱗を見るための第一歩がここです。

2章までは単に観測$Y$についてパラメータ$\mu$に依存する確率分布$p(Y\mid \mu)$を推定するという話でしたが、観測$Y$が実は個体$X$に依存している、すなわちそれぞれの個体にインデックス$i$を付けて$Y_i$が$X_i$に依存するというモデルを考えることで個体差を取り込むべくポアソン回帰を駆使していくことになります。

ここでは、線形予測子、リンク関数、ばらつきを表す分布などが出てきます。これらがまさに一般化線形モデルを構成するためのパーツになるので、ポアソン回帰を通して一般化線形モデルの一種を学ぶというのが主旨になります。

また、最小二乗法も一般化線形モデルの一種であることが説明されます。最小二乗法はおそらく最も多く使われている手法であるため、これがどのような場合にうまくいく(あるいはうまくいかないのか)を把握しておくことは大きなアドバンテージになるでしょう。

第4章 GLMのモデル選択

主にAIC(赤池情報量基準)の説明になります。数理的な説明は程々に、これが何を表しており、どんな嬉しさがあるのかを説明した後、その使い方に関して具体例が示されます。ある意味、コアな部分でもあるため飛ばしても良いでしょう。交差検証や検定など、様々な基本的な手法がある中で、なぜにAICが名を残すほどに有名であるのかを、あとで振り返ってみるという形でも良いかもしれません。

第5章 GLMの尤度比検定と検定の非対称性

尤度比検定という比較的多くの場面で活用できる検定手法について、これが何を表しているのかを説明した後、AICとの比較がなされます。尤度比検定に関わらず、AICと検定というのは根本的に見ているものが違いますので、興味のある方はここで学んでおくと良いと思います。(概して、学習理論(≒汎化性能に関する理論)の話というのは数学的に結構難しかったりするので、個人的にはこのレベルの説明がわかりやすくて助かった)

第6章 GLMの応用範囲を広げる

ここまでではポアソン回帰というGLMのほんの一例を見てきたわけですが、いよいよばらつきの分布やリンク関数などを問題に応じて適宜使い分けるということを行います。ここで紹介されるのはロジスティック回帰であり、上限のあるカウントデータを上手くモデル化できるということを見ていきます。

ニューラルネットを扱う人にとっては何を今更?という感じかも知れないが、この本ではモデリングの心得を学ぶことが重要です。「ロジスティック回帰なんて、単層パーセプトロンとして既に何度も使っているぜ」と言わずにしっかり読みましょう。

第7章 一般化線形混合モデル

一般化線形混合モデルとは、一般化線形モデルを現実のデータに適用するためのモデルです(というとGLMは現実のデータに当てはまらないんかい!!?ってなってしまうが)。 「混合モデル」というと機械学習をやっている僕は、すぐさま混合正規分布のような「確率分布を適切な負担率で線形結合する」みたいな印象を持ってしまうのだが、ここでいう「混合」はちょっと違う意味らしいです(固定効果とランダム効果の両方をモデルに組み込むということに由来するらしいが、今やこういう説明はかえってわかりづらいのでおすすめしないらしいのでココでもゴチャゴチャ言わない)。

ココまで学ぶと、おそらくいろいろなデータに対して現実的なモデリングができるようになる(あるいはその自信がつく)のではないかと思われます。

第8章 マルコフ連鎖モンテカルロ法とベイズ統計モデル

最尤推定が仮に解析的に求まらない場合、逐次最適化アルゴリズムを使用する必要が出てきます。

性能の悪そうな逐次最適化アルゴリズムに若干の手を加えていくという形式で「マルコフ連鎖モンテカルロ法」が導入されていきますが、実は最適化(つまり最も良い一点を探す)と、サンプリング(分布の形状を再現する)ということは本質的に狙いが異なります。

従って、性能の悪そうな逐次最適化アルゴリズムから入っておきながら、「なんでそんなアルゴリズムの変更を加えてしまうのか!?」と思ってしまうかもしれません(実際、その変更はひと目では改良になっているとは思えない)。後に、ちゃんとサンプリングの意義が説明されますが紙面の都合から元々知見のある人じゃないと容易には理解できないかも…?と若干思いました。

もとよりMCMCはデータと向き合ってモデリングをした後、そのモデリングを計算機で実行する(推論する)段階の話なので、ある意味「モデリング」の話からは若干遠い位置に居る存在でもあります。この推論アルゴリズムの方に興味がある場合は別途勉強をしたほうが良いでしょう。サラッと行きましょう。

第9章 GLMのベイズモデル化と事後分布の推定

GLMのパラメータに事前分布を与えることでベイズモデル化します。 事前分布はパラメータがどのような値でありそうかの仮定を予め設け、その推論後もその分布からなるべく離れないような制約が掛かります(データ数が増えればその限りではないが)。今回は無情報事前分布なる、パラメータにほとんど何の仮定も置かない事前分布を用いるため、ある種ベイズモデルで事後分布を得る一連の流れのようなものを学ぶ章となっています。

あと、ギブスサンプリングが複数のパラメータを扱う際に良い感じだよという紹介があります。ここも別途他の本で補ったほうが良さそうです。

第10章 階層ベイズモデル

「事前分布を決めるパラメータ(ハイパーパラメータ)に対しても同様に事前分布(階層事前分布・超事前分布)を指定するモデルのことを階層ベイズモデルという」として、階層ベイズモデルを導入していきます。ココでも植物の種子の問題を取り上げながら進むため、「なるほど、事前分布に対して更にちゃんと意味合いを添えて超事前分布を設定するのだな」と納得感を得ることができます。

正直数式上であればいくらでも階層を深くできてしまうため、やけに深く複雑な意味のないモデルも作ってしまえます。従って、ここではしっかり階層に意味を持たせてモデルを作るという流れを学ぶのが良いでしょう。

予測分布に関して数式を見てらギョッとするかもしれません。ちゃんとモデルの意味を考えて階層モデルを組んだ場合には、グラフィカルモデルで各パラメータの依存関係を可視化でき、そこから機械的に予測分布を書き下すことができるのですが、この辺のルールについては詳しく書かれていません。

第11章 空間相関のある階層ベイズモデル

ここでは「場所ごとに植物の咲いている数が違っており」、かつ「近い場所では植物の咲く数も似たり寄ったりになる」というケースをモデリングしていきます。ここで扱う階層ベイズモデルの考え方は、場所というインデックスを時間というインデックスに変えることで、また別のモデリングに活用できる重要な考え方となっています。

ここまでの章をしっかり読んでいれば分かる程度に噛み砕かれた説明になっているため、ぜひともココを理解することを目標に読んでみてください。

対象読者

  • 統計の基本的なコトバを知っている人
  • 計算、あるいはソフトウェアを叩くことはできるが、理解が伴っていない人
  • 初歩的な最小二乗法から次第にモデルを発展させ、階層ベイズまで順次理解したい人
  • 数学がバリバリ得意ではないが、ちゃんと統計モデリングについて理解したい人
想定と違ったとなる前に

「GLMという手法に関して、かなり深くまで学んでいく」というスタイルではないため、既に十分な知識を持っている人が更に理解を深めていくというのには不向きであるように思います。例えば、一般化線形モデルにはどのようなリンク関数があり、どのような確率分布(誤差の分布)を想定するのか、それらの組み合わせでどのようなことが表現できるのか、などを詳しく比較しながら解説をしているわけではありません。

こんな人に最適です

代わりにごく一部の一般化線形モデルを題材にして、その手法が進化していく様を見ていきます。具体的には、ついつい真っ先にやりがちなガウス分布の最尤推定(最小二乗法)では上手く行かない話を取り出し、ポアソン分布の最尤推定から次第にGLMMへと話を発展させていく流れです。

統計の基本的な事柄を学んだのだが、単に最尤推定の計算ができるとかMAP推定の計算ができるだけである「よくわからずに手を動かす(統計ソフトを叩く)」状態の人に特に最適です。この状態から脱して、「統計解析を使える」という状態に持っていくことのできる1冊になっています。

データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)

データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)

現在「StanとRでベイズ統計モデリング」を読んでいる最中です。読み終えたら、新しい記事がこの記事にくっつけようと思います。