ヒートマップツール

Alteryxツールアイコン「ヒートマップツール」(Heat Map Tool)をご紹介します

ヒートマップツールアイコン ヒートマップツール (Heat Map Tool)

[空間]カテゴリの[ヒートマップ]ツールについて紹介します。

概要

このツールは、レコードの多寡によって生じる密度の差を表現する「ヒートマップ」のポリゴンを生成します。

HeatMapツール概要

基本的にポイントデータを入力としますが、ポリゴンやラインを入力した際は中心点(重心)を利用してヒートマップのポリゴンを生成します。

なお、デフォルト設定はかなり荒目の設定となっていますが、グリッドサイズなどを小さくしすぎると処理に時間がかかるためご注意ください。

なお、本ツールはAlteryxマクロですので、中身の作りを確認することが可能です。

設定項目

質問タブ

入力する空間オブジェクトの密度とグリッドサイズ、最大距離の関係が出来上がるポリゴンに影響します。インプットの密度が低ければグリッドサイズ・最大距離を大きめに指定する必要がありますし、逆に密度が高い場合は、グリッドサイズ、最大距離を小さめに指定する必要があります。

HeatMap質問設定

項目名 内容
グリッドサイズ ヒートマップ作成時のベースとなるグリッドの細かさを指定します。小さいグリッドにするほど処理に時間がかかるため、作成するマップの面積・密度とのバランスで指定してください。

デフォルト値:1.0 ※単位はマイル

※小数点1位までしか認識しない(例:0.1は入力可能だが、0.11は入力できない)ため、最小値は0.1マイル(約0.16km)となります

最大距離 あるセルから別のセルに対して影響を及ぼす最大距離です。ざっくり言うと、「周辺をどの程度まで範囲とみなすか」、という設定になります。

デフォルト値:10.0 ※単位はマイル

※小数点1位までしか認識しない(例:0.1は入力可能だが、0.11は入力できない)ため、最小値は0.1マイル(約0.16km)となります。

減衰関数 最大距離に達するまでのヒートの減衰量を決める関数です。デフォルト関数では、直線的に減衰する設定になっています。

デフォルト「1 - [Distance]/[MaxDistance]」

減衰を弱めようと思えば、例えば「1 - ([Distance]/[MaxDistance])*([Distance]/[MaxDistance])」とすれば弱まりますし、逆に減衰を強めようとすると「1-LOG(1+[Distance]*100)/LOG(1+[MaxDistance]*100)」というような設定も可能です。

結果をスムージング チェックを入れるとポリゴンの境界線がなめらかになります(一般化ツールとスムージングツールを内部的に使用しています)
出力タイプ 「積層」「ドーナツ」の2種類から選択可能です。

 

出力タイプについて(「積層」と「ドーナツ」の違いについて)

「ドーナツ」は生成される各ポリゴンが重ならないタイプで、「積層」は上のレコードのポリゴンが下のレコードのポリゴンを含む形となります。

積層の場合

TileNum Heat値 実際にできるポリゴンが含むHeat値
-3 ~ 0.0069 すべての値( ~ 84)
-2 0.0073 ~ 0.76 0.0073 ~ 84
0 0.76 ~ 8 0.76 ~ 84
1 8 ~ 84 8 ~ 84

 

ドーナツの場合

TileNum Heat値 実際にできるポリゴンが含むHeat値
-3 ~ 0.0069 ~ 0.0069
-2 0.0073 ~ 0.76 0.0073 ~ 0.76
0 0.76 ~ 8 0.76 ~ 8
1 8 ~ 84 8 ~ 84

 

それぞれ使うシーンに合わせて使い分けてください。

 

入力タブ

HeatMapツール 入力設定

項目名 データ型 内容
Point(SpatialObject) 空間型(Spatial Object) ヒートの元になる位置情報である空間オブジェクトを入力します。指定必須です。
Heat(Optional)(Double) 数値型(Double) ヒートの値の元になる数値情報を入力します。オプションですので、入力しなくても動作します。

