冒頭編としつつ実質的に同時進行でパブリック課題を進めていた。
今回はこれの実務的なところに絡めつつ、Tableauの機能紹介的なものとしたい。
目次
公示地価
公示地価
— AOKI Takashige (@aochan_0119) 2022年6月26日
geojson is very convenience data format#tableau #datavizhttps://t.co/oJVUtbyHqF
sourcehttps://t.co/E8KXU6y6a7 pic.twitter.com/h6n4IM1YGs
まずは公示地価についてのViz。
むしろこれがやや邪道な内容になっている。
普通であれば表形式のcsv、せめてxlsxから入るのが普通だろう。
それに対し、対象としたのはGeojsonだ。
ジオメトリが肝でこれを直感的に地図に落とし込めるのが非常に便利だった。
あまりこの拡張子に詳しくないが、この位置情報に加え、まさしく公示地価の価格情報や都市計画に関する分類も内包されており、非常に使い勝手が良い。
背景
そもそもなぜこの題材を選んだのか言えば、都市計画専攻出身だからだ。
そこでインサイトが得やすく、図化もしやすそうで、一般的なものから選んだ。
とはいえ、公示地価は日経で銀座が題材に挙げられたのを少し耳にしたくらいにすぎない。
その知識に基づけば、銀座をはじめとした23区の高さに驚くほかない。
専門考察
ただVizを作るのも楽しいし、その技術的背景はData Saberプログラムの趣旨にも非常に合うところであろう。
しかしTableauを使いData Drivenである以上、ある程度考察をするのが仁義であり礼儀であろう。
そこでこの作ったVizからもう少し深めな考察をしてみる。
まず前述もしたとおり、地価というか経済活動というものの振れ幅が大きすぎて、対数軸が無難に思える。
直感には反するが仕方ない。データを見る上で、統計やこうした基礎知識はますます求められるだろう。
会社で箱ひげ図をしばしば作るものの、往々にして上長らに理解を得られないのも苦しいところだ。
ゆえにこそ技術系の社内転職を検討したりするのだ。
また地価そのものではなく、都市計画決定も興味深い。
公示地価の選定地域の都合もあるだろうが、大阪と愛知は非線引地域がない。
すなわちしっかり計画区域か調整区域に区分けされているわけだ。
東京が意外なところもあるが、離島があるので仕方ない。こうして考えると、離島は大きさにも依るだろうがどうしているのか興味深いところもある。
東電管内実績
今話題の東電管内電力需給の直近を可視化
— AOKI Takashige (@aochan_0119) 2022年6月29日
シンプルなデータもまた使いやすい、特にUNION ALL
Q3(夏)は日次総消費量はQ1(冬)ほどではないものの、日毎のバラツキが大きい#tableau #dataviz #電力逼迫https://t.co/pYUfMmkg3p
sourcehttps://t.co/BBjQboopvS pic.twitter.com/PqFzaG4Hst
次に東電管内の実績値のViz。
元データは非常にシンプルな3列程度のデータだ。
ソフト上においても配列に入れ込めるレベルだ。
1時間毎の実績が入っている。
ただ正規化された時間の使い勝手がまたいい。
Tableauにおいてはその表示粒度を右クリックから簡単に変更できる。
これを軸の表示系のみならず、フィルターの条件に加えることもできる。
ゆえに例えば夜間のみのベースロードの動きを追うのも極めて簡単である。
優位性
こうしたことはPythonなどの各種プログラミング言語でもできるが、日付系の型は変数に当てはめ直すのが案外厄介だったりする。
この点はかなり有利な点と言えるだろう。
余談だが会社のデータ整理でDateTimeだかなんだかで苦しめられた嫌な思い出がある。
Excelですら日付型は表示形式設定の都合でグダったりすることもしばしばだ。。
もっとも硬派なデータサイエンティストは型から定義したいし、それこそプロだろうとは思う。なんちゃっての意見だ。
SQL
内部的にというか外部接続的にTableauはSQLをベースにしている。
そのためデータベースの形式さえ整っていれば、その結合も簡単だ。
JoinもUnionもブレンディングも簡単にできる。
速度はオンプレ、クラウド、ローカルなどの環境によりけりではあるそうだ。
Future Work
もっとも面倒なので、今回は2年分のデータしか使っていない。
ただ東電の資料もさらに数年あるので、これをさらにくっつけて一定期間でサマライズして前年比等を出すのもTableauの得意とするところだ。
また時間でJoin onして気象データやエネルギーの先物価格と比較することもできよう。
いずれも横着したが。
日付のブレンディングで気象条件などの需要家や供給余力、それこそ震災前のデータの入れ込みの余地もある
— AOKI Takashige (@aochan_0119) June 29, 2022
ポケモン
I made a dynamic page in #tableau like js.
— AOKI Takashige (@aochan_0119) 2022年7月2日
The topic is #pokemon base stats.
I try like #python #seaborn #jointplot
In rating, We often forget 80- are many.
Almost param has corr despite speed-attacker or tank roles, which means evo-sys has larger effect.https://t.co/cd3lYXtXbJ pic.twitter.com/c6DJYxv7TR
今回、最後はポケモン種族値のViz。
これは完全に趣味の延長だ。題材としては擦られまくってそうな気もするが。
知らない人に簡単に説明すれば、ポケモンごとの強さの基準値のようなものだ。
ゼニガメからカメックスに進化して強くなるのも、ピカチュウよりミュウツーが強いのも主にこの影響だ。
応用
今回はやや応用的にパラメータを計算フィールドに関連させて動的にさせてみた。
これ自体はやり方のフレームワークがTableauとしてあるので、それほど目新しいものではなく、どう使うかの応用の問題だ。
一般的には図表の軸は固定だが、各変数のクロス・相関を確認したいときに有効だ。
以前のネットフリックス分析の記事で薄々気づいていたが、HTML形式で簡単に別のWebページにVizの特徴を保持して共有できるのが非常に優秀だ。
vs. Python: Pandas, Seaborn: 相関行列
一覧性においては相関行列やPairPlotに軍配が上がるだろう。
だが今回はパラメータが6個しかないし、様々な切り口で動的にあったほうが面白いと考えた。
具体的にはフィルターに用意した通り、タイプや世代での切り分けだ。
JointPlot
ツイートの通り、今回は全体的にPython Seabornに寄せるのも意識している。
Jointを例示すると以下の通りで、ただの散布図のみならず、そのヒストグラムも表示できる。
2つの変数の特徴を一括で把握できるのは都合がいい。
そこをTableauでアレンジして真似てみた。
具体的にはダッシュボードでただの散布図の軸に対応して、ヒストグラムもどきをくっつけた。
都合、散布図の対角に空きが生まれるので、そこを操作パネル的に活用することとした。
なし崩し的にまとめ
ただ作るだけならぶっちゃけSeaBornの方が便利だ。ただ上記の問題点として操作による深掘りができず、やろうとしてもプログラミング知識のある人がJupyter notebookでやるくらいのものだろう。
また特にPairPlotは不要な情報も多い。こうした点を一元的に整理して扱える点が強みだ。
ここも前述の通り真のプロのデータサイエンティストが分析するのか、組織的にフィードバックがあるのかといった環境により良し悪しとなるだろう。
前者は外注で多いだろう。組織内でデータドリブンを育むにあたっては、Tableauは優れたツールだろう。
また今回、公開するにも関わらず、一部の軸の名前等がやや適当なままだ。本来であれば細部に気を配るべきなのだが、細かい修正をするなら他のデータを入れ込んだりしてみたいのでご容赦いただきたい。
補足:前回資料