この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

arimax

既存のデータを使用して将来のデータポイントを予測します。arimax ステートメントは、クエリ内で射影ステートメントの後に記述する必要があります。絞り込みは、射影前、または arimax ステートメントの後に実行します。

arimax ステートメントで結果の完全なセットを返すには CRM Analytics Growth ライセンスまたは CRM Analytics Plus ライセンスが必要です。

メモ

使用方法

arimax は、データポイントを予測するための異なるアルゴリズムを提供する timeseries ステートメントのバリエーションです。複数の変数を取ることができるより一般的なモデルを使用して予測を実行する場合、arimax を使用します。

構文

1result = arimax resultSet generate measure1 as fmeasure1 with (parameters);

parameters には、次の値を使用できます。

  • arimaOrder (seasonalOrder が指定されていない場合は必須) ARIMA モデルの次数を指定します。たとえば、arimaOrder=(p,d,q) とします。ここで、pdq は整数です。整数値は 05 である必要があります。

    p は AR 次数、d は差異の程度、q は MA 次数です。

    メモ

  • seasonalOrder (arimaOrder が指定されていない場合は必須) ARIMA モデルの季節性の次数を指定します。たとえば、seasonalOrder=(P,D,Q,s) とします。ここで、PDQ は整数、s は周期です。整数値は 05 である必要があります。s の値は 0 または 224 である必要があります。s0 にできるのは、PDQ もすべて 0 の場合のみです。

    P は季節性 AR の次数、D は季節性の差異の程度、Q は季節性 MA の次数、s は季節性の周期です。

    メモ

  • xreg (省略可能) 外部リグレッサーまたは共通因子。例: xreg=('col1','col2',...)xreg の値は基準である必要があります。許可される xreg 項目の最大数は 10 です。

  • xregFutures (省略可能) 値配列の対応付けとしての xreg パラメーターの将来のシナリオデータ。各配列内の値の数は、length パラメーターの値と一致する必要があります。各配列値のキーは、xreg 基準の名前です。

クエリで seasonalOrderdateType が指定されていない場合、アルゴリズムはいくつかの人気のある季節性に対して自動パラメーター検索を実行し、最適なものを見つけます。

メモ

arimax では、意味と動作が同じである次の timeseries パラメーターもサポートされます。

  • length (必須) 予測するポイント数。たとえば、length が 6 で dateCols 種別の文字列が Y-M の場合、arimax は 6 か月のデータを予測します。

    dateCols を使用する必要があっても、データストリームの日付に欠落がある場合は、arimax を使用する前に fill を使用します。

    メモ

  • dateCols (省略可能) データのグループ化で使用する日付項目と、日付列種別の文字列。例: dateCols=(CloseDate_Year, CloseDate_Month, "Y-M")。日付列は自動的に射影されます。有効な値は、次のとおりです。

    • YearField, MonthField, "Y-M"
    • YearField, QuarterField, "Y-Q"
    • YearField, "Y"
    • YearField, MonthField, DayField "Y-M-D"
    • YearField, WeekField "Y-W"
  • ignoreLast (省略可能) true の場合、arimax は最後の期間を計算で使用しません。デフォルトは、false です。

    最後の期間に不完全なデータが含まれる場合、売上予測の精度を高めるには、このパラメーターを true に設定します。たとえば、まだ四半期の途中の場合、このパラメーターを true に設定すると、arimax の売上予測はより正確になります。

  • order (省略可能) データの並び替えで使用する項目を指定します。dateCols を使用しない場合は必須です。デフォルトでは、この項目は昇順で並び替えられます。降順を指定する場合は、order=('Type' desc) のように、desc を使用します。order=('Type' desc, 'Group' asc) のように複数の項目の並べ替えもできます。

    たとえば、データに日付列がなく、「Week (週)」という基準列があるとします。order='Week' を使用します。

    dateCols または order を指定します。

    メモ

  • partition (省略可能) は、データをパーティションに分けるために使用する列を指定します。列はディメンションである必要があります。各パーティションで最も正確なアルゴリズムが使用されるように、arimax の計算はパーティションごとに個別に実行されます。たとえば、あるパーティションのデータに季節変動があり、別のパーティションのデータにはない場合があります。パーティション列は自動的に射影されます。

    たとえば、原料の売上データに販売日付、原料の種別、販売重量が含まれるとします。原料の種別ごとに将来の販売重量を予測するには、partition='Type' を使用します。

  • predictionInterval (省略可能) 各データポイントで表示する不確実性、つまり信頼区間を指定します。使用できる値は 8095 です。信頼区間の上限と下限は column_name_low_95 および column_name_high_95 という名前の列で射影されます。

