共用方式為


建立時間序列預測 (元數據採礦教學課程)

在本課程的先前工作中,您已建立時間序列模型並探索結果。 根據預設,Analysis Services 一律會為時間序列模型建立一組五(5)個預測,並將預測值顯示為預測圖表的一部分。 不過,您也可以建立數據採礦延伸模組 (DMX) 預測查詢來建立預測。

在這項工作中,您將建立預測查詢,以產生您在查看器中看到的相同預測。 此工作假設您已經完成基本數據採礦教學課程中的課程,並熟悉如何使用預測查詢產生器。 您現在將瞭解如何建立時間序列模型特定的查詢。

建立時間序列預測

一般而言,建立預測查詢的第一個步驟是選取採礦模型和輸入數據表。 不過,時間序列模型不需要定期預測的額外輸入。 因此,除非您將數據加入模型或取代數據,否則在進行預測時,您不需要指定新的數據源。

在這一課,您必須指定預測步驟的數目。 您可以指定系列名稱,以取得某產品與區域的預測。

選取模型和輸入數據表

  1. 在數據採礦設計師的 [ 採礦模型預測 ] 索引標籤上,按兩下 [ 採礦模型 ] 方塊中的 [ 選取模型]。

  2. 在 [ 選取採礦模型] 對話框中,展開 [預測結構],從清單中選取 [預測 模型],然後按兩下 [ 確定]。

  3. 忽略 [ 選取輸入數據表] 方塊。

    備註

    針對時間序列模型,除非您進行交叉預測,否則不需要指定個別的輸入。

  4. 在 [ 來源] 數據行的 [ 採礦模型預測 ] 索引標籤的方格中,按兩下第一個空白數據列中的儲存格,然後選取 [預測採礦模型]。

  5. 在 [ 欄位] 資料 行中,選取 [模型區域]。

    此動作會將數列標識元新增至預測查詢,以指出套用預測的模型和區域組合。

  6. 按兩下 [來源 ] 資料行中的下一個空白資料列,然後選取 [預測函數]。

  7. 在 [ 字段] 數據行中,選取 [PredictTimeSeries]。

    備註

    您也可以使用 Predict 函數搭配時間序列模型。 不過,根據預設,Predict 函式只會為每個數列建立一個預測。 因此,若要指定多個預測步驟,您必須使用 PredictTimeSeries 函式。

  8. 在 [採礦模型] 窗格中,選取 [採礦模型] 數據行 [數量]。針對您稍早新增的 PredictTimeSeries 函式,將 [數量] 拖曳至 [準則/自變數] 方塊。

  9. 點擊 準則/參數 方塊,然後在欄位名稱後輸入逗號,接著 5

    準則/參數方塊中的文字現在應該顯示以下內容:

    [Forecasting].[Amount],5

  10. [別名] 資料列中,輸入 PredictAmount

  11. 按兩下 [來源 ] 資料行中的下一個空白數據列,然後再次選取 [預測函數 ]。

  12. 在 [ 字段] 數據行中,選取 [PredictTimeSeries]。

  13. 在 [採礦模型] 窗格中,選取 [數量] 數據行,然後將它拖曳到第二個 PredictTimeSeries 函式的 [準則/自變數] 方塊中。

  14. 點擊準則/參數方塊,然後在欄位名稱後輸入逗號,接著5

    準則/參數方塊中的文字現在應該會顯示下列內容:

    [Forecasting].[ Quantity],5

  15. [別名] 資料列中,輸入 PredictQuantity

  16. 按一下 切換至查詢結果檢視

    查詢的結果會以表格式格式顯示。

請記住,您在查詢產生器中建立了三種不同類型的結果,一種使用數據行中的值,另一種是從預測函式取得預測值。 因此,查詢的結果包含三個不同的數據行。 第一個數據行包含產品和區域組合的清單。 第二個和第三個數據行各包含一個巢狀的預測結果數據表。 每個巢狀數據表都包含時間步驟和預測值,例如下表:

範例結果(數量會截斷為兩個小數字數):

M200 歐洲預測金額

$TIME 總數
7/25/2008 99978.00
8/25/2008 145575.07
9/25/2008 116835.19
10/25/2008 116537.38
11/25/2008 107760.55

M200 Europe PredictQuantity

$TIME 數量
7/25/2008 52
8/25/2008 67
9/25/2008 58
10/25/2008 57
11/25/2008 54

M200 北美洲 - PredictAmount

$TIME 總數
7/25/2008 348533.93
8/25/2008 340097.98
9/25/2008 257986.19
10/25/2008 374658.24
11/25/2008 379241.44

M200 北美洲 - PredictQuantity

$TIME 數量
7/25/2008 272
8/25/2008 152
9/25/2008 250
10/25/2008 181
11/25/2008 290

警告

此版本範例資料庫中所使用的日期已變更。 如果您使用舊版的範例數據,您可能會看到不同的結果。

儲存預測結果

您有數種不同的選項可用來使用預測結果。 您可以扁平化結果、從 [結果] 檢視複製數據,然後將它貼到 Excel 工作表或其他檔案中。

為了簡化儲存結果的程式,數據採礦設計師也提供將數據儲存至數據源檢視的功能。 儲存結果至數據源檢視的功能僅適用於 SQL Server Data Tools (SSDT)。 結果只能以扁平化格式儲存。

在 [結果] 窗格中扁平化結果

  1. 在 [預測查詢產生器] 中,按兩下 [切換至查詢設計檢視]。

    檢視會變更為允許手動編輯 DMX 查詢文字。

  2. SELECT 關鍵詞後面輸入 FLATTENED 關鍵詞。 完整的查詢文字應如下所示:

    SELECT FLATTENED  
      [Forecasting].[Model Region],  
      (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount],  
      (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity]  
    FROM  
      [Forecasting]  
    
  3. 您可以選擇性地輸入 子句來限制結果,例如下列範例:

    SELECT FLATTENED  
      [Forecasting].[Model Region],  
      (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount],  
      (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity]  
    FROM  
      [Forecasting]  
    WHERE [Forecasting].[Model Region] = 'M200 North America'   
    OR [Forecasting].[Model Region] = 'M200 Europe'  
    
    
  4. 按一下 切換至查詢結果檢視

匯出預測查詢結果

  1. 按兩下 [ 儲存查詢結果]。

  2. 在 [ 儲存數據採礦查詢結果 ] 對話框中,針對 [數據源],選取 [AdventureWorksDW2012]。 如果您想要將數據儲存至不同的關係資料庫,也可以建立數據源。

  3. 在 [ 數據表名稱] 資料行中,輸入新的臨時表名稱,例如 測試預測

  4. 點選 [儲存]。

    備註

    若要檢視您所建立的數據表,請建立與儲存數據之實例的資料庫引擎連接,並建立查詢。

結論

您已瞭解如何建置基本的時間序列模型、解譯預測,以及建立預測。

本教學課程中的其餘工作是選擇性的,並描述進階時間序列預測。 如果您決定繼續,您將瞭解如何將新數據新增至模型,並在擴充數列上建立預測。 您也將瞭解如何使用模型中的趨勢來執行交叉預測,但以新的一系列數據取代數據。

下一課

進階時間序列預測 (元數據採礦教學課程)

另請參閱

時間序列模型查詢範例