渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

2021年版:データサイエンティストを初めとするデータ分析職向け推薦書籍リスト(初級5冊+中級8冊+テーマ別14冊)

(Image by Pexels from Pixabay)

今年も恒例の推薦書籍リストの季節がやって参りました。……なのですが、昨年はCOVID-19の影響で*1データ分析業界及び隣接分野の新刊書を読む機会が減ってしまいましたので、例年に比べてラインナップの変更をほとんど検討しないままでリストアップしている点、予めご容赦いただければと思います。


そして今回の記事では、これまで以上に「実務家向け」「実践的」であることを重視しています。そのため昨年までのリストに比べて大幅に刷新されているカテゴリもあったりします。また、末尾に僕なんぞが選ぶよりもずっと優れた推薦書籍リストへのリンクも付しておきました。併せて参考にしていただけると幸いです。

初級向け5冊


初級向け書籍リストはあまり出入りがないのが通例ですが、今回も微妙に入れ替わりがあります。

総論


本当に手習いレベルからの初心者であれば、まずはこちらから読まれるのが良いでしょう。先日書評した『AI・データ分析プロジェクトのすべて』です。これは書評記事でも触れたように「駆け出しからベテランまで必携の仕事術大全」であり、そもそも論としての「データ分析職はどう仕事するべきか」がこれでもかと網羅的に解説されています。従来データ分析職というと前例がないない尽くしの中で手探りで業務を構築していく必要があったものですが、今は本書に限らず良書が多数あるのでそれをなぞれば済むようになりました。良い時代になったものです。


技術的な部分の総合入門として相変わらずお薦めしたいのが、データサイエンティスト養成読本の登竜門編。既に出版から時間が経っていて陳腐化は否めませんが、それでも統計学機械学習・R / Pythonプログラミング・データ前処理・データベース・可視化などなどデータ分析に関わる諸分野をバランス良くカバーしていて、初学者向けには非常に親切でまさに登竜門と言って良いかと思います。

統計学


統計学の初歩は今でもこちらが鉄板でしょう。Rで手を動かしながら、記述統計から検定、分散分析、回帰分析、因子分析、サンプルサイズ設計と言った統計学の基本事項の大半を実践的に学ぶことが出来ます。特にサンプルサイズ設計に初学者のうちから触れられるのは非常に貴重なので、その点からもお薦めの一冊です。

機械学習


ご存知はむかずさん本です。中身が気になる方は以前の書評記事をお読みください。文字通り、機械学習を生業にしたいと願う人がゼロから学んでいく上で絶対必須不可欠の知識・教養・技術の全てがこの一冊に収められています。特に機械学習アルゴリズムをまだ一度もスクラッチから組んだことがないという人は、騙されたと思って読んでみてください。


そしてそのはむかずさん監修の、現代において頻出の機械学習手法のほぼ全てを図解とPythonコード付きでquick viewできる一冊がこちら。さらに交差検証や性能評価の方法といった、僕が最近主張するところの "ML design" 諸論についても丁寧に解説されていて、言うことなしの名著です。機械学習の実践的入門書としてはベストに近いと思います。


中級向け8冊


中級向けに関しては今回は全く変動がないです*2

統計学


神永先生の手による「新・赤本&青本』です。前回も書きましたが「実務家向けであることを考慮すると数理統計学的な知識を重視した東大出版会3冊よりもこちらの方がRコードによる実践も添えられていて分かりやすい」ことから、東大出版会3冊の代わりに今回も筆頭に挙げています。東大出版会シリーズとほぼ同等の理論的な解説を伴った上で、Rでそれを現実のデータに対して実践するとどういう結果が得られるかというプロセスを丁寧に例示していて、中級向けの統計学の教科書としては最適でしょう。ということで昨年も書きましたが、赤・青と続いて是非「緑」(社会科学データ統計学)も期待したいと思います*3


ベイズ統計学及び統計モデリングについては、引き続き馬場さんのこちらの書籍を。過去に書評記事で大絶賛した通りですが、RとStanを駆使してGLM, GLMM, 階層ベイズそして状態空間モデルと、古典的な統計モデリングからモダンなベイジアンモデリングまでを分かりやすく、豊富な例題と共に実践的に学ぶことが出来ます。現職のうちのチームでも若手向けのベイジアンのテキストとしてこちらを指定させていただいております。


