次の方法で共有


高度な時系列予測 (中間データ マイニング チュートリアル)

予測モデルの調査から、ほとんどの地域の売上は同様のパターンに従いますが、一部のリージョンと、太平洋の M200 モデルなどの一部のモデルでは、非常に異なる傾向が示されています。 これは、地域間の違いが一般的であり、マーケティングプロモーション、不正確なレポート、地政学的なイベントなど、多くの要因によって引き起こされる可能性があることを知っているので、驚くことはありません。

ただし、ユーザーは世界中で適用できるモデルを求めています。 したがって、個々の要因が予測に与える影響を最小限に抑えるために、世界中の売上の集計メジャーに基づくモデルを構築することにします。 その後、このモデルを使用して、個々のリージョンごとに予測を行うことができます。

このタスクでは、高度な予測タスクを実行するために必要なすべてのデータ ソースを作成します。 予測クエリへの入力として使用する 2 つのデータ ソース ビューと、新しいモデルの構築に使用する 1 つのデータ ソース ビューを作成します。

手順

  1. 拡張売上データを準備する (予測用)

  2. 集計データを準備する (モデルの構築用)

  3. 系列データを準備する (クロス予測用)

  4. EXTEND を使用して予測する

  5. クロス予測モデルを作成する

  6. REPLACE を使用して予測する

  7. 新しい予測を確認する

新しい拡張売上データの作成

売上データを更新するには、最新の売上数値を取得する必要があります。 特に注目されているのは、太平洋地域のデータであり、新しい店舗に注意を向け、自社製品の認識を高めるために地域販売促進を開始しました。

このシナリオでは、2 つのリージョンに対して 3 か月分の新しいデータを含む Excel ブックからデータがインポートされていることを前提としています。 Transact-SQL スクリプトを使用してデータのテーブルを作成し、予測に使用するデータ ソース ビューを定義します。

新しい売上データを含むテーブルを作成する

  1. Transact-SQL クエリ ウィンドウで、次のステートメントを実行して、売上データを AdventureWorksDW データベース (またはその他の任意のデータベース) に追加します。

    USE [database name];  
    GO  
    IF OBJECT_ID ([dbo].[NewSalesData]) IS NOT NULL   
        DROP TABLE [dbo].[NewSalesData];  
    GO  
    CREATE TABLE [dbo].[NewSalesData]([Series] [nvarchar](255) NULL,  
    [NewDate] [datetime] NULL,  
    [NewQty] [float] NULL,  
    [NewAmount] [money] NULL) ON [PRIMARY]  
    
    GO  
    
  2. 次のスクリプトを使用して、新しい値を挿入します。

    INSERT INTO [NewSalesData]  
    (Series,NewDate,NewQty,NewAmount)  
    VALUES('T1000 Pacific', '7/25/08', 55, '$130,170.22'),  
    ('T1000 Pacific', '8/25/08', 50, '$114,435.36 '),  
    ('T1000 Pacific', '9/25/08', 50, '$117,296.24 '),  
    ('T1000 Europe', '7/25/08', 37, '$88,210.00 '),  
    ('T1000 Europe', '8/25/08', 41, '$97,746.00 '),  
    ('T1000 Europe', '9/25/08', 37, '$88,210.00 '),  
    ('T1000 North America', '7/25/08', 69, '$164,500.00 '),  
    ('T1000 North America', '8/25/08', 66, '$157,348.00 '),  
    ('T1000 North America', '9/25/08', 58, '$138,276.00 '),  
    ('M200 Pacific', '7/25/08', 65, '$149,824.35'),  
    ('M200 Pacific', '8/25/08', 54,  '$124,619.46'),  
    ('M200 Pacific', '9/25/08', 61, '$141,143.39'),  
    ('M200 Europe', '7/25/08', 75, '$173,026.00'),  
    ('M200 Europe', '8/25/08', 76, '$175,212.00'),  
    ('M200 Europe', '9/25/08', 84, '$193,731.00'),  
    ('M200 North America', '7/25/08', 94, '$216,916.00'),  
    ('M200 North America', '8/25/08', 94, '$216,891.00'),  
    ('M200 North America', '9/25/08', 91,'$209,943.00');  
    

    警告

    引用符は、コンマ区切りと通貨記号の問題を防ぐために、通貨値と共に使用されます。 通貨値を次の形式で渡すこともできます。 130170.22

    このリリースでは、サンプル データベースで使用される日付が変更されていることに注意してください。 以前のエディションの AdventureWorks を使用している場合は、それに応じて挿入された日付を調整することが必要になる場合があります。

