SlideShare a Scribd company logo
Rを使ったデータ可視化、キソのキソ
岩沖晴彦 @h_iwaoki
2023/04/22, #105 TokyoR
このスライドで作成した図のRコードはこちら
https://github.com/hiwaoki/TokyoR105
自己紹介
名前: 岩沖 (いわおき) @h_iwaoki
仕事: はかせけんきゅーいん (ポスドク)
専門: 心理学、神経科学 (サル)
研究の興味:
つねにハッピーに生きたい。情動の脳研究。
最近はサル向けのバーチャルリアリティを作っています。
R歴: 2011年(大学1年生)~現在
好きなRの関数: sample()
個人HPこちら
そもそもデータ可視化とは?
データ可視化
データ
あなたが対象とする
現象・事象
(とても複雑)
データ可視化はデータ分析の一部
1. 意思決定や問題解決に使える
2. 情報を迅速に伝える
モデリング
データ分析
抽出
抽出
今回の目的: キソのキソ
本格的なデータ可視化の前に気を付けたいことをご紹介
データの可視化、これだけはやるな!3選
その1:
立体感がデータ解釈を邪魔する3Dプロット
現役合格実績[2023年]|大学受験の予備校・塾 東進 (toshin.com)
問題点:
近くのものは大きく、遠くの物は小さく見える(遠近法)
提案:
3Dプロットは使わない (棒グラフ・円グラフ問わず)
その2:
値を比較しにくい円グラフ
提案:
円グラフもできるだけ使わない(棒グラフで代用可能)
図に必要な変数の数、カラーの数をよく検討する
問題点:
変数の数が多い場合、
円グラフは値の大小関係を比較しずらい
その3:
値のスケールが左右で違うグラフ
問題点:
左右でy軸のスケールが違う
一見わからないので見落とされることも
提案:
スケールの違う横並びのグラフは使わない
グラフを見たらまずx軸、y軸の値を見る
「良い」データ可視化には目的を明確にする必要がある
そもそもこのグラフは「この塾に入る/入れない」という意思決定に使えるのか?
- 今後も同様の合格者数で推移するのか?
自分が作った図から素早く、合理的な意思決定が可能か?を常に考える
→ 将来の合格者数を予測するモデルをつくる
- この塾に通ったら合格する可能性が上がる? → 合格者数だけでなく、受験者数や多塾との比較も出す
本日伝えたい3つのこと
1. 3Dプロットを使わない
2. (できるだけ)円グラフを使わない
3. スケールの違う図を並べない
参考資料
Enjoy!

More Related Content

Similar to TokyoR105_iwaoki.pptx

211204_japan_r_v01
211204_japan_r_v01211204_japan_r_v01
211204_japan_r_v01
Satoshi Kume
 
人工知能とDX
人工知能とDX人工知能とDX
人工知能とDX
Youichiro Miyake
 
一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編
Jin Hirokawa
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方
Shohei Hido
 
TokyoR79 beginnerssession1
TokyoR79 beginnerssession1TokyoR79 beginnerssession1
TokyoR79 beginnerssession1
kotora_0507
 
高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)
高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)
高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)
HideyukiTakahashi8
 
人工知能研究のための視覚情報処理
人工知能研究のための視覚情報処理人工知能研究のための視覚情報処理
人工知能研究のための視覚情報処理
Koki Nakamura
 
オブジェクト指向最強
オブジェクト指向最強オブジェクト指向最強
オブジェクト指向最強haganemetal
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門
Nao Oec
 
Agilejapan2017shin agile
Agilejapan2017shin agileAgilejapan2017shin agile
Agilejapan2017shin agile
Fumitaka Inayama
 
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
Hideki Tsunashima
 
可視化法学-大和超券ステージ
可視化法学-大和超券ステージ可視化法学-大和超券ステージ
可視化法学-大和超券ステージ
(shibao)芝尾 (kouichiro)幸一郎
 
