1

データサイエンス概論I＆II可視化

九州大学 数理・データサイエンス教育研究センター

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

2

可視化とは？

数字だけ並べてもよくわからない → 図にするとよくわかる！
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

3

可視化の一般的な目的 (1/2)
 データに潜む性質を「目で見て」確認
例

30人分の（体重，身長）データ
190（49.5，143.0）（63.8，176.6）（56.4，163.1）（64.7，177.7）（44.9，152.5）（40.1，141.6）

30個の点として図示

180
170

（46.6，149.7）（50.8，155.6）（52.1，157.9）（56.3，173.9）（41.8，132.3）（55.6，179.0）

160
150

（56.9，158.7）（40.6，144.9）（57.4，176.9）（54.8，170.2）（53.2，159.0）（59.4，177.5）

140130（47.8，141.7）（43.4，133.8）（37.5，130.3）（44.4，147.2）（49.7，152.5）（44.2，162.0）

120
110

（51.2，160.5）（52.6，157.3）（32.5，127.5）（37.0，133.0）（46.9，147.7）（50.4，157.3）

10030

40506070

数字の羅列じゃ
よくわからない
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

4

可視化の一般的な目的 (2/2)
 数値で直接見てもわかりにくいデータの性質を発見できる
 データ全体の傾向（分布や相関） 個々のデータの性質（平均に近いデータ，珍しいデータ，異常データ）
体重が重い人は身長も高い傾向！
190
180
170160

平均的な体格はこの辺だ

150
140

130
120
110
100
30

40506070

 可視化法によっては，変化（動き）や関係も表現可能
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

5

基本的な可視化九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

6棒グラフ(bar chart)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

7積み上げ棒グラフ

積み上げ棒グラフ
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

8折れ線グラフ (line graph)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

9（前に言いましたが）折れ線グラフでは，なぜ点を線で結ぶのか？

 計測していないデータを「予測」
 なので横軸に「りんご みかん もも…」のような質的データは使えない

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

10二軸グラフ：
横軸は同じで縦軸が異なる2つのデータの折れ線グラフを重ねたもの

 コンパクトになるだけでなく，両データの関係もわかる
 例：点数が増えると，遊び時間は減る
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

11複合グラフ：
棒グラフ＋折れ線グラフ

 二軸グラフと同様，コンパクトで，さらに両データの関係もわかる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

12

円グラフ (pie chart) 割合を表現するには好適

https://matplotlib.org/3.1.1/gallery/pi
e_and_polar_charts/pie_features.html#sphx-glr-gallery-pie-and-polarcharts-pie-features-py

 複数の円グラフを，ネスト表現することも可能

https://matplotlib.org/3.1.1/gallery/pi
e_and_polar_charts/nested_pie.html#
sphx-glr-gallery-pie-and-polar-chartsnested-pie-py

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

13

棒グラフを使っても，円グラフと同じような表現は可能

https://matplotlib.org/3.1.1/gallery/lines_bars_and_markers/horizontal_barchart_distribution.html#sphxglr-gallery-lines-bars-and-markers-horizontal-barchart-distribution-py

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

14

メディアにだまされるな！
折れ線グラフの罠(1/2)
 折れ線グラフを比較するときは縦軸に要注意！

一見すると，男性女性で同じ変化に見えるが，縦軸の範囲や幅が異なる！！
学校保健統計調査 年齢別 平均身長の推移（明治33年度～令和元年度）をもとに作成
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

15

メディアにだまされるな！
折れ線グラフの罠(2/2)
 同じグラフ描画内に描画するとよい

身長増加率・増加量は女性のほうが小さい

ちなみにこのグラフ，[0,180]の範囲で描くと全く違う印象に!

学校保健統計調査 年齢別 平均身長の推移（明治33年度～令和元年度）をもとに作成
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

16

メディアにだまされるな！
３D棒グラフの罠 「死角」がある
 さらに高さを直接比較しにくい
死角

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

17

メディアにだまされるな！
３Dパイチャートの罠
 立体的になることで，面積の大小関係が異なるように見える 見栄えはいいが，実際の値がなければ，誤解してしまう
13%
27%

26%

21%
13%

灰色＞水色に見える！！

ホントは灰色＝水色！！

 正確さという意味では，使うのは避けたほうが吉九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

