はじめに
半年ほど前、社内のA/Bテスト結果のレビューで手が止まった。コンバージョン率が1.2ポイント改善したという集計を出したところ、「その差は偶然で説明できる範囲じゃないの」と聞かれた。p値は出していた。ただ、なぜその値で判断していいのか、サンプルサイズがどこまで足りているのか、自分の言葉で説明できなかった。
思い返すと、自分の統計知識はライブラリの引数として覚えたものばかりだった。scikit-learn の cross_val_score は書けるし、scipy.stats の関数名も一通り知っている。それでも「ブートストラップって何をしているのか」を口頭で説明しろと言われると詰まる。手を動かす経験と、その裏側の理屈が完全に切り離されていた。
機械学習の実装は、ある意味で入りやすい。学習が回って評価指標が出れば形にはなる。厄介なのはその先だ。指標の差に意味があるか、モデルの予測がどれくらい外れうるか、観測されたパターンが再現するのか。このあたりの判断はすべて統計と確率の土台に乗っている。土台が薄いまま進むと、意思決定の場面で必ず足元が崩れる。
そこで一度腰を据えて、統計と確率を学び直した。読んだ中から、実務に効いた4冊を紹介したい。読み物として面白い統計本はたくさんあるが、ここではコードと数式がちゃんと載っていて、手を動かしながら進められるものに絞った。並び順は「実務の全体像 → 数学の土台 → 確率の深掘り → 現代的な推論」という流れを意識している。
① データサイエンスのための統計学入門 第2版 — Peter Bruce, Andrew Bruce, Peter Gedeck
著者の Peter Bruce はオンライン統計教育のプラットフォーム Statistics.com を立ち上げた人物で、統計を実務家に教えることをずっと仕事にしてきた。共著の Andrew Bruce と Peter Gedeck も、データ分析を研究と現場の両側から扱ってきた経歴を持つ。
扱う範囲は探索的データ分析から始まり、データとサンプリング分布、統計的実験と有意性検定、回帰と予測、分類、統計的機械学習、教師なし学習まで一直線に繋がっている。統計の教科書としては珍しく、章立てがデータ分析の作業手順にほぼ沿っている。
一番の特徴は、主要な概念に R と Python の両方のコードが添えられている点だ。リサンプリング、順列検定、ブートストラップ信頼区間あたりは、数式で読むより手元で回したほうが理解が早い。写経しながら進めると、教科書の抽象度が一気に下がる。
用語の日本語訳と英語の対応が併記されているのも地味に助かった。英語のドキュメントや論文に戻ったときに、同じ概念だと気づけるようになる。
自分に一番刺さったのは、有意性検定の誤用を扱う節だった。p値を意思決定の免罪符として使っていた自分の癖が、はっきり言語化されていた。多腕バンディットの解説も短いながら実務寄りで、A/Bテストの設計を見直すきっかけになった。数学的な厳密さを求めると物足りない部分はあるので、そこは後続の本に任せる前提で読むといい。
こんな人に: 機械学習の実装経験はあるが、統計の理屈を後追いで埋めたい人。
② 機械学習のための数学 — Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong
著者陣はインペリアル・カレッジ・ロンドンやオーストラリアの研究機関で機械学習を教えてきた研究者たちだ。大学院講義の教材として鍛えられてきた内容がベースになっている。
構成が明快で、前半が数学の土台、後半がその数学を使った機械学習の主要問題になっている。線形代数、解析幾何、行列分解、ベクトル解析、確率と分布、連続最適化を順に積み上げ、その上で線形回帰、主成分分析による次元削減、混合ガウスモデルによる密度推定、サポートベクターマシンによる分類へ進む。
ありがたいのは、後半の各手法が前半のどの節に依存しているかを明示してくれるところ。PCA を読んでいて固有値分解が怪しくなったら、該当章に戻れる。数学書と機械学習書を別々に読んで挫折した経験がある人には、この設計が効く。
確率の章の位置づけも良い。分布を単独の公式として覚えるのではなく、ベクトル解析や最適化と同じ道具箱の中に置いて扱う。この視点を得てから、変分推論のような話の輪郭が掴みやすくなった。
読み進めるコストは低くない。自分は線形代数と最適化の章に一ヶ月以上かけた。通読を目標にすると折れるので、実装で詰まった手法の背後を辞書的に引く使い方から始めるのが現実的だと思う。
こんな人に: 論文やライブラリの内部実装を読むときに、数式で止まってしまう人。
③ Introduction to Probability — Joseph K. Blitzstein, Jessica Hwang
Joseph Blitzstein はハーバード大学の統計学教授で、同大の確率論の講義は公開教材としても知られている。共著の Jessica Hwang はその講義の設計に深く関わってきた。
内容は確率と数え上げ、条件付き確率、確率変数と分布、期待値、連続確率変数、モーメント、同時分布、変数変換、条件付き期待値、不等式と極限定理、マルコフ連鎖、MCMC、ポアソン過程。確率論の標準的な範囲を、かなり丁寧な密度でカバーしている。
この本の強さは、分布どうしの関係を物語として繋いでいく説明のしかたにある。二項分布からポアソン分布へ、指数分布からガンマ分布へ、といった移動が単発の公式ではなく一本の筋として頭に入る。各章末には R を使った計算とシミュレーションの課題があり、確率の直感を数値で確かめられる。
MCMC とマルコフ連鎖まで一冊で到達できるのも大きい。ベイズ推論のツールをブラックボックスで使っていた状態から抜け出せた。Google の PageRank をマルコフ連鎖の例として扱う節は、エンジニアには馴染みやすいと思う。
英語だが文章は平易で、専門用語も定義から積み上げてくれる。むしろ確率用語の英語表現に慣れる機会になった。演習の量が多いので、全部やるより章ごとに数問選んで進めたほうが続く。
こんな人に: 確率の土台を一冊で通したい人、ベイズ推論の中身を理解したい人。
④ Computer Age Statistical Inference — Bradley Efron, Trevor Hastie
Bradley Efron はブートストラップ法を提案した統計学者で、Trevor Hastie は統計的学習の分野を代表する研究者だ。スタンフォードでこの分野を作ってきた二人が書いている。
主題は、計算機の性能向上が統計的推論をどう変えたかという一点に絞られている。第一部で頻度論、ベイズ、フィッシャー流の古典的な推論を整理し、第二部で経験ベイズ、James-Stein 推定とリッジ回帰、一般化線形モデル、生存時間解析とEMアルゴリズム、ジャックナイフとブートストラップ、交差検証を扱う。
第三部が現代的なトピックで、大規模仮説検定とFDR、Lasso によるスパースモデリング、ランダムフォレストとブースティング、ニューラルネットワークと深層学習、サポートベクターマシン、モデル選択後の推論が並ぶ。機械学習の手法を統計的推論の系譜の中に位置づけて読めるのが、この本の独自の価値だと思う。
自分にとって一番の収穫は、アルゴリズムと推論を対の概念として捉える視点だった。新しい手法はまずアルゴリズムとして生まれ、その性質を保証する推論の理論が後から追いつく。この構図を知ってから、評価指標の信頼区間をどう扱うかについて考え方が変わった。
難易度は今回の4冊で一番高い。①と③を通した後に読むのが順序として無理がない。著者サイトでPDFが公開されているので、章単位で試し読みしてから判断してもいい。
こんな人に: 機械学習の手法を統計理論の文脈で理解し直したい人。
まとめ
| ステップ | 読む本 | 得られるもの |
|---|---|---|
| 1. 実務の全体像 | データサイエンスのための統計学入門 第2版 | EDAから検定、回帰、分類までR/Pythonで一巡できる |
| 2. 数学の土台 | 機械学習のための数学 | 線形代数・最適化・確率分布を手法と結びつけて読める |
| 3. 確率の深掘り | Introduction to Probability | 分布の関係、マルコフ連鎖、MCMCの中身が掴める |
| 4. 現代的な推論 | Computer Age Statistical Inference | ブートストラップからLasso、深層学習までを推論の系譜で理解する |
今の課題別に、まず手を出す1冊を選ぶなら次のように考えている。
- A/Bテストや指標の差の解釈で説明に詰まる: データサイエンスのための統計学入門 第2版
- 論文やライブラリの数式で毎回止まる: 機械学習のための数学
- ベイズ推論やMCMCをブラックボックスで使っている: Introduction to Probability
- モデル選択後の推論や大規模検定に不安がある: Computer Age Statistical Inference
- とりあえず一冊だけ選びたい: ①から始めて、詰まった箇所で②か③に寄り道する
4冊すべてを通読する必要はない。自分は①を軸に置いて、必要になったタイミングで他を辞書的に引く形に落ち着いた。統計は一度に詰め込むより、実務で困った箇所から逆引きしていくほうが定着する。