StatsBeginner: 初学者の統計学習ノート

初学者が統計学、機械学習、R、Pythonの勉強の過程をメモっていくノート。

文系がゼロから統計を勉強するときに最初の1年で読むべき本

最初の1年で読むべき本を考える

 私の統計学の理解はまだまだ初歩レベルに留まっていますが、昨日飲んでる時に「初心者向けの統計の本ってどういうのが分かりやすいですか」というようなことを訊かれて、「俺に訊かれてもあまり参考には……」とか思う一方、まだ初歩レベルの位置にいる人間だからこそ言える「この本が分かりやすかったよ論」ってのもあるよなと思ったので、現時点での読書感想みたいなものをメモしておきます。一昨年、統計の勉強を始めた頃の自分にむかって書いてる感じです。
 理系の人とか、ある程度統計の理解ができている人からみれば、「本質的な理解のためにはもっと難しい本がいいよ」ってなるかも知れませんが、「いやそんな難しいの勧められても独学のモチベーションが続かねーよ」っていう立場でまとめておきますw
 ここでは、

  • 統計の勉強はしたことがなく、標準偏差とか言われても意味分からない
  • プログラミングも全くわからない
  • 文系であり、高校の数Ⅲ・数Cは学んでいない。もちろん大学に入ってから数学の勉強もした覚えがない
  • 仕事の合間とかに1年ぐらいかけて基礎を勉強して、基本的な分析手法については自分で使えるようになるのが目標(「雰囲気だけ知りたい」場合はここに挙げたよりもっとカンタンな本や、ネットの記事でいいと思います。)


 というのを前提にします。
 また私は高校のクラスは理系だったので数Ⅲ・Cの授業もありましたが、大学が文系だったので*1、内容はあまり覚えてないですね。必要に応じて高校数学の行列や微積分を復習しつつ、大学生向けの線形代数の教科書とかをみながら統計の勉強をしております。それについても書籍を挙げておきます。

まず最初に読むべき2冊

 私は統計の勉強を始めた当初、いろいろ本を買ってきて、「ついて行けねー」とか思って途中で読むのをやめたものもいくつもあります。んで、振り返ってみると最初はまず、


心理統計学の基礎―統合的理解のために (有斐閣アルマ)

心理統計学の基礎―統合的理解のために (有斐閣アルマ)

基本統計学

基本統計学

 
 この2冊を順番に*2通読すればよかったと今では思っています。まぁ時間なければ前者だけでもかなり勉強になりますが。いずれも「神」レベルで分かりやすいですね。ちなみに南風原は「はえばら」*3と読みます。
 1冊目の南風原テキストは「心理統計学」なんですけど、心理学をやる人に限らず、統計学をゼロから勉強する文系の人はこの教科書をまず読むのがいいと思います。基礎レベルだと分野による違いなんてあまりないし、説明のために紹介される事例が心理学的な題材になってるんですが、心理学の題材は誰にでも理解しやすく、社会学やマーケティングなどとも似たところがあるので汎用性が高いと思います。そもそも私も心理学専攻ではないですし。


 上記いずれの教科書にも数式はそれなりに出てきますが、数式が出てこない統計書を読んでも結局自分で分析できるようにはならないので、これらの本に出てくるぐらいの数式は理解する必要があるだろうと思いました。少なくとも前者は、高校の文系クラスの数学知識で完全にいけると思います。
 逆に言うと上記2冊は、私のような文系の人間にも分かりやすいように、式の展開がけっこう丁寧に書かれているからこそ良いとも言えます*4。展開の詳しい説明抜きで数式が簡潔に書かれている教科書が一番つらいんですよね。「この3行目の式がどうやって4行目の形になるんだ????」みたいにつまづいて先に進めなくなりますからね。また上記2冊は、「この計算は、本質的には何をやっていると言えるのか」という“意味合い”も理解しやすいように書かれています。


 上記2冊はいずれも「統計学の入門書」なわけですが、テイストがけっこう違うので、2冊読んでも冗長感はありません。
 『心理統計学の基礎』のほうは因子分析や共分散構造分析まで解説していて*5、とりあえず心理学の研究で使いそうなやつは入れとこうという感じで編集されています。なので、実際に自分が統計分析をするイメージを早めに思い描くことができます。
 一方『基本統計学』のほうは、確率分布の説明とかにページが多目に割かれているので、具体的な分析に進むイメージというよりは、基本の理論をしっかり身につけておこうという感じですね。
 また、この2冊で話題が重複しているところは、要するに重要なところなので、むしろ2パターンの説明を読むことで理解が深まって良いでしょう。


 ところで、統計が好きな人に「入門書はどれがいいですか」と聞くと、だいたい