[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...
[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...
[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...
Deep Learning JP
 
Rationalizing Medical Relation Prediction from Corpus-level Statistics
Rationalizing Medical Relation Prediction from Corpus-level StatisticsRationalizing Medical Relation Prediction from Corpus-level Statistics
Rationalizing Medical Relation Prediction from Corpus-level Statistics
SohOhara
 
研究室内統計勉強会20160526
研究室内統計勉強会20160526研究室内統計勉強会20160526
研究室内統計勉強会20160526
敬之 中島
 
時系列データの扱い方
時系列データの扱い方時系列データの扱い方
時系列データの扱い方
Yutaka Terasawa
 

Similar to TokyoR105_iwaoki.pptx (17)

211204_japan_r_v01
211204_japan_r_v01211204_japan_r_v01
211204_japan_r_v01
 
人工知能とDX
人工知能とDX人工知能とDX
人工知能とDX
 
一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方
 
TokyoR79 beginnerssession1
TokyoR79 beginnerssession1TokyoR79 beginnerssession1
TokyoR79 beginnerssession1
 
高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)
高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)
高橋_全脳アーキテクチャ若手の会 トーク資料(抜粋)
 
人工知能研究のための視覚情報処理
人工知能研究のための視覚情報処理人工知能研究のための視覚情報処理
人工知能研究のための視覚情報処理
 
オブジェクト指向最強
オブジェクト指向最強オブジェクト指向最強
オブジェクト指向最強
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門
 
Agilejapan2017shin agile
Agilejapan2017shin agileAgilejapan2017shin agile
Agilejapan2017shin agile
 
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
 
可視化法学-大和超券ステージ
可視化法学-大和超券ステージ可視化法学-大和超券ステージ
可視化法学-大和超券ステージ
 
[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...
[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...
[DL輪読会]Relational Neural Expectation Maximization: Unsupervised Discovery of ...
 
35thwebmining_lt
35thwebmining_lt35thwebmining_lt
35thwebmining_lt
 
Rationalizing Medical Relation Prediction from Corpus-level Statistics
Rationalizing Medical Relation Prediction from Corpus-level StatisticsRationalizing Medical Relation Prediction from Corpus-level Statistics
Rationalizing Medical Relation Prediction from Corpus-level Statistics
 
研究室内統計勉強会20160526
研究室内統計勉強会20160526研究室内統計勉強会20160526
研究室内統計勉強会20160526
 
時系列データの扱い方
時系列データの扱い方時系列データの扱い方
時系列データの扱い方
 

Recently uploaded

02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
QlikPresalesJapan
 
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
QlikPresalesJapan
 
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
QlikPresalesJapan
 
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
hfujii2
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
QlikPresalesJapan
 
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
QlikPresalesJapan
 
明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]
明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]
明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]
Fumihiko Takahashi
 

Recently uploaded (7)

02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
 
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
 
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
 
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
 
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
 
明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]
明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]
明日使えるかもしれないLoss Functionsのアイディアと実装 [GO株式会社 AI技術共有会資料]
 

TokyoR105_iwaoki.pptx