新しい売上データを使用してデータ ソース ビューを作成する

  1. ソリューション エクスプローラーで、[データ ソース ビュー] を右クリックし、[新しいデータ ソース ビュー] を選択します。

  2. データ ソース ビュー ウィザードで、次の項目を選択します。

    データ ソース: Adventure Works DW 多次元 2012

    [テーブルとビューの選択]: 先ほど作成したテーブル NewSalesData を選択します。

  3. [完了] をクリックします。

  4. [データ ソース ビュー] デザイン 画面で、[NewSalesData] を右クリックし、[ データの探索 ] を選択してデータを確認します。

警告

このデータは予測にのみ使用するため、データが不完全である必要はありません。

クロス予測モデルのデータの作成

元の予測モデルで使用されたデータは、既にビュー vTimeSeries によって多少グループ化されています。このビューでは、複数の自転車モデルを小さなカテゴリに折りたたみ、個々の国から地域に結果をマージしました。 ワールドワイド プロジェクションに使用できるモデルを作成するには、データ ソース ビュー デザイナーで追加の単純な集計をいくつか直接作成します。 新しいデータ ソース ビューには、すべてのリージョンのすべての製品の売上の合計と平均だけが含まれます。

モデルに使用するデータ ソースを作成したら、予測に使用する新しいデータ ソース ビューを作成する必要があります。 たとえば、新しいワールドワイド モデルを使用してヨーロッパの売上を予測する場合は、ヨーロッパリージョンのデータのみをフィードする必要があります。 そのため、元のデータをフィルター処理する新しいデータ ソース ビューを設定し、予測クエリのセットごとにフィルター条件を変更します。

カスタム データ ソース ビューを使用してモデル データを作成するには

  1. ソリューション エクスプローラーで、[データ ソース ビュー] を右クリックし、[新しいデータ ソース ビュー] を選択します。

  2. ウィザードのウェルカム ページで、[ 次へ] をクリックします。

  3. [ データ ソースの選択 ] ページで、[Adventure Works DW 多次元 2012] を選択し、[ 次へ] をクリックします。

  4. [ テーブルとビューの選択] ページで、テーブルを追加せず、[ 次へ] をクリックします。

  5. [ ウィザードの完了] ページで、 AllRegions名前を入力し、[ 完了] をクリックします。

  6. 次に、空白のデータ ソース ビューデザイン画面を右クリックし、[ 新しい名前付きクエリ] を選択します。

  7. [ 名前付きクエリの作成 ] ダイアログ ボックスで、[ 名前] に「 AllRegions」と入力し、[ 説明] に「すべてのモデルと地域における売上の合計と平均」と入力します。

  8. SQL テキスト ウィンドウで、次のステートメントを入力し、[OK] をクリックします。

    SELECT ReportingDate,   
    SUM([Quantity]) as SumQty, AVG([Quantity]) as AvgQty,  
    SUM([Amount]) AS SumAmt, AVG([Amount]) AS AvgAmt,  
    'All Regions' as [Region]  
    FROM dbo.vTimeSeries   
    GROUP BY ReportingDate  
    
  9. AllRegions テーブルを右クリックし、[データの探索] を選択します。

クロス予測の系列データを作成するには

  1. ソリューション エクスプローラーで、[データ ソース ビュー] を右クリックし、[新しいデータ ソース ビュー] を選択します。

  2. データ ソース ビュー ウィザードで、次の項目を選択します。

    データ ソース: Adventure Works DW 多次元 2012

    [テーブルとビューの選択]: テーブルを選択しないでください

    名前: T1000 Pacific Region

  3. [完了] をクリックします。

  4. T1000 Pacific Region.dsv の空のデザイン 画面を右クリックし、[新しい名前付きクエリ] を選択します。

    [ 名前付きクエリの作成 ] ダイアログ ボックスが表示されます。 名前を再入力し、次の説明を追加します。

    名前: T1000 Pacific Region

    説明: 地域とモデルで絞り込むvTimeSeries

  5. テキスト ウィンドウで、次のクエリを入力し、[OK] をクリックします。

    SELECT ReportingDate, ModelRegion, Quantity, Amount  
    FROM dbo.vTimeSeries  
    WHERE (ModelRegion = N'T1000 Pacific')  
    

    系列ごとに予測を個別に作成する必要があるため、クエリ テキストをコピーしてテキスト ファイルに保存し、他のデータ系列に再利用できるようにすることをお勧めします。

  6. [データ ソース ビュー] デザイン 画面で、T1000 Pacific を右クリックし、[ データの探索 ] を選択して、データが正しくフィルター処理されていることを確認します。

    クロス予測クエリを作成するときに、このデータをモデルへの入力として使用します。

このレッスンの次の作業

更新されたデータを使用した時系列予測 (中間データ マイニング チュートリアル)

こちらもご覧ください

Microsoft タイム シリーズ アルゴリズム
Microsoft タイム シリーズ アルゴリズム技術リファレンス
多次元モデルのデータ ソース ビュー