Alteryxツールアイコン「タイルツール」(Tile Tool)をご紹介します
タイルツール(Tile Tool)
[準備]カテゴリの[タイル]ツールについて紹介します。概要
データを設定した方法でグループ分け(タイル分け)します。
設定項目
設定画面は以下の図の通りです。
主に3つの項目に別れます。それぞれの方法について説明していきます。
タイル法には次の表の種類があります。
タイル法 | 内容 |
等和 | データをソート順に足していき、各グループの和ができるだけ等しくなる様に分割します。 |
等しいレコード | 各グループのレコード数が等しくなるように分割します。 |
スマートタイル | 平均と標準偏差を用いて分割します。 |
固有値 | 固有値を用いて分割します。 |
マニュアル | 手動で設定した値で分割します。 |
タイル法の詳細説明
・等和
「等和」は、データをソート順に足していき、各グループの和ができるだけ等しくなるようにグループを分けます。
プロパティ
タイル法 | 内容 |
タイル数 | グループ分けを行うグループ数になります。 |
ソートフィールド | 選択したフィールドで「降順」にソートを行います。指定しない場合はインプットデータ順になります。 |
合計フィールド | 選択したフィールドを用いて和計算します。 |
出力結果としては、どの方法でも「Tile_Num」「Tile_SequeceNum」の2フィールドが追加されます。
「等和」で1~100までの数値を3つのタイルに分けると和は次の表となりました。
Tile_Num | RowCount | 和 |
1 | 1~58 | 1711 |
2 | 59~82 | 1692 |
3 | 83~100 | 1647 |
・等しいレコード
「等しいレコード」は、レコードを指定したタイル数で等しく分割します。
プロパティ
タイル法 | 内容 |
タイル数 | グループ分けを行うグループ数になります。 |
フィールド上でタイルを分割しない | 選択したフィールドが同じ値が連続である限り分割されません。 |
ソートフィールド | 選択したフィールドで「降順」にソートを行います。指定しない場合はインプットデータ順になります。 |
「フィールド上でタイルを分割しない」の実行結果
具体例として、100レコード(NoTileフィールド:Aが50レコード、Bが50レコード)を5等分してみます。
「NoTile」フィールドのレコードの並びを2種類用意してみました。1つは、AとBというレコードが交互に並んでいる場合。もうひとつは、Aが50レコード連続し、その後Bが50レコード連続しているケースです。
①AB繰り返しパターン
②Aが50個連続、Bが50個連続パターン
以下、①②の2パターンで「フィールド上でタイルを分割しません」オプションを指定した場合の実行結果です。
①の「データが同値で不連続」の場合は20レコードで分割されているのが分かります。
・スマートタイル
平均と標準偏差を用いてセット分けします。データが「正の値のみ」の時と「負と正を含む」の時で計算ロジックが異なります(Alteryxが自動的に判別します)。割り当てられたタイルは、レコードの値が平均範囲内か(=0)、平均を上回るか(1)、平均を下回るか(-1)などを示します。
プロパティ
タイル法 | 内容 |
タイルフィールド | 選択されたフィールドで計算を行います。 |
名前フィールドを出力しない | 名前フィールドが結果に出力されません。 |
名前フィールドを出力 | 「SmartTile_Name」フィールドが追加されます。Average(平均)等の値が入ります(計算ロジックで説明する「SmartTile_Name」の項目が入ります)。 |
詳細な名前フィールドを出力 | 「SmartTile_Name」フィールドが追加されます。「名前フィールドを出力」の内容に加えて、分割した値も表記されます。 |
計算ロジック
前提として、このロジックはデータが正規分布に従うと仮定して計算を行います。
データの分割範囲は次の式で求められた値を丸めて使います。
データ範囲下限値 :(標準偏差 × 下限値)+ 平均値
データ範囲上限値 :(標準偏差 × 上限値)+ 平均値
データ範囲に基づき次の表から「Tile_Num」と「SmartTile_Name」が決定します。
下限値 | 上限値 | Tile_Num | SmartTile_Name | 意味 |
-∞ | -2.5 | -3 | Extremely Low | 非常に低い |
-2.5 | -1.5 | -2 | Low | 低い |
-1.5 | -0.5 | -1 | Below Average | 平均以下 |
-0.5 | 0.5 | 0 | Average | 平均 |
0.5 | 1.5 | 1 | Above Average | 平均以上 |
1.5 | 2.5 | 2 | High | 高い |
2.5 | ∞ | 3 | Extremely High | 非常に高い |
・データが負と正を含む
平均と標準偏差はデータから計算されます。
・データが正の値のみの場合
この場合のデータは、負の値はありえない数値(身長や年齢などマイナスが存在しない数値)と仮定されます。この様な値を取るデータは対数を取ると正規分布に従います。
そのため、平均と標準偏差はデータの対数から求められます。
「正と負の値を含む(-5~5)」「正の値のみ(0~10)」それぞれの場合の出力結果です。
・固有値
フィールドの値が同じ値のレコードで分割します。
プロパティ
タイル法 | 内容 |
固有のフィールド | 対象となるフィールドを選択します。 |
未分類のままにする | チェックするとデータのソートが行われない為、同値で連続していないレコードは別タイルになります。 |
具体例で実際の動きを確認してみたいと思います。
元データは「Group」と「Value」の2つのフィールドを持っています。以下は、2つとも対象として実施した結果ですが、「未分類のままにする」オプションを入れるケースと入れないケースのサンプルをお見せします。
・マニュアル
タイルの区切り位置を任意の値で指定することができます。
プロパティ
タイル法 | 内容 |
タイルフィールド | 対象となるフィールドを選択します。 |
1つまたは複数のタイルカットオフを入力 | 任意のタイル区切り値を入力します。 |
以下は、タイルカットオフを「2」「7」で設定して実行した結果です。
RowCountが2と7で「Tile_Num」が変更されてる事が分かります。
※Alteryx Version 2018.2.5時点での情報です