はじめに#

Jupyter Book Badge made-with-python made-with-pandas made-with-plotly

データビジュアライゼーションとは,数値や文章などのデータに基づいた情報を,人間が理解しやすい形に視覚化する技術を指します.

このサイトは,文化庁のメディア芸術データベース・ラボ(MADB Lab)で公開されている四大少年誌( 週刊少年サンデー週刊少年ジャンプ週刊少年チャンピオン週刊少年マガジン )のデータを用いて,データビジュアライゼーションの学習を手助けすることを目指しています.

📚約47年分の四大少年誌データを採用📚

データビジュアライゼーション(に限らずデータ分析全般)の学習において重要なのは,分析対象のデータに興味を持てるかどうかです. 本書では約47年の四大少年誌のマンガ作品データを採用しているため,モチベーションを保ちつつ学習を進めることが可能です.

👁️インタラクティブな可視化👁️

Plotlyで自由にズームイン・ズームアウトが可能なグラフを出力しています. 興味の赴くまま,グリグリグラフを動かしてみましょう. 新たな分析のヒントが得られるかもしれません.

👩‍🎓Docker + Jupyter Labで環境構築🧑‍🎓

本書はJupyter Labで作成したソースコードをJupyter Bookで変換して構築しています. GitHubからソースコードをダウンロードすることで,手元で環境を再現可能ですので,どんどん新しい切り口でビジュアライゼーションしましょう. 詳細はAppendix - 環境構築をご参照ください.

jupyter

🇯🇵MADB Labを利用🇯🇵

MADB Labは,文化庁が提供する,メディア芸術作品に関するデータをより広く活用するためのウェブサイトです. 本書では,v1.0として公開されているデータ前処理して利用しています. データセットの詳細は公式リポジトリをご参照ください.

madb

本書で用いる用語#

量的変数#

数値で測ることができる変数です.例えば,ページ数,掲載位置,連載作品数,掲載週数,など.

質的変数#

数値で測ることができず,分類や種類を区別するために用いられる変数です.例えば,雑誌名,作品名,作家名,曜日,など.

雑誌#

週刊少年ジャンプのように,マンガ雑誌を指します. データ中ではmcnameという変数名で管理されています.

雑誌巻号#

週刊少年ジャンプ 1970年 表示号数31のように,マンガ雑誌の号数を表します. データ中ではminameという変数名で管理されています.

作品#

男一匹ガキ大将のように,マンガ雑誌に掲載されているマンガ作品を表します. データ中ではcnameという変数名で管理されています.

各話#

土佐の源蔵の巻のように,マンガ作品を構成するエピソードを指します.通常,雑誌巻号に一話ずつ掲載されます. データ中ではepnameという変数名で管理されています.

こんなとき何を描く?#

Claus O. Wilke, Fundamentals of Data Visualizationを参考にビジュアライゼーション手法を分類1しました.

量を見たい

質的変数の量を見る最も一般的な方法は 棒グラフ を作図することです. 複数の質的変数を扱う場合は,集合棒グラフや積上げ棒グラフも効果的です. 前者は特に絶対値を比較したい場合,後者は特に割合を比較したい場合に便利です. 全体像を俯瞰したい場合は, ヒートマップ を選択肢に入れましょう. ただし,ヒートマップは質的変数の組合せの量をで表現するため,数値を付記しなければ絶対値の比較が難しいことにご注意ください.

分布を見たい2

量的変数の分布を見る際に直感的にわかりやすいのは, ヒストグラム密度プロット ですが,パラメータ設定に注意が必要です. 複数の量的変数の分布を比較する際は, 箱ひげ図バイオリンプロット, そして ストリッププロット がおすすめです. リッジラインプロット はバイオリンプロットと似ていますが,主に分布の時間的な変遷3を見る際に適しています.

比率を見たい

質的変数の比率を可視化する際は, 円グラフ棒グラフ が用いられます. 前者は割合を直感的に表現する際に適しており,後者は絶対値を比較する際に適しています. 連続的に変化する比率を表現する際は 積上げ密度プロット が効果的です. 複数の質的変数の比率を表現する際は モザイクプロットツリーマップ, そして パラレルセットグラフ を検討しましょう. 特に,モザイクプロットは二つの質的変数の組合せの比率を表現したいときに, ツリーマップは階層構造を持つ質的変数の比率を表現したいときに, そしてパラレルセットグラフは三つ以上の質的変数の比率を表現したいときに力を発揮します.

変数間の関係を見たい4

二つの量的変数の関係を表現する典型的な方法は 散布図 を描くことです. ただし,データ量が多すぎる場合は凡例が重複してわかりづらいので, 二次元ヒストグラム等高線プロット を検討しましょう. 量的変数が三つ以上ある場合は, バブルチャート並行座標プロット 5でその関係性を表現できます. 変数同士の相関係数を表現したい場合は コレログラム を使いましょう. ある変数の時系列的な変化を表現する際は 折れ線グラフ を用いることが多いです. なお一般的な折れ線グラフは一変数の推移しか表現できませんが, 工夫 すれば二変数の推移を表現することも可能です.

謝辞#

参考文献#

作者(kakeami)#

_images/kakeami.jpg

二児の父. 都内マーケティング会社にて,機械学習・数理統計・数理最適化を用いたマーケティング技術の研究・開発に従事. 2022年よりジョージア工科大学大学院にてComputer Scienceを学ぶ. マンガ好きが高じ, Web教材「マンガと学ぶデータビジュアライゼーション」 を作成.


1

5 Directory of visualizations5.1 Amounts が「量を見たい」に, 5.2 Distributions が「分布を見たい」に, 5.3 Proportions が「比率を見たい」に,そして 5.4 x–y relationships が「変数間の関係を見たい」に対応しています. 5.5 Geospatial data に関してはMADB Labの漫画雑誌データ上に十分な量の地理データが存在しなかったため, 5.6 Uncertainty に関しては高度な数理統計の知識が必要になるためスコープ外としました.

2

Claus O. Wilke, Fundamentals of Data Visualizationで分布を見る手法として紹介されているもののうち,次のものは割愛しました.Sina plot:Plotlyで簡易に作図する方法が見当たらず,かつバイオリンプロットとストリッププロットで雰囲気をつかめると判断したため.Quantile-quantile plot:理論的な確率密度分布と標本分布の一致性を見る目的で用いられることが多く,解釈に高度な数理統計学の知識が必要であり,本書のスコープを超えるため

3

TensorBoardでパラメータの学習過程を表現する際に使われていたり

4

Claus O. Wilke, Fundamentals of Data Visualizationで分布を見る手法として紹介されているもののうち,次のものは割愛しました.Hexagonal binning:Plotlyで簡易に作図する方法が見当たらず,かつ二次元ヒストグラムで雰囲気をつかめると判断したため.

5

Claus O. Wilke, Fundamentals of Data Visualizationではペアとなる二変数の関係性を示す手法としてSlopegraphが紹介されていますが,適切な例を見つけられなかったため割愛しました.代わりに(目的は全く異なりますが)似たような手段でデータを描画する並行座標プロットを追加しました.