統計学のトリを飾るのは、お馴染み『新版 統計学のセンス』です。以前の書評記事でも激賞した通り、信頼区間など頻度論統計学のやや難解なところも言葉を濁さずきちんと解説し、統計的因果推論や実験計画法についてもページを割き、さらには他書ではまず見かけない非劣性検定*4についての解説もあり、粗雑な統計学の解説書が多い中にあっては極めて貴重な一冊です。多少医療統計の色が強いのが難点かも。

機械学習


バランス良く幅広く機械学習の基礎が収録されていて「独習に」最適という点でやはり外せないのがこちらの「はじパタ」。ベイズの識別規則や性能評価といった基礎事項から、線形分類器、カーネル法、行列分解、クラスタリング、アンサンブル学習と主要なトピックを簡潔かつ分かりやすくまとめています。機械学習の全体像を眺めるのにベストの一冊です。


お馴染み「カステラ本」です。Deep Learning以降の流れをカバーしていないのでDeep全盛の現在では物足りないと思う人も多いかもしれませんが、それ以外のほぼ全ての機械学習分野の話題がカバーされているので辞書として使う上では今でも最適の鈍器です。意外かもですが、Kaggleでは全員が使うといっても差し支えないGBDT系のモデルのアルゴリズムとその解説をきちんと載せている数少ない書籍の一つです。英語版PDFならweb上で無料で読めます。


Deep Learningそのものについての書籍は後ほどテーマ別リストで挙げることにして、汎用的な中級向け入門書としてお薦めするのは今回も講談社MLPシリーズの最初期の深層学習本です。内容の陳腐化が著しいですが、Deep Learningの初歩について理論的な背景から学ぶ上では今でもこれだけ読んでおけば十分というくらい、エッセンスを簡潔に押さえた良書です。本書ではカバーされていない最先端のNNの潮流については、他の新刊書もしくは研究論文などを参照した方が良いでしょう。


「実務家として」機械学習を学ぶなら今でも絶対に外せないのがこちら。実際のビジネスの現場でよく用いられるシステム構成と、個々のビジネス要件を踏まえた上でどのような機械学習システムを構築すべきか&いかにして構築するか、また学習データの収集とその方法、さらには実データに対する機械学習(もしくは機械学習を使わないで済ませる)の適用事例や、構築された機械学習システムの評価方法など、まさに「仕事で実際に」機械学習を用いる上では必須の項目が満載で、機械学習エンジニアを目指す方なら必携の一冊です。


テーマ別14冊


結論から言うと、前回よりテーマ別で紹介する書籍数は増えてしまいました(笑)。単に良かったと思う本を追加したり、一方で昔載せていたけど一時外していた本を戻したりした結果です。

PRML


今更!?あれだけボロクソに言っていたのに復活させるの!?とか怒られそうですが、今回からPRML上下巻を復活させることにしました。理由は簡単で、ここ数年ベイズ機械学習ガウス過程回帰といった「PRMLなら他のテーマと共に包括的に学べる」テーマが流行るようになってきたからです。勿論それ以外のテーマについても盛り沢山で、特に系列データ分析などは今でもPRML以外に思ったほど良書がないので、とりあえず上下巻2冊とも手元に置いておいて損はないと思います。温故知新。

機械学習の実践


お馴染み「Kaggleで勝つ」本です。評価指標の置き方・特徴量の扱い方・モデル評価と交差検証の方法・モデルのチューニング・モデルの組み合わせ方・leakageのような落とし穴、などなどKaggleのコンペだけに閉じず、僕が常日頃その重要性を説く"ML design"の考え方が本当に「全て」載っており、機械学習の実務家であれば必携の書と言って良いかと思います。

Deep Learning


以前の推薦書籍リスト記事でも紹介したsklearn + TensorFlow本の第2版です。実はこの第2版は未読なのですが、初版本はうちのチームの若手向け機械学習レーニングでも使っていて好評でした(もっともsklearnの本として見ると色々中途半端な印象は否めませんでしたが)。特にTF / Kerasの本という意味では非常に良い解説書で、著名なCNN / RNNモデルの生ネットワークの書き方なんかも紹介されていて便利だと思います。Attention, Transformer, GANや強化学習など最近の話題もカバーしています。


Goodfellow本。これもそろそろ内容の著しい陳腐化を感じますが、Deep Learning諸系統の基礎をある程度深く学ぶには今でもこれ以上の網羅的な書籍はないと思います。ただし、理論的な部分の解説ははむかずさん本と大部分がオーバーラップするので、純粋にDeep諸系統に関する辞書的な一冊として揃えておくというのが正しい扱い方でしょう。


