読者です 読者をやめる 読者になる 読者になる

Think Stats - Chapter 1

読書

自分の手で数値を解析できるようになりたいとずっと思ってた。でも行動を起こしてなかった。誰もが最初は初心者だけれども、いつまで経っても初心者なのは恥ずかしい。大切なのはいつ初心者じゃなくなるか。大学が文系・理系だの、忙しいだの、そんなのただの言い訳だから。やらないことはいつまで経ってもできない。
図書館や書店に行けば面白そうな本がたくさんある。iTunes Uを見れば楽しそうなものがいっぱいだ。ネットは言わずもがな。もう既にコンテンツは溢れてるんだと思う。もう無料だとか量が多いとか言ってありがたがるのは止めよう。(実際のところ無料なのはありがたいけど)大切なのは自分が何に集中して取り組むかということだ。そんなわけで、この本に取り組むことにした。
http://greenteapress.com/thinkstats/
実際の統計情報をダウンロードして、pythonを使って計算しながら統計を学んでいくという本。 O'Reillyのebookを買ったのだがクリエイティブ・コモンズライセンス付きで公開されてた。これとは別にプロジェクトオイラーの問題を1日1題ずつpythonで解いてる。あんまりいろんな方向に手を出しても何もできなくなってしまうので、今はpythonをやろうかと。
一応大学にいたときに統計物理学とか確率・統計とかいう講義を受講した気がするけど、実際に数字を取ってきて計算してみるってのは全然違うと感じた。この本のChapter 1では"Do First Babies Arrive Late?(一人目の赤ん坊は遅く生まれるの?)"という疑問に対して、実際のデータを使って考察している。

Exercise 1-1

  • Cross-sectional studyとLongitudinal studyの違いをwikipediaで学んで、今回使うデータがどっちに該当するか考えよ。

すごくいいなと思ったのは、扱うデータがそもそもどのように得られたのかを考えるところ。前提も何も確認せずに結論だけ見たって意味がない。Cross-sectional studyはある時期にわーっと一斉に調査する方式で、Longitudinal studyはあるグループを追跡調査していく方式と理解した。今回使うNational Survey of Family Growth (NSFG)のデータは7回調査してるけど、基本的にみんな違う人たちを対象に調査してるのでCross-sectional studyになるんだと思う。

Exercise 1-2

  • 実際に統計データをダウンロードしてみよう。マニュアルも読もう。著者が書いたpythonファイルをダウンロードして実行してみよう。

調査が対面で行われたとかどんな質問票を使ったかなども公開されていて興味深い。でも統計データを見てなんらかの解釈をするのであれば、ここらへんは無視できないだろうと思った。結論だけ見たって雑談のネタにしかならないなあとつくづく思う。あと著者が生データを使いやすい形にするpythonのコードを公開しているので非常に助かる。そのコードを読むことで初歩の初歩から学べるのだから。

Exercise 1-3

  • 著者のファイルをimportして実際に計算しよう。妊娠した女性は何人か?そのうち子どもが生まれたのは何人か?1人目の赤ん坊は何人か?2人目以降は何人か?1人目の赤ん坊の場合の平均妊娠期間は何週間か?2人目以降の場合は何週間か?

実際にpythonを使って条件分岐とかループとかさせながら計算した。結果はgithubに上げてみた。結論として、1人目の平均が38.60週間で2人目以降の平均は38.52週間となった。このデータのアメリカ人数千人の場合では、13時間くらい1人目の方が生まれてくるのが遅いということになる。
ここでいいなと思ったのは、それ以上のことは何も言ってない点。解釈ってのは非常に難しいのに、オレオレ理論で勝手にあることないこと言いたがる奴が多すぎるし、そういうニーズがあるのも確かなんだけど、それってやっぱり違うよなと感じるわけで、データに対して真摯な態度は大事だなと改めて思った。その差がどれほど有意な差なのかは次の章以降でという流れ。

Exercise 1-4

  • さあみんな、政府の情報とかwolfram alphaとかを見てみよう。

wolfram alphaでgestation periodを見てみたらぶっきらぼうに38weeksって出て、出典も何も出てなくて笑えた。

まとめ

今chapter 2を少し読んだとこ。外で読むときはiPadで、コードを書くときはmacbook proで読んでる。近頃毎日pythonで遊んでいて感じるのだが、英語と一緒だな。しばらく使ってないと忘れるし、目的ではなく手段だし、どっちも言語。project eulerpythonで数学をするんだし、この本はpythonで統計をするんだし。息をしたり、歩いたりするように使えるようになったとき、初めて身についたと言えるのかもしれない。しばらく継続してみようと思う。