予測モデリング関数のエラーの解決
Tableau で予測モデリング関数を使用する場合、viz に計算を追加しようとするとエラーが発生することがあります。
一般的に、まず最初に [次を使用して計算] で使用するディメンションを再確認します。次に、予測変数で指定した詳細レベルとビューの詳細レベルとの間に不一致がないか確認します。また、現在のビジュアライゼーションを前提として、予測変数がモデルに関連データを提供しているか確認します。
この記事では、いくつかの一般的な問題と、その対処方法について詳しく説明します。
予測モデリング関数のエラーは、通常、使用しているモデルに応じて、次の 1 つまたは複数の問題によって発生します。
一般的なエラー
- [次を使用して計算] で使用するディメンションが無効
- ディメンション予測変数が、視覚化された詳細レベルと競合する
- 複数の予測変数が互いに競合する
- モデルを構築するための十分なデータがない
- 提供されたデータで正常なモデルを構築できない
ガウス プロセス回帰のエラー
- ガウス プロセス回帰は 1 つの順序付きディメンション予測変数だけを必要とする
- ガウス プロセス回帰はディメンションを予測変数としてのみサポートする
- 1 つまたは複数の予測ターゲットのトレーニング データがない
- 5,000 以上のマークがある
[次を使用して計算] で使用するディメンションが無効
予測モデリング関数を視覚化する場合は、[次を使用して計算] で使用するディメンションを指定する必要があります。方向性のあるディメンション ([表で横から下へ] や [ペインで横へ] など) ではなく、特定のディメンション ([地域] や [カテゴリー] など) を選択することをお勧めします。
Viz またはダッシュボードに複数の予測モデリング関数が含まれている可能性があるため、特定の区分ディメンションを選択すると、個々の関数に同じ基本データ セットを使用してモデルを構築できます。つまり、類似モデルと類似モデルで結果を比較できます。
方向の指定と区分の詳細については、「表計算での値の変換」を参照してください。
予測モデリング関数を使用するときは、モデルのさまざまな反復 (たとえば、異なる予測変数を選択するなど) とさまざまな viz の両方で、インスタンス化が異なっても一貫性を維持する必要があります。方向性のあるディメンションを [次を使用して計算] で使用すると、視覚化されたデータの些細な変更がモデルの構築に使用されているデータに大きな影響を与え、異なる viz の有効性と一貫性に影響を与える可能性が広がります。
[次を使用して計算] で使用するディメンションが指定されていない場合、または無効なディメンションが選択されている場合、NULL 値が表示されることがあります。
[次を使用して計算] で使用する無効なディメンションには次のものがあります。
- セル: このディメンションは、モデルの構築に常に単一のデータ ポイントが使用されるため、正常に実行されません。
- 上位レベルのネストされたディメンション (たとえば、地域と州の両方が軸上で視覚化されていて、州のマークは生成されているが地域でグループ化されている場合 )。区分ディメンションとして [地域] が選択されている場合、このビューには [地域] に対して形式化されたマークがないため、Null 値が返されます。
上記の viz の場合、[次を使用して計算] で使用できる有効なディメンションは 州とカテゴリーです。州またはカテゴリーでデータを区分すると、モデルの構築に使用できる複数の有効なマークが生成されます。
[地域] は [次を使用して計算] の選択肢として表示されますが、このビューの詳細レベルではマークを生成せず、データの区分に使用することはできません。
詳細については、「予測モデリングにおける計算とデータ分割」を参照してください。
ディメンション予測変数が、視覚化された詳細レベルと競合する
ディメンション予測変数は、視覚化されているのと同じ詳細レベルかそれ以上にする必要があります。つまり、州でデータを視覚化する場合は、予測変数として州、地域、国を使用できますが、市区町村を使用するとエラーが発生します。州の中には複数の市区町村があるため、この予測変数はすべてのマークに対して * に解決され、意味のある情報は返されません。Tableau では無視されます。
各ディメンション予測変数は、次のような ATTR 関数で囲む必要があります。
MODEL_PERCENTILE(SUM([Sales]), ATTR([State]), ATTR([Category])
複数の予測変数が互いに競合する
特定の予測モデリング関数内で使用される各予測変数は、独立した情報を計算に対して提供する必要があります。選択した 2 つの予測変数が全く等価であったり、拡大または縮小されたバージョンであったり、互いに逆関数であったりすると、予測モデリング関数は視覚化されたときにエラーを返します。
たとえば、時間の経過に沿って気象条件を追跡するデータセットには、IsRain (雨降り) と IsClear (晴れ) の 2 つのフィールドがあるかもしれません。これら 2 つのフィールドは互いに逆になります。つまり 、IsClear = 真 であれば IsRain= 偽、またはその反対です。 IsClear と IsRain の両方を単一の予測モデリング関数の予測変数として含めると、エラーが返されます。
上記は、予測変数としてのメジャーとディメンションの両方に当てはまります。
どちらの場合も、予測変数を変更して高い相関性のある予測変数を削除することで、エラーを解決できます。詳細については、「予測変数の選択」を参照してください。
モデルを構築するための十分なデータがない
予測モデリング関数がモデルを構築して予測を生成できるようにするには、区分の中に最低 3 つのマークが必要です。表示されたデータと [次を使用して計算] で使用するディメンションによって定義されたデータ セットにあるマークが 2 つ以下の場合、予測モデリング関数は null の結果を返します。
この問題を解決するには、詳細レベル、データをフィルターリングするパラメーター、[次を使用して計算] で使用するディメンションなどを変更して、各区分にあるマークを 3 つ以上にします。
提供されたデータで正常なモデルを構築できない
このエラーは、選択した予測変数、視覚化された詳細レベル、または [次を使用して計算] で選択したディメンションの間に矛盾があり、予測変数を使用して合理的なモデルを構築できない場合に発生します。
たとえば、次の MODEL_QUANTILE 計算を見てみましょう。
MODEL_QUANTILE(0.5, MEDIAN([Profit]), ATTR(MONTH([Order Date])))
各マークが州の値を表す viz にこの計算を適用 すると、以下のエラーが返されます。
[オーダー日] はデータの視覚化やセグメント化には使用しないので、予測モデリング関数は指定された予測変数を使用してモデルを構築できません。
これを解決するには、次の手順を実行します。
- 予測変数をディメンションとして含むように、ビジュアライゼーションを更新します。
- 実行できない予測変数を削除するように、関数を更新します。
このエラーは、ビジュアライゼーションと表計算の特定の予測変数との間に不一致があることを反映していることに注意してください。これと同じ計算でも、オーダー日をディメンションとして含むビジュアライゼーションに適用すれば、問題なく機能します。
ガウス プロセス回帰は 1 つの順序付きディメンション予測変数だけを必要とする
ガウス プロセス回帰を使用するには、1 つの順序付きディメンションだけを予測変数として含める必要があります。追加の非順序付きディメンションを予測変数として含めることができます。メジャーは、ガウス プロセス回帰では予測変数として使用できません。
このエラーが発生した場合は、表計算に順序付きディメンション予測変数を追加するか、余分な順序付きディメンション予測変数を削除するか、順序付きディメンションの 1 つを非順序付きディメンションとして扱うように指定します。
ガウス プロセス回帰は時系列データに最適であるため、通常、ATTR(DATETRUNC('month',[Order Date])) のような時間ベースの予測変数の形式になります。DATETRUNC 式では、任意の date_part を使用できますが、date_part は Viz と同じかそれ以上の詳細レベルにする必要があります。つまり、Viz が集計レベルとして WEEK([Order Date]) を使用する場合、date_part は、'week'、'month'、'quarter' などにする必要があります。'dayofyear'、'day'、'weekday'、'hour' などにすることはできません。
ATTR(MONTH([Date])) は文字列値を返すため、手動で指定しない限り、順序付きディメンション予測変数として機能しないことに注意してください。手動で指定するには、以下のように、予測変数の直前に "ordered" を含めます。
MODEL_PERCENTILE(
"model=gp",
SUM([Sales]),
"ordered",ATTR(MONTH([Order Date]))
)
予測変数に複数の時間ディメンションを含める場合は、どのディメンションを非順序付きディメンションとして使用するかを指定する必要があります。指定するには、以下のように、ディメンションの直前に "unordered" を含めます。
MODEL_PERCENTILE(
"model=gp",
SUM([Sales]),
ATTR(DATETRUNC('month',[Order Date]))
"unordered",ATTR(DATETRUNC('year',[Order Date]))
)
ATTR(DATETRUNC('year',[Order Date]) の前に "unordered" を指定せずに上記の計算を使用しようとすると、エラーが返されます。
さらに、ガウス プロセス回帰の方向の指定 (順序) (または [次を使用して計算]) は、順序付きディメンション予測変数と同じフィールドに設定する必要があります。
すべてのモデルでは、1 つの方向の指定 (順序) (または [次を使用して計算]) のみを選択できます。
ガウス プロセス回帰はディメンションを予測変数としてのみサポートする
ガウス プロセス計算では、どのメジャーも予測変数として使用できません。メジャー予測変数を削除してください。
この制限は、ガウス プロセス回帰を指定する予測モデリング関数にのみ適用されます。線形回帰 (または OLS、既定) 関数と正規化線形回帰関数はどちらも、メジャーを予測変数としてサポートします。
1 つまたは複数の予測ターゲットのトレーニング データがない
ガウス プロセス回帰では、予測モデルを構築して予測を返すために、各データ パーティションに少なくとも n 個のデータ ポイントが必要です。このエラーが発生した場合は、予測を修正してください。
5,000 以上のマークがある
ガウス プロセス回帰は、5,000 未満のマークを持つ Viz のみでサポートされます。この問題を解決するには、詳細レベルを更新してマークの数を減らすか、別の統計モデルを選択します。