Editor's Notes

  1. それでは発表させていただきます。本日TokyoRに初めて参加させていただきます。いわおきと申します。今日は「Rを使ったデータ可視化、キソのキソ」というタイトルでお話します。
  2. はじめに、簡単に自己紹介させていただきます。 名前は岩沖です。仕事は博士研究員、いわゆるポスドクというやつをやっています。 専門にしているのは心理学と神経科学で、サルを使って研究をしています。 研究の興味としては、私はつねにハッピーにいきたい。ということで、嬉しいとか悲しいといった情動が脳からどうやって生まれるのか、に興味があります。また最近では、サルにバーチャルリアリティを見せて、サルはバーチャルな世界を楽しめるのかといったことを調べたりしています。興味がある方は、こちらのQRコード読み込むか、岩沖とググってもらえば詳細情報があります。ツイッターでDMいただいても大丈夫です。 R歴は大学生から数えて10年くらいで、好きなRの関数はベースのsample関数です。メルセンヌツイスターってかっこいいですよね。
  3. それでは、早速本日の内容に入りたいと思います。 まず最初に、そもそもデータ可視化とはなにか、ということですが、私も最近のはやりに乗って、チャットGPTに聞いてみました。 チャットGPTに「データ可視化とはなんですか?」と聞くと、このような回答が返ってきます(クリック)。 特に重要なことは(クリック)、データ可視化の目的は、「複雑なデータセットを簡単に理解できる形式に変換し、意思決定や問題解決に役立てること」という部分かと思います。
  4. これは当たり前ですが、データ可視化とはデータ分析の一部です。 こちらにデータ分析の流れの概念図を示していますが、データ分析では、複雑な現象や事象の一部、すなわちデータを取得し(クリック)、それらのデータを可視化して眺めてみて(クリック)、そしてデータを説明するようなモデルを考え(クリック)、また可視化してみる。という繰り返しによって、データの背後にあるや現象や事象を説明したり、予測することで、意思決定や問題解決に利用することが目的となります。 特にデータ可視化では、データを説明するモデルと共に意思決定に使えるだけでなく、それらの意思決定に必要な情報を迅速に伝えることが大事になってきます。
  5. 本日はこの①意思決定に利用する、②情報を迅速に伝える、という目的を考えた際に、これだとちょっとまずいよね、というごく基本的な例を時間も限られているので3つだけご紹介しようと思います(クリック)。 かなり入門的な内容ですので、もうすでにデータ解析していますという方はコーヒータイムを延長させる等リラックスしてお過ごしください。 またタイトルに「Rを使った」と入れていますが、今回スライド上でコードの説明はしていません。 代わりに今回、図を作成した際に使用したマークダウンファイルのコードをコメントを入れて個人ページに貼っているので、この図はどうやって作ったんだろう?と気になった際は、こちらのスライドと対応させてコードを見ていただければ幸いです。 それでは早速1つ目のまずい例です。
  6. 1つめは、悪名高い3Dプロットです。こちらは某塾のホームページから引用した図になりますが、こういうグラフは目を引く一方で、データ以外の情報、すなわち遠近法のような視覚効果がデータの解釈の邪魔となって、適切な意思決定ができません。 こういう3D棒グラフは2D棒グラフで置き換えられますし(クリック)、この場合、3年間の合格者数の推移を示したいだけなので、棒の面積が意味をもつ棒グラフではなくて、時間的な変化を表す折れ線グラフのほうがいいかもしれません(クリック)。 また、下の3D円グラフは2Dの円グラフにしたほうが割合の比較がしやすいですよね(クリック)。 というわけで、棒グラフ・円グラフなどグラフの種類を問わず、そもそも3Dプロットは使わないようにしましょう。
  7. そして、先ほども出てきた円グラフも実は注意が必要です。 特に、変数の数が多い場合、この図だとCとDやFとGのどっちが割合的に大きいかとてもわかりずらいですよね。 こういう円グラフは、棒グラフで縦軸のスケールをそろえたほうが差が一目瞭然です。 また、割合データがたくさんある場合などは、このような積み上げ棒グラフもわかりやすいかもしれませんが、情報を素早く伝えるという観点から、そもそもこんなにたくさんの変数を図に入れる必要があるのか、色を付ける必要があるのか、ということも検討したほうがいいでしょう。
  8. 最後にご紹介するのは、気を付けていないとやりがちですが、グラフ2つ並べたときに、左右でスケールが違う図です。 こちらは左右で棒グラフの見た目は同じですが、左は0から400、右は180から220と、縦軸の値が違っています。 この2つのグラフの縦軸を0から400にそろえると右のようになります(クリック)。 こういうグラフは見落とされたまま意思決定を行ってしまうという点で、影響は大きいので、意識的に気を付けるようにしたいところです。 まず、図を見たら縦軸、横軸の値を見るという習慣をつけることが大事です。
  9. ここまでのスライドで「まずい」データの可視化方法を3つご紹介しましたが、「いい」データの可視化方法を見つけることはより難しい問題です。 例えば、最初に「こういう3D棒グラフは折れ線グラフにしたらいいよー」お話ししましたが、このグラフを見て、本当にこの塾に入れる/入れないという判断はできるでしょうか? 例えば、これから子供を塾に入れたいという場合、知りたいのは過去の合格者数ではなく、これからの合格者数ですよね(クリック)。そのため、まず将来の合格者数を予測するようなモデルを立てて、その予測結果を可視化したほうがいいかもしれません。 もっと言うと、そもそも知りたいのは合格者数ではなく、「うちの子がこの塾に通うと合格する可能性があがるのか?」です(クリック)。なので、「何人受験して、何パーセント合格します。これはほかの塾よりも高い割合です。」という情報を図で見せたほうが効果的かもしれません。 結論としては、「いい」データ可視化には「このデータはこうする」といった型があるのではなく、目的を明らかにして、自分が作った図から素早く、合理的な意思決定ができるか?を考える必要があるということです。
  10. 最後に正解のない話をしましたが、今回の発表では「データの可視化、これだけはやるな!」3選をご紹介しました。 「これからRを使ってデータ解析するぞ」という方は、ぜひこの3つの避けるべきデータの可視化方法だけ覚えて帰ってください。 1つ目は3Dプロットです。これは絶対避けてください。見た目はかっこいいですが、合理的な意思決定を邪魔してしまいます。 2つ目は円グラフです。比較したい割合が2つだけならまだしも、3つ、4つと増えた場合は、パッと見て割合の比較が難しいですし、基本的に円グラフは棒グラフや積み上げ棒グラフで代用可能です。 3つ目は、スケールの違う横並びの図です。これは、気づかれにくいという点でも、注意が必要です。Rで図を作っていても、縦軸の違う図が作られることはあると思うので、グラフを見たら縦軸、横軸の値をチェックするという習慣をつけるようにしましょう。
  11. このようなデータ可視化の際に気を付けること、具体的にどうすればいいか、については「データ分析のためのデータ可視化入門」というRを使ったデータ可視化について最適な書籍が講談社から出ています。 こういった資料を参考にしつつ、皆様が楽しいRライフを過ごされることをお祈り申し上げます。(クリック) 以上で発表は終わります。