第 4 課:使用 DMX 建立時間序列預測
在這一課和下一課中,您將會使用資料採礦延伸模組 (DMX),根據您在<第 1 課:建立時間序列採礦模型和採礦結構>和<第 2 課:將採礦模型加入時間序列採礦結構中>中建立的時間序列模型來建立不同類型的預測。
有了時間序列模型,您有許多選擇可用來進行預測:
在採礦模型中使用現有的模式和資料。
在採礦模型中使用現有的模式,但是提供新的資料。
將新的資料加入到模型中,或是更新模型。
這些預測類型的語法摘要列在底下:
預設時間序列預測
使用 PredictTimeSeries (DMX) 從定型的採礦模型中傳回指定的預測數目。如需範例,請參閱<PredictTimeSeries (DMX)>或<查詢時間序列模型 (Analysis Services - 資料採礦)>。
EXTEND_MODEL_CASES
搭配 EXTEND_MODEL_CASES 引數使用 PredictTimeSeries (DMX),以便加入新的資料、擴充數列,然後根據更新的採礦模型建立預測。本教學課程包含的範例將示範如何使用 EXTEND_MODEL_CASES。
REPLACE_MODEL_CASES
搭配 REPLACE_MODEL_CASES 引數使用 PredictTimeSeries (DMX) 可使用新的資料數列取代原始資料,然後根據採礦模型中套用到新資料數列的模式來建立預測。如需有關如何使用 REPLACE_MODEL_CASES 的範例,請參閱<第 2 課:建立預測案例 (中繼資料採礦教學課程)>。
課程工作
您將在這一課執行下列工作:
- 根據現有的資料建立查詢來取得預設的預測。
在下一課中,您將會執行下列相關工作:
- 建立查詢來提供新的資料,並取得更新的預測。
除了使用 DMX 手動建立查詢以外,您也可以在 Business Intelligence Development Studio 中使用預測查詢產生器來建立預測。如需詳細資訊,請參閱<使用預測查詢產生器來建立 DMX 預測查詢>或<採礦模型預測索引標籤:如何主題>。
簡單時間序列預測查詢
第一個步驟是搭配 PredictTimeSeries 函數一起使用 SELECT FROM 陳述式來建立時間序列預測。時間序列模型支援用來建立預測的簡化語法:您不需要提供任何輸入,只需要指定所要建立的預測數。以下是您將使用之陳述式的一般範例:
SELECT <select list>
FROM [<mining model name>]
WHERE [<criteria>]
SELECT 清單可包含模型中的資料行,例如您要建立預測或預測函數 (像是專門用於時間序列採礦模型的 Lag (DMX) 或 PredictTimeSeries (DMX)) 的產品線名稱。
若要建立簡單的時間序列預測查詢
在 [物件總管] 中,以滑鼠右鍵按一下 Analysis Services 的執行個體、指向 [新增查詢],然後按一下 [DMX]。
此時會開啟 [查詢編輯器] 且包含新的空白查詢。
將此陳述式的一般範例複製到空白查詢中。
取代下列項目:
<select list>
成為:
[Forecasting_MIXED].[ModelRegion], PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty, PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt
第一行會從可識別此數列的採礦模型中擷取值。
第二行和第三行會使用 PredictTimeSeries 函數。每一行都會預測不同的屬性 ([Quantity] 或 [Amount])。可預測屬性名稱後面的數字會指定所要預測的時間步驟數。
AS 子句是用來針對每一個預測函數傳回的資料行提供一個名稱。如果您不提供別名,則當傳回這兩個資料行時,預設都會將其加上 Expression 標籤。
取代下列項目:
[<mining model>]
成為:
[Forecasting_MIXED]
取代下列項目:
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'
按一下 [檔案] 功能表上的 [將 DMXQuery1.dmx 另存為]。
在 [另存新檔] 對話方塊中,瀏覽至適當的資料夾,並將檔案命名為 SimpleTimeSeriesPrediction.dmx。
在工具列上按一下 [執行] 按鈕。
此查詢會針對 WHERE 子句中指定之產品和區域的兩個組合,每個組合各傳回 6 個預測。
在下一課中,您將會建立查詢來提供新資料給模型,然後將該項預測的結果與您剛才建立的預測做比較。