Share via


第 4 課:使用 DMX 建立時間序列預測

 

適用於: SQL Server 2016 Preview

在這一課和下一課,您將使用資料採礦延伸模組 (DMX) 建立不同類型的根據您在建立時間序列模型的預測 第 1 課︰ 建立時間序列採礦模型和採礦結構第 2 課︰ 將採礦模型加入時間序列採礦結構

有了時間序列模型,您有許多選擇可用來進行預測:

  • 在採礦模型中使用現有的模式和資料。

  • 在採礦模型中使用現有的模式,但是提供新的資料。

  • 將新的資料加入到模型中,或是更新模型。

這些預測類型的語法摘要列在底下:

預設時間序列預測
使用 PredictTimeSeries ( DMX ) 從定型的採礦模型傳回預測指定的數目。

例如,請參閱 PredictTimeSeries ( DMX )時間序列模型查詢範例

EXTEND_MODEL_CASES
使用 PredictTimeSeries ( DMX ) 搭配 EXTEND_MODEL_CASES 引數來加入新的資料,擴充數列,並根據更新的採礦模型建立預測。

本教學課程包含的範例將示範如何使用 EXTEND_MODEL_CASES。

REPLACE_MODEL_CASES
使用 PredictTimeSeries ( DMX ) 搭配 REPLACE_MODEL_CASES 引數,以使用新的資料數列取代原始資料,然後再建立根據採礦模型中的模式套用到新的資料數列的預測。

如需如何使用 REPLACE_MODEL_CASES 的範例,請參閱 第 2 課︰ 建立預測的案例 #40; 中繼資料採礦教學課程 )

課程工作

您將在這一課執行下列工作:

  • 根據現有的資料建立查詢來取得預設的預測。

在下一課中,您將會執行下列相關工作:

  • 建立查詢來提供新的資料,並取得更新的預測。

除了使用 DMX 手動建立查詢以外,您也可以在 SQL Server Data Tools (SSDT) 中使用預測查詢產生器來建立預測。

簡單時間序列預測查詢

第一個步驟是使用 SELECT FROM 陳述式搭配 PredictTimeSeries 函式來建立時間序列預測。 時間序列模型支援用來建立預測的簡化語法:您不需要提供任何輸入,只需要指定所要建立的預測數。 以下是您將使用之陳述式的一般範例:

SELECT <select list>   
FROM [<mining model name>]   
WHERE [<criteria>]  

選取清單可包含模型中的資料行,例如產品名稱的行,您要建立預測或預測函數,例如 延隔時間 #40; DMX )PredictTimeSeries ( DMX ), ,專門用於時間序列採礦模型。

若要建立簡單的時間序列預測查詢

  1. 物件總管] 中, ,以滑鼠右鍵按一下 [執行個體 Analysis Services, ,指向 新查詢, ,然後按一下 [ DMX

    此時會開啟 [查詢編輯器] 且包含新的空白查詢。

  2. 將此陳述式的一般範例複製到空白查詢中。

  3. 取代下列項目:

    <select list>   
    

    成為:

    [Forecasting_MIXED].[ModelRegion],  
    PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty,  
    PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt  
    

    第一行會從可識別此數列的採礦模型中擷取值。

    第二個和第三條線使用 PredictTimeSeries 函式。 每一行都會預測不同的屬性 ([Quantity][Amount])。 可預測屬性名稱後面的數字會指定所要預測的時間步驟數。

    AS 子句用來提供每一個預測函數所傳回的資料行的名稱。 如果您不提供別名,則當傳回這兩個資料行時,預設都會將其加上 Expression 標籤。

  4. 取代下列項目:

    [<mining model>]   
    

    成為:

    [Forecasting_MIXED]  
    
  5. 取代下列項目:

    WHERE [criteria>]   
    

    成為:

    WHERE [ModelRegion] = 'M200 Europe' OR  
    [ModelRegion] = 'M200 Pacific'  
    

    現在,完整的陳述式應該如下所示:

    SELECT  
    [Forecasting_MIXED].[ModelRegion],  
    PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty,  
    PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt  
    FROM   
    [Forecasting_MIXED]  
    WHERE [ModelRegion] = 'M200 Europe' OR  
    [ModelRegion] = 'M200 Pacific'  
    
  6. 檔案 ] 功能表上,按一下 [ 另存 DMXQuery1.dmx 為

  7. 另存新檔 對話方塊中,瀏覽至適當的資料夾,並將檔案 SimpleTimeSeriesPrediction.dmx

  8. 在工具列上,按一下 [ Execute ] 按鈕。

    此查詢會傳回每個產品與區域中所指定的兩個組合 6 預測 其中 子句。

在下一課中,您將會建立查詢來提供新資料給模型,然後將該項預測的結果與您剛才建立的預測做比較。

本課程的下一項工作

第 5 課:擴充時間序列模型

另請參閱

PredictTimeSeries (DMX)
Lag (DMX)
時間序列模型查詢範例
第 2 課︰ 建立預測狀況 #40; 中繼資料採礦教學課程 )