予測モデリングにおける計算とデータ分割
表計算に予測モデリング関数、MODEL_QUANTILE または MODEL_PERCENTILE を含めることにより、データからの予測を行います。
表計算においては、[次を使用して計算] の方向が指定されている必要があります。方向の指定や区分が異なるディメンションが結果に与える影響の概要については、「表計算での値の変換」を参照してください。
予測モデリング関数では、[次を使用して計算] オプションを使用して、予測モデルの構築に使用するデータセットを区分 (スコープ化) します。
予測モデリング関数には方向の指定 (順序) という概念はありません。選択された予測変数に基づいてマークごとに異なる結果をモデルが返すためです。つまり、累計であれば、方向を指定するディメンションがフィールドを追加する順序や結果を返す順序を決定しますが、予測モデリング関数では本質的に順序がありません。 ビジュアライゼーションで指定された詳細レベルで、関数のターゲットと予測変数で定義されたデータから作成したモデルを使用して結果を計算します。そのデータには、日付ディメンションなどの順序付き予測変数を使用しない限り、順序付けの概念はありません。
また、モデルの構築に使用するデータを定義するときは、ビジュアライゼーションの詳細レベルを常に使用します。すべての表計算は viz と同じ詳細レベルで動作し、予測モデリング関数も例外ではありません。
予測モデリング関数の推奨事項
予測モデリング関数を使用するときは、区分を作成するディメンションを指定して選択することを推奨します。1 つの viz またはダッシュボードで複数の予測計算を行う可能性があるため、特定のディメンションを選択して区分すると、個々の関数に対して同じ参照元データ セットを使用してモデルを作成でき、同様のモデルの結果を比較できます。
Tableauで予測モデリング関数を使用する場合、モデルのさまざまな反復 (たとえば、さまざまな予測変数の選択) とさまざまなビジュアライゼーションの両方で、異なるインスタンス化を行っても一貫性を維持することが重要です。方向性のある [次を使用して計算] オプションを使用した場合、視覚化されたデータを少し変更するとモデルの構築に使用されるデータに大きな影響を与え、異なるビジュアライゼーションにわたる有効性と整合性に影響を与える可能性が広がります。
ディメンションの選択
以下の例では、Tableau Desktop に付属しているサンプル - スーパーストアのデータ ソースを使用します。
ディメンションを選択すると、Tableau はそのディメンション全体で予測モデルを構築することに注意してください。つまり、区分するディメンションとして [Order Date] を選択すると、Tableau は設けられたその他の区分の中で データを使用しますが、[Order Date] の値の順番に沿ってデータを使用します。
下の図は、モデルの構築に使用されるデータを黄色で強調表示し、モデルの出力をオレンジ色で強調表示しています。この例では予測変数がないため、すべての応答は特定のサブカテゴリ内で同一であり、最適な予測変数を選択するとより意味のある結果を生成できます。 最適な予測変数の詳細については、「予測変数の選択」を参照してください。
同様に、区分するディメンションとしてサブカテゴリが選択されていると、次のように Tableau は指定された月の中で、複数のサブカテゴリの順番に沿ってデータを使用します。 データをさらにペインに分割する場合は、モデルを構築する際にペインの境界に注意する必要があります。
区分に関する注意事項
データを視覚的に区分すると、モデルの構築や予測の生成に使用するデータに大きな影響を及ぼします。より高い詳細レベルを追加すると (たとえば、1 つのシェルフに都道府県と市区町村の両方を含むなど)、データは高い LOD で区分されます。これは、ピルがシェルフに置かれる順序に関係なく当てはまります。たとえば、これらは同じ予測を返します。
ピルを追加して詳細レベルを変更すると、データが [行] や [列] シェルフ、[マーク] カードの [色]、[サイズ]、[ラベル]、[詳細]、[図形] などに追加された場合は、データが区分されます。ツールヒントに別の詳細レベルでピルを追加しても 、データは区分されません。
下の例では、カテゴリとサブカテゴリのピルが両方とも行にあるため、モデルはカテゴリによって自動的に区分されます。予測計算は、上位のピルであるカテゴリの境界内のサブカテゴリ全体で計算されています。
これは、予測変数の適用方法に影響を与えます。以下の例を見てみましょう。この例では、3 つの MODEL_QUANTILE の表計算が適用されます。
Predict_Sales_City | Predict_Sales_State | Predict_Sales_Region |
MODEL_QUANTILE(0.5,sum([Sales]),
| MODEL_QUANTILE(0.5,sum([Sales]),
| MODEL_QUANTILE(0.5,sum([Sales]),
|
3 つすべての場合で [次を使用して計算] > [市区町村] を選択しました。ノースカロライナ州のいくつかの市区町村を見てみましょう:
異なる予測変数を使用しているにもかかわらず、3 つの計算結果は指定した州ですべて同じになりました。
[行]シェルフから [地域] を削除しても結果は変わらず、指定した州の中で同じです。
ただし、行シェルフから [州] を削除すると、計算ごとに異なる結果が表示されます。
どういうことでしょうか。
最初の例では、[行] シェルフの 地域と州が市区町村を区分しています。そのため Predict_Sales_City、Predict_Sales_State、Predict_Sales_Region のモデル は、同じデータを受け取り、同じ予測を生成しています。
すでに 州と地域内のデータを視覚的に区分しているので、モデルに値を追加する予測変数はなく、結果に影響はありません。
[行] シェルフから [地域] を削除しても、州で区分されているため、モデルの構築に使用されるデータに変更はありません。同じように、すでに 州内のデータを視覚的に区分しているので、いずれの予測変数もモデルに値を追加したり、結果に影響を与えたりしません。
ただし、州を削除するとデータの区分が解除され、計算ごとに異なる予測が表示されます。どういうことか詳しく見てみましょう。
Predict_Sales_City の場合、ATTR([City]) を予測変数として使用しています。これは viz と同じ詳細レベルであるため、値を追加することなく無視されます。すべての市区町村の売上を集計して統計エンジンに渡し、売上の予測を計算しています。他の予測変数は含まれていないので、市区町村ごとに同じ結果が表示されます。1 つまたは複数のメジャーを含めていれば、結果にばらつきが見られます。
Predict_Sales_State の場合、ATTR([State]) を予測変数として使用しています。予測変数 は、すべての市区町村データを州別に区分しています。1 つの州の中では同じ結果が得られ、異なる州では別の結果が得られると予想されます。
しかし、必ずしもそのようにはなりません。キャリー市、チャペルヒル市、シャーロット市は、予想通り 2,084 ドルと同じ予測をしています。しかし、バーリントン市は 9,366 ドルという異なる予測をしています。
これは、複数の州 (アイオワ州、ノースカロライナ州、バーモント州) に「バーリントン」という名前の市が存在するためです。そのため、州は「複数の値」を意味する * に解決されています。州が * に解決されるすべてのマークは一緒に評価されるため、複数の州に存在する他の市も予測が 9,366 ドルになることになります。
Predict_Sales_Region の場合、ATTR([Region]) を予測変数として使用しています。予測変数 は、すべての 市区町村データを地域別に区分しています。1 つの地域の中では同じ結果が得られ、異なる地域では別の結果が得 られると予想されます。
バーリントン市は複数の地域 (中部、東部、南部)に存在するため、地域は * に解決されます。バーリントン市の予測は、複数の地域に存在する各市区町村と同じものになります。
このように、ディメンションの予測変数が、ビジュアライゼーションの詳細レベルと区分の両方に正しく配置されていることを確認することは非常に重要です。任意のディメンションでビジュアライゼーションを細分化すると、意図しない影響が予測に反映される可能性があります。