図解速習DEEP LEARNING

図解速習DEEP LEARNING

Amazon

Colaboratoryを駆使し、現代のDeep諸系統全盛期における代表的なネットワークの大半の組み方とその実践さらにはwebへのデプロイ*5をこれ一冊でカバーするという、極めて野心的かつ実践的な良書です。一般的な表形式・画像・系列(自然言語テキスト含む)データに対するNNのみならず、映像・音声データやGANや強化学習までをもカバーしていて、さらにその全てに簡潔なアルゴリズムの説明とColaboratory + TensorFlow + Kerasによる実践例が付されています。モダンなNN実装のコンパクトな入門書として最適な一冊です。

統計的因果推論


統計的因果推論については、前々職の後輩である安井君の手によるこちらの一冊が実務家向けでは依然として決定版でしょう。過去に書評記事で称賛した通りで、「セレクションバイアスとRCT」「介入効果を測るための回帰分析」「傾向スコアを用いた分析」「差分の差分法(DID)とCausalImpact」「回帰不連続デザイン(RDD)」という章立てで、段階を踏みながら計量経済学的な理論面での背景も丁寧に解説しつつ、Rコードによる実践例も付して分かりやすく統計的因果推論について説いた良書です。

ウェブ最適化


昨年末の書評記事でも称賛した、ウェブ最適化のテキストです。いわゆるUI/UX改善の手法について、A/Bテスト・バンディット・ベイズ最適化とモダンなアプローチがNumPy / PyMC3による実践的コードと共に紹介されていて、非常に分かりやすいです。前出の『効果検証入門』と合わせて読むと、さらに理解が進みやすくなると思います。

ベイズ統計


今回の記事ではベイズ統計のお薦め書籍を全面的に刷新しています。

まず一冊目は『モンテカルロ統計計算』。タイトルから想起される内容とは裏腹に、中身はベイズ統計学の理論面での考え方の入門と、そのRコードによるスクラッチ実装から成ります。普段RStanであまり深く考えずサラッと流してしまっているベイズ統計学そしてMCMCの裏側を、極めて分かりやすく解説している優れたテキストです。ただしRStanの話は全然出てこないので、あくまでも「原理を学ぶための教科書」として読んだ方が良いです。


もう一冊はStanの祖としても知られる、かのGelman御大監修の鈍器ことBDAです。こちらは千葉大の米倉さんが監修して邦訳版が出るというお話なので、まだ英語の原書しか手に入らないもののフライングということで今回のリストに入れました。モダンで世界標準のベイズ統計学&関連する計算機統計学の知識を広汎に網羅する、まさにベイズ統計学時代に必携の辞書と言って良いでしょう。RStanのチュートリアルにもなっている8 schoolsも元ネタは実はこのBDAが出典だったりします。

時系列分析


言わずと知れた「沖本本」です。ひとまず理論的な部分についてはこれ一冊あれば十分です。このブログの初期に時系列分析カテゴリ記事群で散々取り上げたので、ダイジェスト版としてはそちらを読まれても良いかもしれません。どうしても足りない*6という人はその師匠筋のHamiltonの鈍器を読まれると良いかと思います。


モダンなベイジアンを駆使した時系列分析ということで言えば、こちらの萩原さんの本をお薦めします。単に時系列分析や状態空間モデルというだけでなく、粒子フィルタまで含めたベイジアン時系列モデリング全般の話題をスクラッチからのRコーディングまで添えて解説しているので、網羅的で非常に読み応えがあります。勿論RStanによる標準的なモデリング方法もカバーしていてお薦めです。

グラフ・ネットワーク分析


最近改めてグラフ・ネットワーク分析の重要性について語られるのを目にすることがありますが、相変わらず邦書ではこれぞという良書がほとんど見当たりません*7。その意味では、現在もなお鈴木先生のこちらの一冊が鉄板にして唯一の決定版でしょう。グラフ理論の基礎から中心性やコミュニティ検出といった有用な手法の実践例が付されて解説されており、特にソーシャルデータを扱う人は必ず脇に置いておくべき一冊です。

SQL


データ分析目的のSQLコーディングについては、畏友・田宮さんも共著に加わったこの一冊以外に今でも推せる本がありません。過去の書評記事で激賞した通りで、文字通り「データ分析のためのSQL黒魔術大全」です。仕事でデータ分析をやらなければいけないけど、DBの扱い方も良く分からないし、況してやSQLなんてどういうスクリプトを書いたら良いか分からない……という人は本書を開けば必ずや望む黒魔術にたどり着けると思います。最近はSQL上で動かせる機械学習も増えてきたので*8、それらと組み合わせると悪魔合体?になって素晴らしいものが作れるかもしれません(笑)。