arimax では、売上予測または xreg 基準の欠損データ値はサポートされません。arimax をコールする前に、データを前処理してクエリ内の欠損値を置き換える必要があります。

メモ

.

構文の例

  • arimaxArimaOrder パラメーターと併用する。
    1q = arimax q generate 'Value' as 'fValue' with (length=10, dataCols=('Year', 'Month', 'Day', "Y-M-D"), arimaOrder=(1,0,1));
  • arimaxarimaOrderxregignoreLast パラメーターと併用する。
    1q = arimax q generate 'Value' as 'fValue' with (length=10, dataCols=('Year', 'Month', 'Day', "Y-M-D"), arimaOrder=(1,0,1), xreg=('Price', 'Cost'), ignoreLast=true);
  • arimax の売上予測で複数の列を使用する。xreg が指定されている場合、複数の列は許可されません。 = arimax q generate 'Value' as 'fValue', 'Value2' as 'fValue2' with (length=10, dataCols=('Year', 'Month', 'Day', "Y-M-D"), arimaOrder=(1,0,1));
  • arimaxarimaOrderseasonalOrderxreg パラメーターと併用する。
    1q = arimax q generate 'Value' as 'fValue' with (length=10, dataCols=('Year', 'Month', 'Day', "Y-M-D"), arimaOrder=(1,0,1), seasonalOrder=(1,0,1,4), xreg=('Price', 'Cost'));
seasonality dateCols 季節性の種別
seasonalOrder=(1,0,1,4) dateCols=('Year','Quarter',"Y-Q") 1 年間に 4 つの四半期があることによる毎年の季節性。
seasonalOrder=(1,0,1,12) dateCols=('Year','Month',"Y-M") 1 年間に 12 個の月があることによる毎年の季節性。
seasonalOrder=(1,0,1,7) dateCols=('Year','Month','Day',"Y-M-D") 1 週間に 7 つの日があることによる毎週の季節性。

dateCols 値の日付型が seasonalOrder の季節性の周期と一致しない場合、季節性の周期が優先されます。たとえば、dateCols=('Year','Month',"Y-M")seasonalOrder=(1,0,1,4) が同じ arimax ステートメント内ある場合、予測に使用される季節性の周期は 4 または "Y-Q" であり、"Y-M" ではありません。

メモ

使用事例

ある都市の 5 年間の月間電力使用量、および対応する各月の平均気温と降水量を含むデータセットがあるとします。

日付、電力、降水量、気温の値を含むデータセットの例。

季節性 arimax クエリを使用して今後 12 か月の電力使用量を予測し、クエリにパラメーターを追加して各予測を調整できます。1 つの変数の予測から始めて、次に xreg を追加して多変量にし、最後に xregFutures を追加して what-if 分析を作成します。各視覚化では、[軸モード] を [単一軸] に設定し、[値の表示形式] を [コンパクト数値] に設定し、[X 軸] に予測線を追加したタイムライングラフが使用されます。

季節性クエリ

季節性 arimax クエリを使用して、その都市が来年使用する電力量を予測します。
1q = load "nyc_power_dates3";
2q = group q by (CurrentDate_Year, CurrentDate_Month);
3q = foreach q generate CurrentDate_Year, CurrentDate_Month, sum(power) as power;
4q = arimax q generate power as fPower with (length=12, dateCols=(CurrentDate_Year, CurrentDate_Month, "Y-M"), arimaOrder=(0,1,1), seasonalOrder=(0,1,1,12));
5q = foreach q generate 'CurrentDate_Year' + "~~~" + 'CurrentDate_Month' as 'CurrentDate_Year~~~CurrentDate_Month', fPower;
予測で使用される 1 つのバリエーションを含む季節性 arimax クエリの結果。

