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

timeseries

既存のデータを使用して将来のデータポイントを予測します。

構文

1result = timeseries resultSet generate (measure1 as fmeasure1 [, measure2 as fmeasure2...]) with (parameters);

measure1measure2 は、将来の値の予測の対象である基準です。基準はグループ化クエリや単純な値クエリから予測できます。予測値と元の値が一緒に射影されます。前の foreach ステートメントからの列も射影されます。

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

    timeseries はデータに最も適したアルゴリズムを選択して、可能な最も正確な予測を実行します。予測アルゴリズムは期間が短いほど正確になります。

    メモ

  • dateCols (省略可能) データのグループ化で使用する日付項目と、日付列種別の文字列。例: dateCols=(CloseDate_Year, CloseDate_Month, "Y-M")。日付列は自動的に射影されます。有効な値は、次のとおりです。
    • YearField, MonthField, "Y-M"
    • YearField, "Y"
  • ignoreLast (省略可能) true の場合、timeseries は最後の期間を計算で使用しません。デフォルトは false です。

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

  • order (省略可能) データの並び替えで使用する項目を指定します。dateCols を使用しない場合は必須です。この項目は昇順で並び替えられます。

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

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

    メモ

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

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

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

  • model (省略可能) 使用する予測モデルを指定します。指定しない場合、timeseries は予測をモデルごとに 1 回ずつ計算し、誤差が最も小さい結果を選択します。

    有効な値は、次のとおりです。
    • None では、timeseries は、データに最も適したアルゴリズムを選択します
    • Additive では、指数平滑モデルまたはホルトウィンターズモデルと加法コンポーネントが使用されます
    • Multiplicative では、指数平滑モデルまたはホルトウィンターズモデルと乗法コンポーネントが使用されます
  • seasonality (省略可能) 季節性を指定します。有効な値は、次のとおりです。
    • 0 季節性なし
    • 4 dateCols によってデータが四半期でグループ化される場合、年間の季節性
    • 12 dateCols によってデータが月でグループ化される場合、年間の季節性
    指定しない場合、timeseries は予測を季節性の種別ごとに 1 回ずつ計算し、誤差が最も小さい結果を選択します。

使用方法

timeseries はデータを分析して、最適な売上予測モデルを選択します。季節性のないデータ用の指数平滑モデルを選択するか、季節性のあるデータ用のホルトウィンターズモデルを選択します。どちらのモデルも、加法オプションまたは乗法オプションのどちらがデータに最も適しているかに応じて、いずれかのオプションを使用できます。timeseries で最適なモデルを選択するようにするか、ユーザが自分で必要なモデルを指定できます。timeseries はデータ内の季節性を検出します。将来データがどのようになるかを予測するときに周期が考慮されます。ユーザが自分で季節性の種別を指定するか、timeseries で最適な種別を選択するようにできます。
予測するだけの十分なデータがない場合、timeseries は null を返します。

データストリームに日付の欠落がある場合、timeseries を使用する前に fill を使用します。

メモ

ヒント

timeseries を最大限活用するための方法を次に示します。
  • 現在、月、四半期、または年の途中ですか? timeseries で現在の期間の不完全なデータを使用しないように、ignoreLasttrue に設定することを考慮してください。これにより、予測がより正確になります。
  • timeseries がデータを返しませんか? 適切な予測を実行するだけの十分なデータポイントがない場合、timeseriesnull を返します。データカテゴリの数を増やしてください。
  • timeseries がエラーを返しますか? 日付または時間のギャップが存在する可能性があります。優れた売上予測アルゴリズムのすべてがそうであるように、timeseries には、各パーティション内を含め、ギャップのない連続する一連の日付が必要です。データに日付のギャップがあると思われる場合は、まず fill を使用してください。

あなたは小売店チェーンを経営しており、市の旅行者数が売り上げに影響しているとします。翌年に市を訪れる旅行者の数を予測してみましょう。

1q = load "TouristData";
2q = group q by ('Visit_Year', 'Visit_Month');
3q = foreach q generate 'Visit_Year', 'Visit_Month', sum('NumTourist') as 'sum_NumTourist';
4q = timeseries q generate 'sum_NumTourist' as Tourists with (length=12, dateCols=('Visit_Year','Visit_Month', "Y-M"));
5q = foreach q generate 'Visit_Year' + "~~~" + 'Visit_Month' as 'Visit_Year~~~Visit_Month', Tourists;

時系列グラフを使用し、予測線を設定して、計算された将来のデータを表示します。結果のグラフには、可能性のある将来の旅行者数が表示されます。

ミーティングデータセットを表示している図

95% の精度で翌年の市の旅行者数を予測するとします。predictionInterval=95 を使用して、旅行者数に 95% の信頼区間を設定します。上限と下限は Tourists_high_95 および Tourists_low_95 の項目で射影されます。

1q = load "TouristData";
2q = group q by ('Visit_Year', 'Visit_Month');
3q = foreach q generate 'Visit_Year', 'Visit_Month', sum('NumTourist') as 'sum_NumTourist';
4q = timeseries q generate 'sum_NumTourist' as Tourists with (length=12, predictionInterval=95, dateCols=('Visit_Year','Visit_Month', "Y-M"));
5q = foreach q generate 'Visit_Year' + "~~~" + 'Visit_Month' as 'Visit_Year~~~Visit_Month', Tourists, Tourists_high_95, Tourists_low_95;

取引先の種別ごとに収益を予測するとします。取引先収益に年間の季節性があることはわかっています。日付を四半期別にグループ化するため、dateCols=('Date_Sold_Year','Date_Sold_Quarter', "Y-Q") および seasonality = 4 を指定します。翌年の予測値を表示するには、length=4 を使用して 4 つの四半期を指定します。

1q = load "Account";
2q = group q by ('Date_Sold_Year', 'Date_Sold_Quarter', 'Type');
3q = foreach q generate 'Date_Sold_Year', 'Date_Sold_Quarter', 'Type', sum('Amount') as 'sum_Amount';
4q = timeseries q generate 'sum_Amount' as Amount with (partition='Type',length=4, dateCols=('Date_Sold_Year','Date_Sold_Quarter', "Y-Q"), seasonality = 4);
5q = foreach q generate 'Date_Sold_Year' + "~~~" + 'Date_Sold_Quarter' as 'Date_Sold_Year~~~Date_Sold_Quarter','Type', Amount ;

時系列グラフを使用し、予測線を設定して、計算された将来のデータを表示します。結果のグラフには、四半期の季節変動を考慮した、可能性のある収益合計が取引先ごとに表示されます。

ミーティングデータセットを表示している図