統計学入門 (基礎統計学)

統計学入門 (基礎統計学)


 この本がオススメされるのですが*6、私は、文系初学者が最初に読む本としては、これは無いだろ!って思っています。なんか日本語の文章が下手だし、記述もけっこう難しくて、とくに独学を前提にすると途中で投げ出してしまう可能性大です。
 これは、もっと分かりやすい入門書でざっと統計を学んで実際に手を動かして分析とかしてみたあとに、「なんか基本的な概念をイマイチ理解できてない気がするんだよな〜」とか思って、勉強し直すときに参照するのが良いんじゃないでしょうかね。私も一応、この「基礎統計学」シリーズの『統計学入門』と『自然科学の統計学』はたまに参照するし、『人文・社会科学の統計学』も(ほとんど参照してませんが)一応持ってます。
 たしかに理論的な解説がしっかりしていて良いシリーズだと思いますし、多くの人が勧めるのも分かります。しかし、『統計学入門』は最初にほんとの初学者だったときに読んでみて、すぐ放棄しましたw
 あのまま続けてたら挫折していたと思うので、放棄して正解だったと思います。この本を薦める人って、理系だから余裕でついていけるとか、学部時代の統計学の授業で教科書に使われていたのでこれが最初に勉強した入門書だった……みたいな経験から言ってるとか、そういう人たちなんじゃないですかね。たしかに大学で1年ぐらいかけて講義してくれるならこの本でいいかも知れませんが、独学にはキツいっしょ。


 上記のとおり最初に挙げたのは心理系の教科書ですが、考えてみると心理学系の学部には、「文系のつもりで大学に入ったんだけど、なんか実験データの分析とかやるらしくて、統計の授業も受けないといけなくてマジきつい」みたいな人が大量にいるため、分からない人に分からせるためのノウハウみたいなものが蓄積されているんじゃないでしょうか。私は心理学専攻ではないので実態を知りませんが、なんか、そんな想像をしてしまいました。

Rの入門書

 統計学の勉強をしても実際に分析をしようと思ったらパソコンのソフトを使うわけで、そのための勉強も必要になります。
 私はプログラミングっぽいこともやりたかったので最初からRの勉強をしました。処理が自動化できるってのも大きいですが、自分で処理のコードを書いていくことで統計理論の理解もすごく深まりますよね。
 ブログなどで統計学の理論について解説したり、乱数を用いた実験で理論の内容を確かめたりしている記事はRを使っていることが多く、「統計好きの人はだいたいRが使える」という感じすらするので、絶対勉強したほうがいいと思います。私はまだまだレベルが低いですが。


 プログラミングも統計学も両方分からないという段階で読むべきものとしては、


Rによるやさしい統計学

Rによるやさしい統計学


 これ一択でしょうね。
 私はこの本を読む前に、最初にRをインストールした後↓このページをみながら動かしてみたのですが、これも大正解でした。数十分で終わります。


 Rの初歩
 http://oku.edu.mie-u.ac.jp/~okumura/stat/first.html


 Rは、上記のような基礎の勉強だけやったら、あとは、


Rによる統計解析

Rによる統計解析

Rによるデータサイエンス-データ解析の基礎から最新手法まで

Rによるデータサイエンス-データ解析の基礎から最新手法まで


 このへんの「演習」中心の教科書で具体的な分析を、関心あるところからつまみ食いでやっていくというのが良いと思いました。*7
 んで、わからないところについては、

  • とにかくググってブログ記事とかを見つける(できれば英語で検索した方が解説は豊富)
  • Rのヘルプや関数マニュアルを読む
  • 分からなければYahoo!知恵袋とかで質問する
  • 周りの理系の奴に訊く

 という順で解決すればいいと思います。


 「統計はめっちゃ分かるけどプログラミングは素人」とか、「プログラミングは慣れてるけど、統計の勉強はしたことない」という人が読むべき入門書ってのもあるかもしれませんが、それはちょっと分からないです。

統計学の第2段階の勉強

 統計学の入門書を読んだあとは、結局、自分が研究とか仕事でどういう分析をするかによって、読むべき本が分かれていくと思うので、一概に何が良いということはないのかも知れません。たとえば、心理系なら分散分析とか因子分析とかSEMのパス解析が詳しく書かれた本を読むことになるんだと思うし、経済系なら時系列分析とかやるのかな?
 ただ、どういう分野でも役に立つと思われる汎用性が高いものもあって、


多変量解析法入門 (ライブラリ新数学大系)