18

箱ひげ図

データ集合の「広がり」を可視化
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

19

箱ひげ図(box plot)：
データ集合の広がりを視覚化

身長四分位範囲(IQR)

最大値
第3四分位点𝑄3/4
中央値(メディアン) 𝑄2/4
第1四分位点𝑄1/4
最小値
1組

２組

3組

参考：https://matplotlib.org/gallery/statistics/boxplot_color.html#sphx-glr-gallery-statistics-boxplot-color-py

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

20

四分位数？
63人の身長の分布

中央値
下位31人

第1 四分位数(25パーセンタイル)

15人(メディアン) 上位31人

中央値

第3 四分位数(75パーセンタイル)(メディアン)

15人

15人

15人

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

21

箱ひげ図(box plot)：
こういうバージョンもあります

身長四分位範囲(IQR)

𝑄3/4 +1.5IQR
第3四分位点𝑄3/4
中央値(メディアン)𝑄2/4
第1四分位点𝑄1/4
𝑄1/4 −1.5IQR
1組

２組

3組

外れ値

参考：https://matplotlib.org/gallery/statistics/boxplot_color.html#sphx-glr-gallery-statistics-boxplot-color-py

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

22

箱ひげ図の親戚① エラーバー
 折れ線×（平均＋範囲）

平均 エラーバーの範囲
 (最小値，最大値) (平均-標準偏差，平均＋標準偏差）https://matplotlib.org/3.1.1/gallery/statistics/errorbar.html#sp
hx-glr-gallery-statistics-errorbar-py

 信頼区間…ということで，色々ある → 何かを正しく明記する必要がある．
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

23

箱ひげ図の親戚② バイオリン図：「出やすさ」も表現する
広がっているほどその辺の値が出やすい

https://matplotlib.org/3.1.1/gallery/statistics/boxplot_vs_violin.html#sphx-glr-gallery-statistics-boxplot-vs-violin-py

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

24

散布図

これまでにも何度か出てきた２次元データ集合の可視化．
非常によく使います九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

25

2次元データ集合の散布図

平均やばらつきが一目瞭然

身長

2次元データの集合 62 
173


 57 
164

 65 
171



…

 75 
164

数字の羅列じゃ
よくわからない
体重九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

26

散布図の拡張(1/2)：
色＋散布図
 色によって3種類の値(=3次元データ）を可視化可能 形や点の大きさを変えることでさらに多くの情報を同時に可視化できる（）

各点がどの年齢のデータであるのか区別できる

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

27

散布図の拡張(2/2)：
色＋大きさ＋散布図
 4次元データも「頑張れば」散布図で表現可能(見づらいのであまりお勧めしない)

色で年代

直径で体積

http://seaborn.pydata.org/examples/scatterplot_sizes.html

 さらに高次元のデータについては，さらに厳しい…

(“planet”データ)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

28

データ数が膨大になると不向き
 点が重なってよくわからない…

真ん中に行くほど高密度なのか，それとも中心付近は一定密度なのか…

 対処法→ヒストグラムやヒートマップ(後述)九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

29

散布図はデータ集合の可視化の強力ツールだが，拡張も必要
散布図
比較的少数の2次元データ集合に適するデータが高次元に平行座標プロット
散布図行列
主成分分析
多次元尺度構成法(付録)tSNE(付録)

データが大量に(2次元)ヒストグラム
ヒートマップ九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

30

高次元データの可視化

いよいよ可視化手法の本領発揮！？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

31

平行座標プロット(parallel coordinates plots)
折れ線を利用して高次元データを表示(1/2)(62, 173, 78, 26)

200

折れ線グラフのような内挿目的ではい．
次元間でのつながりを表現

こんな調子で何次元でもOK

0
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

32

平行座標プロット(parallel coordinates plots)
折れ線を利用して高次元データを表示(2/2)
 グループで色分けするとよい．ただデータが多すぎると見づらい

Soancatl+ (2017), PLOS ONE 12(1): e0170906.

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

33「2成分だけ見れば，2次元だ!」
散布図行列 – ペアごとに散布図をプロット
対角(斜め)成分にはヒストグラムを書くことが多い

A群
B群
C群
↑このタイプの4次元ベクトル
データがたくさんある場合..

90度回転しているだけで，同じモノ

https://qiita.com/sz_dr/items/4b9fae1052e40122725c を参考に自ら作成 (irisデータをプロットしたもので，身体データのプロット
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版
はないので，上図はあくまでイメージ)34

広がり≒ゼロ 「3次元→2次元」で以前使った例

主成分2

主成分分析(PCA)
上位2つの主成分を使えばOK!
男性
女性

主成分1

主成分1

 ちなみに何次元データでも2次元(や3次元)にできます 「線形代数に基づくデータ解析の基礎」「主成分分析」を参照
第1主成分𝒆1 との内積第2主成分𝒆2 との内積

𝑑次元ベクトル 𝒙 → 2次元ベクトル(𝒙 ∙ 𝒆1 , 𝒙 ∙ 𝒆2 )九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

35

主成分分析(PCA)と散布図行列の違い
 散布図行列：もともとある座標軸を二つ組み合わせる PCA： データを適切に表現する新しい座標軸を自ら作って提示

元の𝑑 次元空間2次元(地面)に可視化した，木の葉(3次元空間内に存在)の分布
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

36

主成分分析(PCA)
上位二つの主成分を求めれば…
 90次元の遺伝子発現データの時間的推移を2次元で表現

hour[Richard+, PLOS Biology, 2016]
https://doi.org/10.1371/journal.pbio.1002585

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

37

主成分分析(PCA)による可視化結果の見かた 可視化結果が重なってない → 元の空間でも絶対重なってない 可視化結果が重なっている → 元の空間で重なっているか不明

可視化結果では重なっているが，元の空間では遠い

元の𝑑 次元空間
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

38

1次元データの頻度の可視化：
ヒストグラム多くの人々の身長データをどう可視化するか？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

39

頻度～わかりやすい場合
 さいころを1000回振って出た目の回数
 「1」が168回，「2」が164回， ...， 「6」が164回

 5段階アンケートの回答結果の集計
 「非常によい」が103名，「よい」が30名，...,「非常に悪い」が0名
 今日のメニュー注文者数
 「かつ丼」が58食，「ラーメン」が102食, ...,「高菜めし」が21食

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

40

ヒストグラムによる頻度分布の可視化:
さいころを1000回振って出た目のヒストグラム
頻度
164回

4の目が出た回数
それぞれの値のことを「ビン」と呼ぶ
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

41

頻度～そのままでは計りにくい場合(1/2)
 あるクラスの学生の身長
 ..., 167.301cmが0人，167.302cmが1人，167.303cmが0人，....
 ピッタリ同じ身長の人はほぼいないだろうから，頻度は高々1
 ある交差点での1日の車の通過台数
 ..., 1829台が0日，1830台が1日，1831台が0日,....
 同じ台数になるというのは，結構ミラクル？

「値が連続的に変化しうる対象」の場合，頻度は計りにくい
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

42

頻度～そのままでは計りにくい場合(2/2)→ 区間を考えればOK あるクラスの学生の身長 「140cm未満」が1人，「140-145cm」が2人，...,「160-165cm」が9人, ...
 ある交差点での1日の車の通過台数
 「1500台未満」が0日，「1500-1600台」が3日，....

頻度がよくわかるように！
（ただし区間幅の設定によって集計結果が変わることに注意）

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

43

ヒストグラム＝頻度分布 (2/2)
あるクラスの学生の身長のヒストグラム
63人の身長の分布

頻度

区間ごとにカウント

9人

160cm～165cm

それぞれの区間のことを「ビン」と呼ぶ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

44

以上２ケースのまとめ
 データ𝑥が取りうる値が有限個(例えば𝐵個)の場合
 𝐵個のビンからなるヒストグラム
 1つのビン＝1つの値に対応

 データ𝑥が取りうる値が無限個の場合
 𝑥の値の全範囲を𝐵個の区間に分ける
 𝐵個のビンからなるヒストグラム
 1つのビン＝1つの区間に対応=値が連続的に変化する場合なんでもないような話ですが，これがあと(確率)の話で重要なポイントになったりします
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

45

2次元データの頻度の可視化：
２次元ヒストグラムとヒートマップ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

46

2次元ヒストグラム
 ヒートマップタイプ

 棒グラフタイプ
死角

先述の通り，「死角」があり，さらに高さを直接比較しにくいのでお勧めしない
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

47

相関がある2次元データの2次元ヒストグラム
𝑥2

正の相関

𝑥2

𝑥1𝑥2

負の相関

𝑥1

強い負の相関𝑥1𝑥2

これは無相関𝑥1
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

48

散布図 vs. ヒートマップ
 データが多いとヒートマップ化が必要

散布図

ヒストグラム+ヒートマップ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

49こんなヒートマップの使い方も

出典：http://crw-analytics.net/visualizer/heatmap.py(システム情報科学研究院峯松先生提供）
九州大学
数理・データサイエンス教育研究センター／2022年9月版

50

その他の可視化

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

51

関係性の可視化 ネットワークによる人間関係の可視化の例
 〇印＝空手クラブのメンバー
 線＝仲良し このように，およそ２グループに分かれる様子がわかる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

52

関係性の可視化 ネットワークによる人間関係の可視化の例
 〇印＝空手クラブのメンバー
 線＝仲良し33さん
グループ

0さんは中心人物

０さん
グループ

33さんは中心人物

 このように，およそ２グループに分かれる様子がわかる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

53

挙動・軌跡の可視化
 人々の移動の様子

 是非動画で→ https://pflow.csis.u-tokyo.ac.jp/data-visualization/visualization/九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

54

リアルタイム可視化：
変化の様子を時々刻々と表示する
 Openposeを使った人々の動きのリアルタイム可視化

https://github.com/CMU-Perceptual-Computing-Lab/openpose

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

55

【付録１】
多次元尺度構成法とt-SNE

データ間の近さを「できるかぎり」保ったまま，２次元平面に押しつぶす

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

56
56

多次元尺度構成法 (Multi-dimensional Scaling) データ間の距離が与えられれば，なるべくそれらの距離を保つように，2次元(or 3次元）にプロットする
5教科の点数(5次元ベクトル)間の距離
010

1050

100268010260315080

310可視化 これ↓が小さくなるよう可視化面での位置 𝑥𝑖 を求める(バリエーションあり)෍ 𝑑𝑖,𝑗 − 𝑥𝑖 − 𝑥𝑗𝑖,𝑗

元の距離(上の表)

21/2

可視化に用いる低次元空間での距離
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

57
57

多次元尺度構成法のイメージ図
 4つの3次元データを2次元にする場合なるべくダメージの少なそうな方向から押しつぶす

データa

多少は伸縮できるゴム

元の距離関係をなるべく保ったまま2次元平面上に「ぺちゃんこ」
adbcdbc

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

58

t-SNE [van der Maaten+, JMLR, 2008]

t-distributed Stochastic Neighbor Embedding, t 分布型確率的近傍埋め込み
𝑖からみた𝑗の類似度「𝑖が存在したときに𝑗はどれぐらい出やすいか」という条件付き確率で表す

𝑗 𝑝𝑗|𝑖𝑖

𝑗 𝑞𝑗|𝑖𝑖
高次元

低次元

すべての𝑖, 𝑗について𝑝𝑗|𝑖 ~𝑞𝑗|𝑖 となるように，低次元空間上での𝑖, 𝑗の位置を(徐々に)最適化(式はずいぶん違うが，根本となっている考え方は多次元尺度構成法と似ている)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

59
59

t-SNE [van der Maaten+, JMLR, 2008]

t-distributed Stochastic Neighbor Embedding, t 分布型確率的近傍埋め込み

 手書き数字画像データ(MNIST)をt-SNE可視化した場合の動画

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

60
60

t-SNE [van der Maaten+, JMLR, 2008]

t-distributed Stochastic Neighbor Embedding, t 分布型確率的近傍埋め込み

 手書き数字画像データ(MNIST)をt-SNE可視化した場合の静止画

反復0

反復100

反復200

反復300

反復600

反復９00

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

61
61

PCA(まっすぐ射影) vs t-SNE(ひん曲げる) 90次元の遺伝子発現の時間的推移[Richard+, PLOS Biology, 2016] https://doi.org/10.1371/journal.pbio.1002585

PCAt-SNEhourhour 同じデータなのに，可視化法によって違った分布に見える点に注意
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版