【書評】データ分析のためのデータ可視化入門

本記事について

訳者の方々から、2021/01/26発売の、「実践Data Scienceシリーズ データ分析のためのデータ可視化入門」をご恵送いただきました。ありがとうございます!

www.kspub.co.jp

 

本書は、「Data Visualization A practical introduction」の邦訳です。

socviz.co

 

原著は過去に私費で購入していたのですが(写真左)、自分で読むのも人に貸すのも、和書のほうが圧倒的に楽なので、たいへん嬉しいです。

f:id:das_Kino:20210126094606p:plain


以下、書評です。

 

本書の特徴

1. 「可視化という作業」自体の解説

タイトルからも分かるように、本書はRのggplot2パッケージを用いた可視化の入門書です。この手のソースは、事例集やハンズオン形式のコード紹介に注力したものが多いですが、本書ではまず最初に、なんと40ページ近くも費やして、「可視化って奥が深いんだぞ!」ということを熱弁しています。

 

可視化は統計的解析とセットで用いられることが多いと思いますが、可視化を怠ると、統計的解析において深刻な問題が発生しえます。有名なのは、「記述統計量(例:平均、分散)が同じだが、データの分布がまるで異なることがある」という事例ですね。

journals.plos.org

本書でも「アンスコムの四重奏」という事例から始まり、様々な観点で可視化の重要性を訴えています。

 

個人的に面白いと思ったのは、「ポップアウト」や「ゲシュタルト」など、知覚・認知心理学的な観点でも説明している点です。情報の取捨選択に係る能力を注意(attention)と呼びますが、「頑張って注意を払わないと情報が取得できないグラフ」もあれば、「注意をさほど払わなくても情報を選択できるグラフ」もあります。ヒトのことを理解したうえで、ヒトが効率的に情報を獲得できるように工夫しよう、というメッセージが込められていて、第1章はとても読みごたえがあります。

 

2. 丁寧な事例解説

ggplot2は、ひとたびクセを掴むと、かなりスラスラ書けます。それは可視化の文法(Grammar of Graphics)に基づいて設計されているからです。しかし、細かい調整をしようとすると、めったに使わない関数や記法が必要となり、とたんに難しくなります。

 

本書では、基本的なggplot2の使い方を丁寧に解説しているだけでなく、けっこうマイナーな書き方まで紹介しています。マイナーというのは、「そんなんいつ使うねん」という意味ではなく、「ちゃんと説明しようとすると難しいから、多くの書籍では恐らく回避されていたところ」という意味です。

 

原著の「A practical introduction」という副題の通り、実践的な用途において必要となる、痒いところに手の届く書き方まで詳しく解説されています。例えば第6章では「予測の図示」という方法が紹介されています。散布図に対して近似直線を引くだけなら簡単なのですが、予測というのは直線的関係だけに限りませんし、実用的には推定結果も点推定だけでなく区間推定まで行いたいものです。そういったところまでちゃんと解説されているのが嬉しいです。

 

3. 地理データの描画 

これは訳者の一人、瓜生さんが何より得意とされている内容だと思います。ggplot2では、地理データの描画が可能です。例えば日本地図を、人口密度に応じて都道府県ごとに色を塗り分ける、などが可能です。最新のバージョンでは、geom_sf()という関数が存在し、地理空間システム(GIS)データを扱いやすくなっています。

uribo.hatenablog.com

 

恐らく原著が出たタイミングでは、まだgeom_sf()が実装されていなかったのだと思うので、本書では既存のgeom_polygon()を用いて地理データが描画されています。しかし地理データの色を塗り分けたり、地理的な空間配置を考慮したグラフを描いたりする際に、本書の内容は最新のggplot2でも活用できると思います。

 

個人的には、地理データの描画はすごく苦手だったので、こうして体系的な解説が日本語で読めるというのは、非常にありがたいです。

 

4. 訳者の技量

僕は(もう閉会しましたが)Hijiyama.Rなど、西日本で勉強会に参加することが多く、Tokyo.Rなど東日本の勉強会に参加したことがありません。そのため実は、本書の訳者のお三方とは、直接の面識はないのですが、皆さん様々な解説記事・資料をインターネット上に公開されているので、日頃から「なんてすごい人たちなんだ」と思っていました。

 

そんな方々が翻訳されているので、日本語としての自然さや、訳語の適切さについては、言うまでもなく優れていると思いました。ただ何より僕が感動したのは、「翻訳者の判断で、原著とは違うコードを使用したこと」です。

 

tidyverseパッケージ群は、開発が盛んであるがゆえに、関数がコロコロ変わりがちです。335ページの脚注を見ると、「原著では(dplyrパッケージの)sample_n()関数を使用していたが、dplyrバージョン1.0.0から追加されたslice_sample()関数に書き換えた」とあります。最新の仕様をフォローしているからこそ出来ることですよね。

 

まとめ

上記のように、本書は単なる「ggplot2の解説書」ではなく、「ggplot2を用いた、可視化の解説書」になっています。識者の方々が翻訳を担当されたことにより、最新の仕様も考慮した訳書になっています。

 

本書はかなり詳しく書かれているぶん、上記のように深いところまで説明しているので、もしかしたら「うわああ、覚えることが多い~~」と焦ってしまう人もいるかもしれません。まず本書の第1章を読んで可視化の重要性について理解を深めたのち、いったん別の情報源でggplot2を簡単に学び、そのあとで本書に戻ってくるのでもよいかなと思いました。

Hadley Wickham著の「R for Data Science」はお勧めです。

r4ds.had.co.nz

 

あと、書評に拙著を紛れ込ませるのは下品だと思うのですが(本当にごめんなさい)、「RユーザのためのRStudio[実践]入門」も入門書としてお勧めです。現在、内容の刷新+内容の大幅追加を行った第2版の改訂作業を行っている最中ですので、遠からずご案内できると思います!

gihyo.jp

 

すいません、最後に宣伝をしてしまいましたが、「実践Data Scienceシリーズ データ分析のためのデータ可視化入門」は本当にお勧めです。皆さんも是非! Enjoy!