多変量解析法入門 (ライブラリ新数学大系)

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

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


 この2冊は読んで正解だと思いました。
 統計学の入門的な教科書を読んだだけでは、「○○分析」という具体的な手法についてはよくわからない(単回帰分析ぐらいはバッチリ分かるようになるわけですが)ので、多変量解析の教科書は何か読む必要があって、前者の永田・棟近教科書は「神」レベルで分かりやすいですね。
 友人との勉強会でこの教科書を使ってるのですが、私が研究してるのは心理学を取り入れた公共政策学、他のメンバーは言語学をやってる院生と、民間企業のweb解析担当で、どの立場でも生かせそうな知識ですね。
 線形代数の公式とかがよく出てくるので、高校で行列の勉強を全くやってなかったりするといきなりは理解できず、別途知識を補ってから読む必要がありますが、一応最初の方で線形代数の基礎の解説も載ってますので、ググりながら読めばそれなりにいけると思います。偏微分も出てきますが、ぜんぜん難しい計算ではないですね。


 後者の『データ解析のための統計モデリング入門』は、「緑本」の愛称で親しまれるおなじみの教科書ですが、入門的な統計分析が依拠している「正規線形モデル」の枠を超えて、一般化線形モデル、階層ベイズモデルなどの、応用的でかつ現実の現象をより適切に説明できるモデルへと拡張していくための教科書ですね。
 入門的な教科書を読んで、相関を計算してみたり単回帰分析や分散分析をやってみたりしただけだと、あまり「モデル」ってのを意識することがそもそもないと思うのですが*8、そういう「モデル」に基づく思考法を身につけるという意味でも、とても勉強になりました。自分が知っている「モデル」のレパートリーを増やさないと、知っているモデルにむりやり当てはめるような、現実離れした分析をしてしまうという危険性もよく認識できますね。
 この本はRの利用が前提とされていますが*9、Rのコードの部分を無視してふつうに理論の解説として読んでも良いと思います。

数学の補強

 上記のようなテキストを読んでいると、ベクトルとか行列とかがよく出てくるわけですが、高校の数学を忘れているか、そもそも文系のクラスで行列を勉強していない場合、補強する必要があると思います。
 あと、多変量解析をやっていると、最適化の計算の中で偏微分とかもよく出てきますが、これは高校の範囲ではやらなかったと思うので、別途勉強する必要がありますね。
 とりあえず統計の勉強を始めるにあたり、我々のような文系初学者としては「数学の知識がどのぐらい必要なんだろうか……」ってのが不安になって、この不安が学習モチベーションを阻害するわけですけど(笑)、

  • データをベクトルとして表現することがある
  • 行列をいろいろ変形する公式とかが出てくる
  • 何かの最大値を求めたり確率を計算するときに微分積分が必要
  • がやたら出てくるが、単に「全部足す」というだけの意味なのでよくみるとそんなに難しくはない
  • そのうちΠという記号も出てくるが、これは「全部かける」というだけの意味なので難しくない。

 ぐらいに思っておけばいいと思います。初級レベルでは。


 高校の数学+αぐらいの知識であれば、


 高校数学の基本問題


 ↑このサイトに基本的な説明と練習問題も載っていて、私は行列の公式とかを忘れたときはこのサイトを見ています。このサイトを参照しながらであれば、初級の統計書はだいたい問題なく読めると思います。
 ただやはり線形代数の基本はやっておいたほうが良いので、私は、


線形代数30講 (数学30講シリーズ)

線形代数30講 (数学30講シリーズ)

多変量解析入門―線形代数から多変量解析へ

多変量解析入門―線形代数から多変量解析へ


 この2冊で勉強してます。前者はとにかく「やっていることの意味」が分かりやすく書かれてあり、昔から評判がいいらしくいわゆる「名著」ってやつですね。
 後者は全部は読んでないのですが、タイトルからすると多変量解析の教科書かと思いきや、ほとんど線形代数の話です。
 また、統計学でも何かと微分・積分は出てくるので、


微分・積分30講 (数学30講シリーズ)

微分・積分30講 (数学30講シリーズ)



 これをとりあえずやるのがいいと思います。


 これら数学の勉強は統計の勉強とは違うので、なんか「データ分析したい」というモチベーションからすると遠回りのようにも思えるのですが、学生時代のように「試験に備える」みたいなプレッシャーがなく、自由に初歩的な数学の勉強をするってのは、案外、頭の体操にもなっていいなと思っています。
 そういえば、佐藤優氏が『読書の技法』という本のなかで、勉強とか仕事に疲れたら気分転換に数学の練習問題を解くと言ってましたが、なんか気持ち分かる気がします。