コメントなど


ということで、今回も上級向け書籍は特に選んでおりません。僕自身が上級者でも何でもありませんので、お望みの方はもっと然るべき評者の方にお尋ね下さい(笑)。


まず、今回は記事タイトルにもあるように(狭義の)データサイエンティストを主たるターゲットとした、お薦め書籍リストとしました。言い換えると、このリストは(狭義の)機械学習エンジニア向けではない、ということです。と言うのも、近年のNN研究の進歩はもはや機械学習そのものの開発を生業としない人間にはキャッチアップし切れない状況にあり、深化するだけでなくその多様性も増しているところに個人的には追いつけない感を覚えています。


例えばFederated Learning of Cohorts (FLoC)などは学習の構造自体をクラウド側モデルとエッジ側モデルとに分けた上で差分プライバシーの仕組みを用いて、個々のユーザーのプライバシーを保護しながら末端のデバイスに搭載されたモデルの学習を行えるわけです。この辺まで来るといわば「総力戦」的な雰囲気があり、サラッと何冊かの本を読んだからといってカバーできる気がしない……というのが偽らざる感想です。ということで、機械学習周りはあえて推薦書籍リストを殆ど更新せず、あくまでも「機械学習『も』」業務で使う(狭義の)データサイエンティスト向けのものだけで固めた次第です。機械学習システム開発を専門とする人たち向けには、世の中にもっと良い推薦書籍リストが沢山ありますので、そちらの方を参照していただければと思います。


次に、黄色い本ことPRMLは長らくこのリストから外していましたが、ガウス過程回帰やベイズ最適化などの話題が最近増えてきたので、他の機械学習のテーマと共に一元的に学べる書籍ということでリストに戻しました。特に上巻で挫折した人がたどり着けないとされる下巻の方にその点では意義があると言えそうなので、かつて挫折した皆さん頑張って読みましょう*9


また、これまでしばらく毎年入れていた渡辺ベイズですが、最終的に「実務家向けではない」と判断して今回のリストからは除外しました。勿論WAICのような統計モデリングにとって重要な概念の解説がなされているのは有用なのですが、総体として見た場合に「これよりも実務家から見てもっと有用なテキストがある」状態であえてリストに載せ続ける理由はない、というのが個人的な判断です。その点で、代わりに入った『モンテカルロ統計計算』は実務家向けに理解しておくべきベイズ統計学MCMCの基礎を網羅的に分かりやすく取り上げていて、至適だと思いました。


……ということで、今年はあまり更新のない推薦書籍リストになってしまいましたが、来年こそは頑張って新刊書をチェックして少しでもup-to-dateな推薦書籍リストに出来ればと願っております。


他所で公開されている優れた推薦書籍リストについて


前述した米倉さん含む日本国内のプロの統計学者の方々が集まって結成された株式会社Nospareという会社があるのですが、そのQiita記事グループで公開されている統計学の解説記事が素晴らしいものだらけなので、こんなド素人が書いたブログを読むよりも出来ればそちらの方を是非お読みいただければと思います。その中にはプロの統計学者がお薦めする各種推薦書籍リストもあるので、そちらも必読です。



モンテカルロ統計計算』は実はこちらのリストで見つけて、実際に読んでみて素晴らしい本だったので今回のリストに入れたという経緯があったりします。あえて言うなれば、こちらで挙げられているリストこそが「上級者向け」なのかもしれないな、と思いました。

*1:特に献本の形でご恵贈いただいた各種書籍が閉鎖されたオフィス内のメールボックスに放置されたままで、読めていないものが最低でも5冊あります

*2:単に新刊書に触れる機会がなかっただけとも言う

*3:今年も著者の方々にプレッシャーをかけていくスタイル

*4:本当に「AとBとが同等」かどうかを検定するもの

*5:TensorFlow.jsを使う

*6:例えばマルコフ転換モデルのEMはどうやっているのかが気になるとか

*7:グラフ理論そのものの書籍は沢山あるが肝心の分析方法について解説した本は依然として新たに出てこない

*8:BigQuery MLなど

*9:他でもない僕自身がようやく下巻にたどり着いたという有様ですがorz