この入力を与えない場合は、各ポイントのヒート値は同等とみなされます。

出力項目

ヒートマップツールの出力結果は以下のようなフィールド構成となります。

ヒートマップツール出力結果(テーブル)

計算結果によっては、異なるTile_Numで同じ内容のポリゴン・Tile_Nameが出力されることがあるようです。

項目名 詳細
Tile_Num 内部のタイルツールが自動的に出力するタイルのNoです。
Tile_Name 内部のタイルツールが自動的に出力する名称です(スマートタイルで「詳細な名前列を出力する」設定となっています)。
SpatialObj ドーナツタイプもしくは積層タイプの空間オブジェクト(ポリゴン)です

なお、Spatial Objectを閲覧ツールで表示すると以下のようになります(デフォルト設定で作成)。

ヒートマップツール(ポリゴン)

サンプル

本ツールは、入力値に合わせてパラメータの調整が必要になります。

今回は、インプットとして、神奈川県の人口データ(ポリゴン)を元に、ランダム配置を行ったポイントデータを作成しました。これを使って様々なパターンでヒートマップを書いてみたいと思います。

入力データ

※密度的には、6.44人/平方キロメートル(16,485レコード、面積約2,558平方キロ)

これだと若干わかりにくいので、Tableauで密度表示したものも参考に掲載します。

HeatMap(Tableau版)

設定1

グリッドサイズ、最大距離をなるべく小さい値で試してみました。

グリッドサイズ 0.1
最大距離 0.5
減衰関数 1 - [Distance]/[MaxDistance] ※デフォルト

設定1

設定2

設定1に対して、最大距離を伸ばしたパターンとなります。

グリッドサイズ 0.1
最大距離 1.0
減衰関数 1 - [Distance]/[MaxDistance] ※デフォルト

設定2

設定3

設定1に対して、グリッドサイズを2倍にしたパターンです。

グリッドサイズ 0.2
最大距離 0.5
減衰関数 1 - [Distance]/[MaxDistance] ※デフォルト

設定3

設定4

設定1に対して減衰関数を調整したパターンです(減衰しやすくしています)。

グリッドサイズ 0.1
最大距離 0.5
減衰関数 1-LOG(1+[Distance]*100)/LOG(1+[MaxDistance]*100)

設定4

ちなみに、減衰量はデフォルトと比べると以下のグラフのようなイメージとなっています。

減衰量イメージ

サンプル2

今度は、サンプル1に対してレコード数を減らしてみたいと思います(ランダム%サンプリングツールにより、レコード数を10%にしてみます)。

入力データ2

これにより、密度は10分の1の0.644人/平方キロメートル(1,648レコード、面積約2,558平方キロ)となります。

設定5

グリッドサイズ、最大距離をなるべく小さい値で試してみました。

グリッドサイズ 0.2
最大距離 1.0
減衰関数 1 - [Distance]/[MaxDistance] ※デフォルト

設定5

※設定1と同じ設定だと、芳しくない結果となりました

元のデータ量(密度)が少ないと、設定が全然変わってくることがよくわかります。

設定6

設定5に対してグリッドサイズのみ大きくしてみました。

グリッドサイズ 0.5
最大距離 1.0
減衰関数 1 - [Distance]/[MaxDistance] ※デフォルト

設定6

その他

  • グリッドサイズ>=最大距離 と設定すると、とても使えない結果となりました
  • 最大距離を0.3以下にすると、エリアが細切れになってヒートマップとして成り立たなくなりました(今回のポイントの散らばりに依存する部分だと思います)
  • レポートマップツールを使うと綺麗な地図を作成できます

レポートマップツールを使用

レポートマップツールの設定のコツは以下のとおりです。

レポートマップ設定

まとめ

  • インプットに応じて都度パラメータのチューニングが必要です
  • 減衰関数を変更するよりグリッドサイズ、最大距離で大きく結果が変化します
  • レポートマップを使うと綺麗な地図が作成できます

サンプルワークフローダウンロード

HeatMapSample 

 

※Alteryx Designer 2019.4.8.22007時点の情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事