さらに簡単な本

 冒頭で前提を説明したように、このエントリでは「ある程度長期間にわたって勉強する気力がある」ことを前提に書いてきたのですが、ビジネスマンが何となく教養として統計学の雰囲気だけ知っておきたいという場合は、もっと簡単な本として、


統計学がわかる (ファーストブック)

統計学がわかる (ファーストブック)

統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)

統計学がわかる 【回帰分析・因子分析編】 (ファーストブック)


 この二冊がオススメですね。これらは立ち読みしかしてないのですが、本質的に重要なことを分かりやすく説明できていて、とても完成度が高いと思いました。他のブログ等でもオススメされているので、「数式とかほんと見たくねーんだよ」みたいな人はこれら2冊だけ見ておくのがいいと思います。(もちろん“全く”数式が出てこないわけではないですが。)


勉強にあたっての留意点

 まだまだ初学者の立場だからこそ覚えている、「最初の一年、こういうことに気をつけるべきだった/気をつけて正解だった」的なものをメモっておきます。

  • とにかく、ググること。統計というのは、「分からなくて困ってる人」がたくさんいると同時に、「教えたがってる人」もたくさんいます*10。おかげでネット上には解説が大量にあって、検索すればだいたいのことは分かります。また、ある程度メジャーな教科書であれば、それを読みながら勉強していく過程をメモっているブログがドンピシャで見つかったりして、とても参考になります。
  • Rのヘルプやマニュアルを読むこと。Rの使い方に関しては、ググれば分かることも多いですが、ふつうにヘルプをみたほうが早くかつ漏れがないことも多い気がします。ただし英語ですが。あとは関数マニュアルの日本語版(リンク)とか。
  • 教科書に書いてある数式は飛ばさないこと。数式を飛ばしたら、結局あとで何をやってるのか分からなくなります。教科書側で数式の説明をあえて省略している箇所は、著者なりの判断で「初学者はひとまず『こういうもんだ』と覚えておけばいいだろう」とされてるわけなので、意味がつかめれば飛ばしてもいい気がしますが*11、教科書の本文に書かれてる式は全部理解すべきでしょう。式の展開が分からなかったら、数学の復習からやりなおすか、理系の奴に訊くかして、とにかく解決してから先に進むべきだと思います。
  • 練習問題をたくさんやること。教科書を読んで理論が理解できた気になっても、実際にデータを分析してみると全然頭に入ってないことに気づくということはよくあります。自分の仕事とか研究で使うオリジナルのデータがあれば、それを分析するとモチベーションが上がりますが、それだけだと幅が狭いし、間違ったことをやっても気づかなかったりするので、教科書(やネット上)の練習問題をたくさんやるのがいいと思います。
  • 乱数を扱えるようになること。Rで、様々な確率分布に従う乱数を使って疑似データをつくり、そのデータをもとに何かを推定してみるといった実験をやっていると、ものすごい速さで理論の理解が深まります。教科書を読んでるだけでは思い付かなかったような疑問も出てきたりとかね。そもそも「統計モデル」というものは「乱数発生器」と考えることができ、そう説明している教科書もあるので、乱数を発生させて遊ぶのはとても大事なことだと思います。
  • 質問すること。けっこう、Yahoo!知恵袋とかで訊くと親切に教えてくれる人がいます。もちろん、周りの詳しそうな人に訊くのでもいいです。ちょっとしたことでも質問してみると、自分の理解というものが、思っていたよりも遙かに浅かったということによく気づかされますね。
  • 気長にやること。自分がやりたいのはデータの分析なのに、統計理論の勉強(場合によっては数学の勉強)からやるというのは遠回りな感じがして、ダルくなってくるものです。しかし統計の勉強は英語の勉強みたいなもので、最初から「理解には時間がかかるはず」という前提で地味な勉強を続けてると、いつのまにかけっこう分かるようになってるという経験の繰り返しです。逆に、中途半端な理解で先へ進んじゃうと、あとで完全に暗礁に乗り上げます。
  • 「まだまだ理解が浅い」と自分に言い聞かせること。基本的な検定とかモデルを覚えるたびに、なんかうれしくて「俺、統計分かってきたわ」っていう気が一瞬したりするんですが、そんなものは幻想です。統計に詳しい人たちのブログを読んだり、勉強会に出て行くと、自分がいかにザコであるかということが分かりますし、冷静に考えればそれは当然です。初学者なんだから。

 

