このノートは、Exploratoryを効率的に使い始めることができるように作られた「Exploratoryの使い方」の第2弾、「可視化」編です。
Exploratoryでチャートを使ってデータの中にある隠れたパターンを素早く発見していくために知っておくと便利な機能を、実際にサンプルデータを使って手を動かしながら学んでいただくようにデザインされています。
所要時間は20分ほどとなっています。
それでは、さっそく始めていきましょう!
今回はサンプルデータとして「Airbnbの東京の宿泊施設」のデータを使用します。このデータは1行が1物件になっており、それぞれの物件に関する価格や広さなどの情報が列として入っています。
データはこちらのページからダウンロードできます。Macをお使いの方は「CSV-UTF8」を、Windowsをお使いの方は「CSV - Shift-JIS」をダウンロードしてください。
「Exploratoryの使い方 Part 1 - 基礎編」で使ったデータと同じなので、すでにインポートされている場合は、インポートし直す必要はありません。
Airbnbのデータをダウンロードできたら、ダウンロードしたフォルダを開き、「Airbnb-東京の宿泊施設.csv」をExploratoryの画面にドラッグ&ドロップします。
インポートダイアログが表示されました。インポートダイアログの左側にある項目から、インポート時の設定を行うことが可能ですが、今回は設定は不要なため「保存」ボタンをクリックします。
任意のデータフレーム名を指定して、「保存」ボタンをクリックします。
Airbnbのデータをインポートすることができました。
日単位のユーザーのサインアップ数、週単位の売上データ、など期間や時間を単位にしたデータのことを時系列データと言います。ここではExploratoryを使って、そういったデータをチャートを使って手早く可視化してみましょう。
今回は、年や月ごとにどれだけ宿泊施設の数が増えたかを、可視化して調べてみたいと思います。
チャートを作成するために、チャート・ビューを開きます。
時系列データのトレンドを理解するためには「方向」が重要となり、上向きなのか下向きなのかの判断がしやすい「ライン」チャートがよく使われます。
そのため、チャートのタイプに「ライン」を選択します。
次に、X軸には「ホストの利用開始日」を、Y軸には宿泊施設数を可視化したいため「行の数」を選択します。
これにより、年ごとの宿泊施設数を可視化することができました。このチャートを見ることで、2014年あたりから宿泊施設数が増えていることが確認できます。
Exploratoryでは、「日付型(Date)」や「日付/時間型 (POSIXct)」の列であれば、チャートの中で日付の単位を簡単に変えることができます。日の単位に合わせて事前に集計するといった、面倒な作業は必要ありません。
現在は「年」単位で可視化されていますが、これを「月」単位に変更したい場合は、X軸の日付の単位を「月」に変更します。
月ごとの宿泊施設数を可視化することができ、先ほどの年単位に比べて粒度を細かくしたトレンドを確認することができるようになりました。
現在のチャートでは、それぞれの月ごとに登録された宿泊施設数が可視化されていますが、2015年の時点ではどれだけの宿泊施設数があるかのでしょうか?
その質問に答えるためには、それぞれの月の宿泊施設数ではなく、「ある時点」までの宿泊施設数の合計値を可視化する必要があります。
Y軸のメニューをクリックします。
メニューにある「クイック表計算」から「累積合計値」を選択します。
宿泊施設数の増加数を累積合計値として可視化することができました。
2015年1月の時点では957件の宿泊施設があることがわかります。
それぞれの宿泊施設数のラインを「部屋のタイプ(例:アパートメント)」によって分けてみましょう。
色で分割に「部屋のタイプ」を選択します。
これにより、宿泊施設数のラインを「部屋のタイプ」別に色を分けて可視化することができました。
部屋のタイプで最も宿泊施設数が多いのが「アパートメント(Apartment)」ですが、2014年以降から数が増え始め、2018年の後半には一気に増えていることがわかります。
ちなみに、色の並び順は「Y軸の値順」に並ぶようになっています。
もし、色の並び順を変更したい場合は色のメニューをクリックし「色、グループ、並び順」を選択します。
「色、グループ、並び順」のダイアログが表示され、色の並び順を変更することができます。
どの市区町村でも先ほどの結果のように、アパートメントが最も多く、そして2014年から増え始めるといった傾向があるのでしょうか?それとも、市区町村によっては全く別の傾向があるのでしょうか?
それを調べるために、「市区町村」ごとにチャートを分けて可視化してみましょう。
繰り返しに「市区町村」を選択します。
市区町村は一意な値の数が59のため、59もの市区町村があることになります。全ての市区町村を可視化してしまうと、チャートが59個作成され、描画に時間がかかってしまいます。
そのため、一意な値の数が多い時には、チャートで表示する数を制御するための「一意な値のチェック」のダイアログが表示されます。
まずは、このチャートで一意な値のチェックを再表示しないために、「これ以降に、この列では一意な値のチェックをスキップする」にチェックをつけます。
その上で、今回は行の数が多い上位20の市区町村を可視化したいため、「表示する値の数を制限する(上位20件)」を選択します。
これにより、市区町村ごとにラインチャートを作ることができ、さらには行の数が多い上位20の市区町村のみを表示することができました。
これらの市区町村は「行の数」が少ないため、トレンドが読み取りづらくなっています。
そのため、「Y軸を同期」のチェックを外して、市区町村ごと行の数の大小に合わせてY軸を表示するようにします。
多くの市区町村では、アパートメントが圧倒的に多いという傾向があるようですが、千代田区はホステルが最も多く、2018年4月から急激に増え始めていることがわかります。
Exploratoryでは、チャートで割り当てられている色を柔軟に変えることができ、さらには一部の値の色を強調表示することができます。
色のメニューから「色、グループ、並び順」を選択します。
「色、グループ、並び順」の設定のダイアログが表示されますが、このダイアログ上で色に関する様々な設定を行うことができます。
例えば、特定の値の色を変えたい場合は、値に対応する色をクリックすることで個別に色を変更することも可能です。
今回は、ホステル(Hostel)を強調表示させたいため、カラーパレットに「ハイライト」を選択します。
もしくは、色のメニューから「ハイライト」を選択することも可能です。
ハイライトにより、デフォルトの色がすべて「ライトグレー」になりました。
今回は、ホステル(Hostel)を強調表示させたいため、ホステルの色を「ライトレッド」に変更します。
設定が完了したら「適用」ボタンをクリックします。
ハイライトの機能により、ホステル(Hostel)のみをライトレッドに、それ以外の部屋のタイプはグレーで表示することができ、ホステルを強調表示することができました。
Exploratoryでは色の表示名も簡単に変更することが可能です。例えば、今回の部屋のタイプは英語表記ですが、「Hostel」を「ホステル」に変更したいです。
色のメニューから「色、グループ、並び順」を選択します。
「色、グループ、並び順」の設定のダイアログが表示されますが、「Hostel」の表示名に「ホステル」を指定して「適用」ボタンをクリックします。
これにより表示名を「ホステル」に変更できました。
色の表示名を変更することで、複数の値を一つのグループにまとめることも可能です。 詳しくはこちらの資料をご確認ください。
データ分析では、2つの列の間に関係があるのかないのか?という、いわゆる「相関関係」を調べることが重要なポイントです。
相関関係とは、2つの変数のうち、1つの変数の値が変わるともう1つの変数の値も一定の規則を持って一緒に変わる関係のことを言います。
この相関関係を表す指標として、「相関係数」があります。
相関係数は-1から1の値を取り、1に近いほど正の相関関係があり、-1に近いほど負の相関があります。また、0に近ければ相関関係がないということになります。
Exploratoryでは相関関係を調べるために様々な方法がありますが、今回は最もシンプルな方法として「散布図」を使って相関を調べる方法を試します。
今回は、「宿泊可能人数」と「一泊の価格」という2つの数値列に相関関係があるのかを調べていきます。普通に考えると、たくさんの人が泊まれる部屋は、一泊の値段が高そうですが、果たして、本当にそうでしょうか?
チャートビューから「新規チャートを追加」のボタンをクリックして、新しくチャートを作ります。
チャートのタイプには「散布図(集計なし)」を選択します。
X軸には「宿泊可能人数」、Y軸には「一泊の価格」を選択します。
これにより、それぞれの値が対応する位置に点としてプロット表示することができました。
それでは、この2つの列に相関関係があるかを調べるためにトレンドラインの「線形回帰」という直線を引いていきます。
Y軸のメニューから「トレンドライン」を選択します。
トレンドラインのタイプに「線形回帰」を選択して適用します。
散布図上に線形回帰のトレンドラインを引くことができ、傾きは右肩上がりになっていることが確認できます。
トレンドラインにマウスを重ねると、相関係数が「約0.6」と「やや強い正の相関」があることがわかりました。
つまり、「宿泊可能人数」と「一泊の価格」には相関関係があり、宿泊可能人数が増えると、一泊の価格も上がっていく関係があるということになります。
Exploratoryの使い方の可視化編は以上となります!
Exploratoryの使い方シリーズの他のパートには下記のリンクからご確認いただけます。ぜひ次の「データラングリング(加工)」のパートも実施してみてください。