【書評】「Rで学ぶ統計的データ解析」

本記事について

講談社サイエンティフィク様より、データサイエンス入門シリーズ「Rで学ぶ統計的データ解析」を教科書見本としてご恵送いただきました。

www.kspub.co.jp

 

実はデータサイエンス入門シリーズはほぼ全巻購入していて、大好きなシリーズです。

www.kspub.co.jp

 

書評というと偉そうですが、この本も本当に良い本だなと思ったので、簡単に感想を書きたいと思います。

(フルカラーで3000円って破格ですよね...)

 

本書の特徴

1. 最小限のR環境

最近はもう、RはRStudio上で実行するのが標準的だと思いますし、tidyverseパッケージ群(例えばデータフレーム操作はdplyr、可視化はggplot2)を活用することが増えてきたと思います。

個人的にはRStudio+tidyverseパッケージ群が好きですが、導入はそれなりに面倒くさいとも思います。RStudioは多機能が故にどこを見ればいいか最初は分かりづらいし、tidyverseパッケージ群はインストールに失敗することもあります。あと開発が盛んなので、関数が増えたり減ったり変わったりもしますし。

 

一方本書では、RStudioは使わず素R環境で説明が行われていますし、特別なパッケージのインストールもほとんど求めていません。実はRは、デフォルトでもかなり多くの計算用関数・可視化用関数があるんですよね。第1章・第2章で、baseのRだけで出来ることを、かなり詳しく紹介してくださっています。apply()ファミリーなど、ちょっと癖があるけど使いこなしたら便利な関数もちゃんと説明されているのが嬉しいです。

特に第2章の「データの可視化と要約」のところは、かなり勉強になりました。僕はRを本格的に使い始めた直後からggplot2を勉強したので、実はbaseのRで可視化する方法をほとんど理解していなかったんですが、「こんなに色んなことできたんだ...」と驚きました。

もちろんパッケージを全く利用していないという意味ではなくて、例えばクラスター分析でclustrdパッケージを使うなど、要所要所で必要なパッケージの紹介もなされています。

 

2. 明確な道筋

データ分析の教科書には、色々な分析方法が紹介されていますが、初学者のうちはそれぞれの分析がどのような関係にあるのかを理解するのは容易ではないと思います。例えば「回帰分析」と「分散分析」は多くの教科書に載っていると思いますが、実際には互いに密接な関係があるにもかかわらず、これらの関係はあまり明確に言及されていないことも多いと思います。

一方本書では、

  • 第3章:回帰分析
  • 第4章:回帰分析(特に、正則化法を用いたリッジ回帰など発展的方法)
  • 第5章:判別分析(被説明変数が質的変数の場合における回帰分析のようなもの)
  • 第6章:ロジスティック回帰モデル(判別分析と関係した分析)
  • 第7章:決定木に基づく判別モデル(判別分析やロジスティック回帰モデルとは違う強みがあることを紹介)
  • 第8章:主成分分析(判別分析と似ているところはあるが、情報の圧縮という、別の目的のため)
  • 第9章:クラスター分析(判別分析などと同様、分類が可能だが、教師あり/なしという違いがある)

という流れで、明確に筋の通った話が一貫して続いています。各章で全然違う分析を紹介しているという印象は全くなく、分析同士がどのような関係にあるのかが非常に明確に説明されていると思います。

 

また第10章以降は、ブートストラップ法やシミュレーションの実演が行われており、「こういう魔法みたいな手法/法則があるんだよ」ではなく、その挙動を実際に確かめられるようになっています。

 

3. 「まずは実行しよう、数理はそれからだ」という帯

帯に書いてあるコメントです。これだけ読むと、Rのマニュアルに特化した本なのかと思ってしまうかもしれませんが、全くそんなことはありません。プログラミング一辺倒でもなく、数式一辺倒でもなく、バランスよく両者が併記されていると思います。

バランスよくと書きましたが、これは分量の話です。

僕自身は数式をざっと眺めて「ふんふんなるほどね」と理解できるタイプの人間ではないので、これから1ページずつガシガシ鉛筆で書き込みしながら、丁寧に読んでいこうと思います。例えば110ページを開いてみると、文字の半分くらいが「X」なんですが、もしかしたら僕以外にも、これをみて「ウッ...」と感じてしまう人はいるかもしれません。

でも恐らく、本書ただ一冊を読んで完結するようなことは想定されていなくて、「データサイエンス入門シリーズ」の他の本も併せて読んで勉強することが想定されているのだと思います。それらも含めて丁寧に読み進めていけば、きっと怖くないと思うので、頑張って読んでいきたいと思います。

 

まとめ

決して阿っているわけではなくて、本当にいい教科書だなと思いました。時間をかけて、Rによるプログラミングと数理の勉強を並行していくタイプの書籍だと思いますので、ゼミなどで教科書として利用することが特に相性が良いかもしれません。

最後に...これは完全に個人的な話ですが、本書の査読者(原稿をチェックされた方々?)のお名前を眺めていたら、学部の同期がいました。何よりそれが一番の励みになりました。