参考リンク

 統計の勉強をはじめるときに気をつけることとしては、↓こちらの記事がとても参考になります。オススメ書籍一覧とは違って、統計を勉強するとはどういうことなのかがイメージできて良いと思います。
 統計学を勉強するときに知っておきたい7つのポイント: ニュースの社会科学的な裏側


 あと、同じ方が書かれているようですが、↓のコメントもとても参考になりました。
 統計分析の応用分野別の違い(よくつかう手法や特色など)について、個人的なイメージを教えてください。生物系、医療系、理工系、経済系、心理系、社会系など。 | ask.fm/uncorrelated


 ↓このオススメ書籍紹介記事は、大量ブクマされているので参考に貼っておきますが、「データサイエンティストを目指す人」のための教科書一覧なので、我々のように「文系の人間がゼロから勉強する」のとはだいぶレベルが異なりますね。
 データサイエンティストを目指すに当たって、ぜひ揃えておきたいテキストたちを挙げてみる - 銀座で働くデータサイエンティストのブログ
【下の追記①を参照】


 ↓こちらは、統計初心者のビジネスマン向けに書かれていて、これも大量ブクマされており、1冊1冊のコメントが詳しいですね。分野が機械学習方面に偏っているので、私の個人的な目的にはちょっと合わない面があったのですが、そういう勉強をはじめるときにまた参照しようと思います。
 統計屋による新社会人のための統計系入門書お薦め一覧 - あんちべ!


 【追記① 2014.10.2】 
 2つ上の「銀座で〜」ブログの別エントリで、めちゃくちゃ分かりやすいオススメ本リストがあったのを見逃しておりました・・・。ブログ主様が注意喚起をされておりましたので、↓のとおり2つ追記します。
 前者なら、我々のレベルでもついていけそうです!
 2014年春版:初心者にお薦めする「本当にゼロから統計学と機械学習の基礎を学ぶ」ための6冊 - 銀座で働くデータサイエンティストのブログ
 2014年春版:ビジネスにおけるデータ分析のプロを目指すなら揃えておくべき12冊 - 銀座で働くデータサイエンティストのブログ


 【追記② 2014.10.3】 
 先週金曜に飲んでた友人へメールを書いてたら長くなったので、代わりにここにエントリを起こしただけだったのですが、参考リンク先のあんちべ様にTwitterで言及していただいたのをきっかけに(たぶん)、気づいたらたくさんの方にブックマークを頂いてて恐縮です。私はあくまで初学者であって、知識も経験も少なく、参考リンク先の各記事のほうが断然信頼性は高いですから、その前提でお読み頂ければと思います。。。
 あと付記すると、統計分析の雰囲気をつかむだけとかならここに挙げたよりさらにカンタンな本がたくさんあります*12。が、たとえば最初に挙げた南風原先生の『心理統計学の基礎』よりもカンタンな内容でいいのであれば、お金を出して『マンガで分かる〜』とかを買わなくてもネットの記事を数本読めばいいと思いますね。
 このエントリは、あくまで1年以上かけて雰囲気以上のところを目指すと決めている場合を想定しているところがけっこうポイントなんですが、その場合は最初から南風原教科書みたいなのを読んだ方が、結局効率がいいと思いました。私は「分散」の意味すら知らない状態から読み始めましたけど、ボールペンでメモとかしながらゆっくり読めば何とかなりました。
 あと、どうでもいいですが、私は南風原テキストを2冊買って、1冊は書き込み勉強用とし、もう1冊はスキャンしたデータをパソコンに入れて常時持ち歩いてます。

*1:大学院で工学研究科の博士課程に在籍してますが、都市計画という学際的な領域だし、やってることはほぼ社会心理学です。

*2:逆順にすると死ねます。あくまで南風原テキストが先です。

*3:間違って「はえばる」と書いてたので修正(2015.1.5)

*4:各種定理の細かい証明とかが全て載っているわけではなく、「○○であることが知られている」みたいに省略されているところもあるので、ほんとに理論的に理解しようと思ったらもっと本格的な教科書を読まないといけないんでしょうけど。。

*5:因子分析も共分散構造分析の一種と言う場合がありますが。

*6:通称「赤本」と呼ばれている。

*7:翻訳本である『Rによる統計解析ハンドブック』は外しました。(2015.9.22追記)

*8:もちろんなにがしかのモデルを前提とした分析をやってるわけですが、最初は、そのことにあまり自覚的じゃないですよね。

*9:Rのほかに、MCMCのところでWinBUGSってのも出てきます。

*10:勉強し始めると分かりますが、自分のレベルがとても低いという自覚があっても、自分より分かってない奴に教えたくなる魔力みたいなものがあります。統計学には。

*11:というか現実問題、初学者には絶対理解できなそうなものもあるし。。

*12:私もまだまだ雰囲気しか分かってないような気がしますがそれは措いといて。。