多変量季節性クエリ

季節性多変量 arimax クエリを使用して、その都市が使用する電力量を予測します。予測値の計算に temperature および precipitation 基準を使用します。

1q = load "nyc_power_dates3";
2q = group q by (CurrentDate_Year, CurrentDate_Month);
3q = foreach q generate CurrentDate_Year, CurrentDate_Month, sum(power) as power, sum(temperature) as temperature, sum(precipitation) as precipitation;
4q = arimax q generate power as fPower with (length=12, dateCols=(CurrentDate_Year, CurrentDate_Month, "Y-M"), xreg=(temperature, precipitation), arimaOrder=(0,1,1), seasonalOrder=(0,1,1,12));
5q = foreach q generate 'CurrentDate_Year' + "~~~" + 'CurrentDate_Month' as 'CurrentDate_Year~~~CurrentDate_Month', fPower, temperature, precipitation;
予測で使用される複数のバリエーションを含む季節性 arimax クエリの結果。

予測区間を使用した多変量季節性クエリ

季節性多変量 arimax クエリを使用して、その都市が使用する電力量を予測します。予測値の計算に temperature および precipitation 基準を使用します。次に、predictionInterval を追加して、95% の精度で予測を表示します。

1q = load "nyc_power_dates3";
2q = group q by (CurrentDate_Year, CurrentDate_Month);
3q = foreach q generate CurrentDate_Year, CurrentDate_Month, sum(power) as power, sum(temperature) as temperature, sum(precipitation) as precipitation;
4q = arimax q generate power as fPower with (length=12, predictionInterval=95 dateCols=(CurrentDate_Year, CurrentDate_Month, "Y-M"), xreg=(temperature, precipitation), arimaOrder=(0,1,1), seasonalOrder=(0,1,1,12));
5q = foreach q generate 'CurrentDate_Year' + "~~~" + 'CurrentDate_Month' as 'CurrentDate_Year~~~CurrentDate_Month', fPower, fPower_high_95, fPower_low_95;
予測で使用される複数のバリエーションと予測区間を含む季節性 arimax クエリの結果。

What-If 分析クエリ

xregFutures パラメーターを使用して xreg 項目に考えられる将来の値を指定し、さまざまな値セットの売上予測項目にどのような影響があるかを確認します。

1q = arimax q generate 'Value' as 'fValue' with (length=6, dateCols=('Year','Month','Day', "Y-M-D"), 
2 arimaOrder=(1,0,1), xreg=('col1', 'col2'), xregFutures=(col1: [1.0, 2.0, 3.0, 4.0, 5.0, 6.0], col2: [1.1, 2.2 3.3, 4.4, 5.5, 6.6]));

ユーザーは、what-if 分析を実行する xreg 項目の値を渡すことができます。

xregFutures を季節性多変量 arimax クエリに追加して、将来の temperatureprecipitation の値を使用してその都市が使用する電力量を予測します。このクエリでは、視覚化の計算値を変更するために、最後の 6 個の temperature の将来値がそれぞれ 10 度ずつ増加しています。

1q = load "nyc_power_dates3";
2q = group q by (CurrentDate_Year, CurrentDate_Month);
3q = foreach q generate CurrentDate_Year, CurrentDate_Month, sum(power) as power, sum(temperature) as temperature, sum(precipitation) as precipitation;
4q = arimax q generate power as fPower with (length=12, dateCols=(CurrentDate_Year, CurrentDate_Month, "Y-M"),
5xreg=(temperature, precipitation), arimaOrder=(0,1,1), seasonalOrder=(0,1,1,12),
6xregFutures=(temperature: [67.09, 58.49, 44.91, 41.89, 34.75, 34.20, 39.18, 61.51, 70.59, 82.13, 89.54, 84.12],
7precipitation: [0.0081, 0.0049, 0.0036, 0.0067, 0.0031, 0.0060, 0.0053, 0.0015, 0.0050, 0.0079, 0.0028, 0.0034]));
8q = foreach q generate 'CurrentDate_Year' + "~~~" + 'CurrentDate_Month' as 'CurrentDate_Year~~~CurrentDate_Month', fPower, temperature, precipitation;
what-if 分析を使用した季節性 arimax クエリの結果。