データ分析備忘録

米国でHR Analystとしてダイバーシティを推進することが夢の21歳大学生。2019年2・3月は、筆者のpython・R・Tableauでのデータ分析の独学記録です。4月以降、people analyticsにまつわる情報を発信していきたいと思います。

Tableau free training (Creator) をやってみた① Getting Started

こんにちは、三連休最終日はコーヒーを飲みまくっております、Mayです笑

本投稿では、Tableau free trainingを受けた感想と学習メモを書きたいと思います。本来これは学習計画に入れていなかったのですが、思ったより早くインターン先でTableauを使う事になり、慌てて受講した次第です。本ブログの構成は以下の通りになっております!

なお、トレーニングは日本語・英語どちらでも提供されています。私ははじめ日本語で受けようとしたのですが、

ナレーションのスピードが鬼早い(文章の切れ目にポーズがない感じ)

という事で英語に切り替えました。¯_(ツ)_/¯ (あくまで個人的な感想)

Tableauとは?

f:id:techeventsinusa:20190211151207j:plain

Tableauは2014年にアメリカ・シアトルで開発されたBIプラットフォームです(名前から、フランスの会社だと思っていました)。NECのサイトに詳細が載ってい流ので、ここで細かい紹介は省略します。 第1回 「Tableau」とは? : Tableau(タブロー) | NECソリューションイノベータ

最近では、Data Science (特にVisualization) 関連のJob RequirementsでTableauの文字をよく見かける気がします。2019年現在では、会社が設立された5年前と比べ様々な機能がついたようです。

なお、Tableauのエキスパートは"Tableau Zen Master"と呼ばれているようで、世界で30人しか選出されません。彼らの作るVizは息を呑む美しさです。しかも、そのうち3人はなんと日本人のようです・・・!

https://community.tableau.com/thread/295083

自分の中で勝手に盛り上がってきました。ではいよいよトレーニングの内容に移っていきます・・・!

Free Trainingの構成

www.tableau.com

レーニングは4タイプのユーザーに対応したコースが用意されています

  • Creator:Tableau PrepかTableau Desktopを使って実際にビジュアライズする人
  • Explorer:Tableau Server / Online 上でコンテンツを作ったりデータを修正する人
  • Viewer:Tableauを使ってビジネスにおける意思決定をする人
  • Admin:Tableauを自社内に展開し、Tableauのセキュリティや管理を担う人

私は実際にビジュアライズする予定なのでCreatorコースをやっています。Creatorコースにおけるチュートリアルビデオ数が圧倒的に多いです。私の解釈に基づいた大雑把構成を紹介すると・・・

  • Getting Started:雑貨店の売上データを用いて、データ可視化を一通りやっちゃう
  • Getting Startedから先:Getting Startedで使った機能を1個ずつ掘り下げて紹介

Getting Startedのビデオは25分ですが、そのほかのビデオは全て3〜10分のレンジに収まるショートビデオです。のちに掘り下げて紹介してくれるので、Getting Started時点では曖昧な理解でもOKそうです。

この記事では、 Getting Startedビデオの内容 を紹介します。Getting Startedから先のビデオについては、次の記事で紹介予定です。

必要な準備

Creatorコースを受講予定ならば、Tableau Desktopを入れた方が良いと思います。

www.tableau.com

2019年2月時点では、14日間無料で使えます(そのあとは月額$70です ¯_(ツ)_/¯

チュートリアルで使用するデータはデフォルトで入っています。 My Tableau Repository > Data Sources >...から見つけられます。

必要な準備はそれくらいだと思います。次からは、ビデオを見た上での学習メモを書きます。 細かい操作は、ぜひビデオを見て学んで見てください :D

データをインポートする

Getting Startedビデオでは、雑貨店の売上データと返品データを用いて、様々な分析を実践します。その一番初めのStepはもちろん、データのインポートです。

Tableauを開くと、一番はじめに出てくる画面がData Source画面です:

f:id:techeventsinusa:20190211122634p:plain

エクセルやCSVだけでなく、AWS Redshift・SQLからも簡単にデータをインポートできちゃいます。 データをインポートすると、データの一覧が下画面に出てきて、中身を確認できます。

私が感動した、この画面の素晴らしい機能たちは

  • pythonでいうSplitがGUIで出来ちゃう
  • データ型変換と複数データのJoinがGUIで出来ちゃう
  • SQLのJoinタイプがクリック1回で変更可能

例えば、ハイフン以前の情報だけを抽出して新しいカラムを作ることも、この画面に情報入力するだけで出来ます。コード書くより手っ取り早い・・・!

f:id:techeventsinusa:20190211121846p:plain

データの簡単な前処理ができたら、Worksheet画面に移ります。

Worksheet機能

f:id:techeventsinusa:20190211120823p:plain

一番左側がペインと呼ばれており、変数名が一覧で確認できます。後ろに隠れているAnαlyticsタブでは、OLSなどといった簡単な分析手法が提供されています(ドラッグ&ドロップで簡単に分析できちゃいます)

以下は画面上に表示されているキーワードの紹介です。

Dimensions

  • 主に離散型データ指す
  • 連続型のデータをカテゴリー分けする際に使う

Measures

  • 主に連続型のデータが入っている
  • ColumnsかRowに持っていくと、カテゴリーごとのSUMに勝手に変換される
  • SUM以外にも、AVGやMedianなど複数のメジャーがある。また計算フィールドを使って自分でメジャーを作ることもできる(後述)

Marks機能

f:id:techeventsinusa:20190211162432p:plain

グラフの表示分けや色のカスタマイズを設定できる機能

  • グラフ種別:画像でいう、一番上のドロップダウンリスト。Tableauがデータのタイプに応じて種別を決めてくれるが、自分で決めることも可能。種別はこんなに色々ある

f:id:techeventsinusa:20190211115635p:plain

  • Color: グラフで使用する色をカスタマイズできる。クロス集計表でハイライトする際に特に役立つ
  • Tooltip: グラフ中にコメントを入れる
  • Size: プロットの丸の大きさや、棒グラフの太さを決められる
  • Label: グラフの上に、具体的な数値やカテゴリーを表示できる

Columns & Rows

  • Columns:横軸(紛らわしい)に何を表示するか。ここに日付データを持ってきて、折れ線グラフにすると、お馴染みの時系列データが出来上がる。
  • Rows:縦軸に何を持ってくるか。
  • 日付データだけ、変数の左側にプラスマークがあり、これをクリックすることで四半期(クオーター)・月へと細分化できる
  • ドロップダウンリストの”Quick Table Calculation"で前年比の成長率・年平均成長率なども選択できる。

なお、変数を並べる順序も関係しています。例えばColumnsで、クオーターを一番左に、年を右に置くと、各年のデータの推移を クオーターごと にみる事ができます( by quarter across the years)。要は下の図のような状態です! f:id:techeventsinusa:20190211124803p:plain

その逆は、各クオーターのデータの推移を 年ごと にみる事ができる(by year across the quaters)。上の図で言う、Q1・Q2・Q3・Q4が2015・2016・2017・2018になるイメージです。

グラフ作成実践

ビデオでは、上記の機能を紹介しながら以下のようなグラフを作っています。

セグメント別売上情報

ビデオ中で一番簡単に作れるグラフです。 たった5回のドラッグ&ドロップで できちゃいます。うち4回は縦軸・横軸に置く変数の選定、1回は色付けするカテゴリーの指定です。

f:id:techeventsinusa:20190211163822p:plain

複雑なコードも一切必要なし。ただ単に、縦軸と横軸に何を持ってくるか考えるだけ・・・!(感動)このグラフを見るだけで、地域関係なくオフィス用品が消費者に一番売れているとか、アメリカの南はまだ開拓の余地があるとか、色々わかりますね〜。色は特に指定しているわけではないのですが、自動で綺麗な色使いになるので、そこも感動ポイントです。

売上の季節性

時系列では売上どうなってるの?と思ったら、Columnsに日付データを持ってくるだけで・・・ f:id:techeventsinusa:20190211163658p:plain

この通り。年ごとではなく、ブレークダウンして月ごとで見たい場合は、変数名の横にある+ボタンをクリックします。物品カテゴリーごとに時系列データを見たかったら、Rowにカテゴリーを持ってくるだけ。季節性の有無が一発でわかります。また、9月に突出している家具の売上のところに、実際の売上高といった付加情報をコメントしました(Tooltip機能)。

クロス集計表

具体的な数値をもっと見たいわ!という場合はクロス集計表です。上記のワークシートタブを右クリックし、「Dupulicate as Crosstab」を選択するだけでクロス表ができます。

クロス集計表の難点は、重要情報が一目でわかりにくいところ。ここで、Colorのカスタム設定が活躍します。MarksのColorをクリックし、Edit Colorをクリックすると、カラーリングや色段階を自由に設定できます。私はビデオのナレーター好みに従い、Green Goldのカラーリングと6つの色段階を選びました。すると・・・

f:id:techeventsinusa:20190211170223p:plain

こうなります。profitが低いほど黄色、高いほど緑色で、色段階の目印は自動的に右に表示されます(すごい)。この図から、「2015年7月のオフィス用品の利益マイナスやん」とか、「2018年3月の利益いいね」ということが分かります。

Show Me機能で最適なグラフを選択する

関係を見たい変数は決まっているんだけど、どういうビジュアライズが適しているのか分からない。というときに便利なのが、画面右上に表示されている「Show Me」機能。

f:id:techeventsinusa:20190211170931p:plain

使用手順は簡単で、

  1. ペインにある変数を、Ctrl (or Command)キーを押しながら複数選択
  2. Show Meタブをクリックする

すると、可能なビジュアライズ方法が表示されます。迷ったら、提示された方法をクリックして見て比較することができます。いや〜〜〜

ビデオのナレーターは「World Mapが良さそうね!」とMapを選んだので、私もMapにしました(なお、私はアメリカ本土のみの売上情報を使用しているので、ここから先はビデオと違う内容になります)

f:id:techeventsinusa:20190211171514p:plain

一目でNYとCAの売り上げがダントツということが分かります。

特定地域の利益情報を見る

地図の左上には、こんなマークがあります。

f:id:techeventsinusa:20190211171946p:plain

地域ごとに拡大・縮小したり、ピン留めしたりできます。これらの機能のうち、マウスで選択されているLassoで地域を囲むことで、「囲まれた地域の変数」ができます。例えば私は、この機能を使って東海岸を囲い、"Sub-Category"という変数を作りました。この変数を使って、利益のブレークダウンを作ってみると・・・

f:id:techeventsinusa:20190211173945p:plain

このようになります。東海岸では、テーブル家具だけが圧倒的なマイナス利益のようです。面白いですね!

連続値×連続値グラフ

加えて、個別のデータを識別できるCustomer IDをMarksに入れることで、各個人のデータをプロットできます。この表では、利益と割引額の関係をプロットして見ました。

f:id:techeventsinusa:20190211174332p:plain

AnalyticsのOLSが活躍するのは、このような場面です!Analyticsタブからドラッグ&ドロップすることで出来ます。

Dashboard機能

以上のようにして、売上・利益情報に関する複数のビジュアライズを作ってきました。これを一つのシートにまとめたものがダッシュボードです。

f:id:techeventsinusa:20190211175208p:plain

左側に、今まで作ってきたグラフの一覧があります。そこから、ダッシュボードに入れたいグラフをドラッグ&ドロップするだけです。

右側のフィルタは、フィルタマークをクリックすることで、フィルタ種別(ドロップダウン・ラジオボタンなど)を自由に変更できます。タイトルなども自由に変更可能です。この機能を使うことで、伝えたかった情報を1枚のシートの一気に凝縮することができます。

Story機能

ダッシュボードを複数つなぎ合わせたものがストーリーです(自己流解釈)

f:id:techeventsinusa:20190211180026p:plain

このストーリーは、はじめに世界地図で見た利益を表示し、次にマイナス利益のテキサス州にフォーカスした詳細情報を表示する、という構成になっています。 ストーリー=プレゼン見たくなりそうですね!

まとめ

Getting Startedビデオで、Tableauの機能を広く浅く知ることができ、可視化の流れを一通り学習することができました! 次からは、上記に紹介した機能を具体的に学び、その感想を書きたいと思います〜〜

pythonの超基本文法復習

こんばんは!熱血講師のエアロビ講座を無理して受けて、全身筋肉痛のMayです!

先週の投稿からバタバタして1週間過ぎ、やっと基礎講座を終えました。今日はその感想を書いていきたいと思います。

使用した教材は以下の通りです。

・Udemy: https://www.udemy.com/python-jp/

・DataCamp: www.datacamp.com

の基礎講座。

Udemy: pandas入門まで

これについては色々感想があります。

- 文法チョイ学習者は飛ばし飛ばしで
- IPython時代に作られたから、コードが古い
- よく使うコードをまとめたサイトを見た方が学習早い説

動画中の丁寧な解説は、文法をあまり知らない人向けな気がします。何となく基礎文法を学んできた人にとっては、解説を聞かずに、問題が出たら動画を止めて自分でコードを書いていく方が集中力をキープできそうです。

加えて、コードが古いという点。動画中に紹介されるコードをjupyterで実行してみると、”コード古いよ!こっち使いなよ!と警告を出されます。警告メッセージにある推奨されたコードを使えば良いかもしれませんが、非効率的ですね・・・。このような問題は、次に紹介するDataCampでは無いので、私はこちらを重点的に使おうと思います。

また、実演は見なくても良いからコードを覚えときたいという人にとっては、pandasでよく使う文法をまとめたサイトを見て、定期的に使って覚える方が良さそうです。 以下のサイトはブックマークにしました。先輩は偉大。

qiita.com

DataCamp: Intermediate Python for Data Scienceまで

手を動かしながら学べます。最後にケーススタディもついてるので、学習チェックもできます。私はいつもmatplotlibの軸設定などを忘れてしまうので、使えそうなコードをまとめたチートシートをjupyter notebookで作成中です。