現在您已經了解排班、操作員數目、電話,以及服務等級之間的互動關係,接著就可以準備建立一些用來進行商務分析和規劃的預測查詢。 您將先針對探勘模型建立一些預測,以測試一些假設。 接著您將使用羅吉斯迴歸模型建立大量預測。
本課程假設您已熟悉預測查詢的概念。
使用類神經網路模型建立預測
下列範例示範如何使用為了探索資料所建立的類神經網路模型進行單一預測。 單一預測可以讓您嘗試不同的值,是觀察在模型中會產生何種效果的好方法。 在這個案例中,您將預測如果有六個經驗豐富的操作員值班,大夜班 (未指定星期幾) 的服務等級將是哪個等級。
若要使用類神經網路模型建立單一查詢
在 SQL Server 資料工具 (SSDT) 中,開啟包含您要使用之模型的方案。
按一下資料採礦設計師中的 [採礦模型預測] 索引標籤。
在 [採礦模型] 窗格中,按一下 [選取模型]。
[選取採礦模型] 對話方塊會顯示採礦結構的清單。 展開採礦結構,檢視與該結構相關聯之採礦模型的清單。
展開採礦結構 [Call Center Default],並選取類神經網路模型 [Call Center - LR]。
從 [採礦模型] 功能表中選取 [單一查詢]。
[單一查詢輸入] 對話方塊隨即出現,其中的資料行會對應到採礦模型中的資料行。
在 [單一查詢輸入] 對話方塊中,按一下 [Shift] 的資料列,然後選取 [midnight]。
按一下 [Lvl 2 Operators] 的資料列,然後輸入 6。
在 [採礦模型預測] 索引標籤的下半部,按一下方格中的第一個資料列。
在 [來源] 資料行中,按一下向下箭頭,然後選取 [預測函數]。 在 [欄位] 資料行中,選取 [PredictHistogram]。
您可以搭配此預測函數使用的引數清單會自動出現在 [準則/引數] 方塊中。
將 [ServiceGrade ] 資料行從 [採礦模型] 窗格的資料行清單拖曳到 [準則/引數] 方塊中。
資料行的名稱會自動插入做為引數。 您可以選擇任何可預測的屬性資料行,將其拖曳至此文字方塊中。
按一下預測查詢產生器上方角落的 [切換到查詢結果檢視] 按鈕。
結果應該會包含每個服務等級在這些輸入條件下可能產生的預測值,以及每個預測的支援和機率。 您可以隨時返回設計檢視並變更輸入,或加入更多輸入。
使用羅吉斯迴歸模型建立預測
如果您已經知道與商務問題相關的屬性,則可以使用羅吉斯迴歸模型,預測變更某些屬性後所造成的效果。 羅吉斯迴歸是一種統計方法,通常會以獨立變數中的變更為依據來進行預測:以財務計分為例,此方法會依據客戶人口統計資料來預測客戶行為。
在此工作中,您將學習如何建立用於預測的資料來源,然後進行預測以協助回答數個商務問題。
產生用於大量預測的資料
有許多方法可以提供輸入資料:例如,您可以可從試算表匯入人員雇用層級,並利用該模型來執行這份資料,從而預測下個月的服務品質。
在這一課,您將使用資料來源檢視設計工具來建立具名查詢。 這個具名查詢是一個自訂 Transact-SQL 陳述式,可針對每個排班來計算排班操作員人數上限、接聽電話下限,以及所產生的平均問題數目。 然後您會將該資料聯結至採礦模型,進行有關一系列未來日期的預測。
若要產生用於大量預測查詢的輸入資料
在 [方案總管] 中,以滑鼠右鍵按一下 [資料來源檢視],然後選取 [新增資料來源檢視]。
在 [資料來源檢視精靈] 中,選取 Adventure Works DW Multidimensional 2012 做為資料來源,然後按 [下一步]。
在 [選取資料表和檢視表] 頁面上,按 [下一步],但不選取任何資料表。
在 [正在完成精靈] 頁面上,輸入名稱 Shifts。
這個名稱會顯示在 [方案總管] 中,做為資料來源檢視的名稱。
以滑鼠右鍵按一下空的設計窗格,然後選取 [新增具名查詢]。
在 [建立具名查詢] 對話方塊的 [名稱] 中,輸入 Shifts for Call Center。
這個名稱會顯示在 [資料來源檢視設計師] 中,但只會做為具名查詢的名稱。
將下列查詢陳述式貼到對話方塊下半部的 SQL 文字窗格中。
SELECT DISTINCT WageType, Shift, AVG(Orders) as AvgOrders, MIN(Orders) as MinOrders, MAX(Orders) as MaxOrders, AVG(Calls) as AvgCalls, MIN(Calls) as MinCalls, MAX(Calls) as MaxCalls, AVG(LevelTwoOperators) as AvgOperators, MIN(LevelTwoOperators) as MinOperators, MAX(LevelTwoOperators) as MaxOperators, AVG(IssuesRaised) as AvgIssues, MIN(IssuesRaised) as MinIssues, MAX(IssuesRaised) as MaxIssues FROM dbo.FactCallCenter GROUP BY Shift, WageType在設計窗格中,以滑鼠右鍵按一下資料表 [Shifts for Call Center],然後選取 [瀏覽資料] 來預覽 T-SQL 查詢所傳回的資料。
以滑鼠右鍵按一下 [Shifts.dsv (Design)] 索引標籤,然後按一下 [儲存] 來儲存新的資料來源檢視定義。
預測每個排班的服務標準
現在您已經為每個排班產生一些值,您將使用這些值做為您所建立之羅吉斯迴歸模型的輸入,以產生可用於商務計畫的一些預測。
若要使用新的 DSV 做為預測查詢的輸入
按一下資料採礦設計師中的 [採礦模型預測] 索引標籤。
在 [採礦模型] 窗格中,按一下 [選取模型],然後從可用模型的清單中選擇 [Call Center - LR]。
從 [採礦模型] 功能表清除 [單一查詢] 選項。 此時會出現一個警告,告知您將會失去單一查詢輸入。 按一下 [確定]。
[選取輸入資料表] 對話方塊便會取代 [單一查詢輸入] 對話方塊。
按一下 [選取案例資料表]。
在 [選取資料表] 對話方塊中,從資料來源清單選取[Shifts]。 在 [資料表/檢視表名稱] 清單中,選取 [Shifts for Call Center] (可能會自動選取),然後按一下 [確定]。
[採礦模型預測] 設計介面經過更新,以顯示根據輸入資料和模型中的資料行名稱與資料類型所建立的對應。
以滑鼠右鍵按一下其中一條聯結線,然後選取 [修改連接]。
在此對話方塊中,您可以清楚地看到對應的資料行以及沒有對應的資料行。 採礦模型包含 Calls、Orders、IssuesRaised,以及 LvlTwoOperators 的資料行,您可以將這些資料行對應到您在來源資料中根據這些資料行所建立的任何彙總。 在這個案例中,您將對應到平均值。
按一下 LevelTwoOperators 旁邊的空資料格,然後選取 [Shifts for Call Center.AvgOperators]。
按一下 Calls 旁邊的空資料格,然後選取 [Shifts for Call Center.AvgCalls]。 再按一下 [確定]。
若要建立每個排班的預測
在 [預測查詢產生器] 下半部的方格中,按一下 [來源] 下的空資料格,然後選取 [Shifts for Call Center]。
在 [欄位] 下的空資料格中,選取 [Shift]。
按一下方格中的下一個空行,然後重複上述的程序,為 [WageType] 加入另一個資料列。
在方格中,按下一個空行。 在 [來源] 資料行中,選取 [預測函數]。 在 [欄位] 資料行中,選取 [Predict]。
將 ServiceGrade 資料行從 [採礦模型] 窗格向下拖曳到方格中的 [準則/引數] 資料格中。 在 [別名] 欄位中,輸入預測的服務等級。
在方格中,按下一個空行。 在 [來源] 資料行中,選取 [預測函數]。 在 [欄位] 資料行中,選取 [PredictProbability]。
將 ServiceGrade 資料行從 [採礦模型] 窗格向下拖曳到方格中的 [準則/引數] 資料格中。 在 [別名] 欄位中,輸入機率。
按一下 [切換到查詢結果檢視] 來檢視預測。
下表顯示每個排班的範例結果。
Shift |
WageType |
預測的服務等級 |
機率 |
|---|---|---|---|
AM |
假日 |
0.165 |
0.377520666 |
midnight |
假日 |
0.105 |
0.364105573 |
PM1 |
假日 |
0.165 |
0.40056055 |
PM2 |
假日 |
0.165 |
0.338532973 |
AM |
weekday |
0.165 |
0.370847617 |
midnight |
weekday |
0.08 |
0.352999173 |
PM1 |
weekday |
0.165 |
0.317419177 |
PM2 |
weekday |
0.105 |
0.311672027 |
預測回應時間縮短對於服務等級的影響
您已經為每個排班產生一些平均值,並且使用這些值做為羅吉斯迴歸模型的輸入。 不過,因為商務目標是要將放棄率保持在 0.00-0.05 的範圍內,這樣結果並不令人滿意。
根據原始的模型看來,回應時間對於服務等級具有顯著的影響,因此營業小組決定執行一些預測,評估降低回應來電的平均時間是否可以提升服務品質。 例如,如果您將來電回應時間縮短為目前來電回應時間的 90% 甚至 80%,服務等級值會發生什麼情況?
建立計算每個排班之平均回應時間的資料來源檢視 (DSV),然後新增資料行來計算該平均回應時間的 80% 或 90% 是相當容易的工作。 接著,您就可以使用 DSV 做為模型的輸入。
雖然這裡未顯示確切的步驟,但下表會比較當您將回應時間縮短為目前回應時間的 80% 或 90% 時,對服務等級造成的影響。
您可以從這些結果得出結論,也就是針對目標排班,應該將回應時間縮短為目前速率的 90%,以改進服務品質。
排班、薪資和星期幾 |
使用目前的平均回應時間時,預測的服務品質 |
回應時間縮短為 90% 時,預測的服務品質 |
回應時間縮短為 80% 時,預測的服務品質 |
|---|---|---|---|
假日 AM |
0.165 |
0.05 |
0.05 |
假日 PM1 |
0.05 |
0.05 |
0.05 |
假日 Midnight |
0.165 |
0.05 |
0.05 |
您還可以在此模型上建立各種其他的預測查詢。 例如,您可以預測需要多少位操作員,才能達到特定的服務等級或者回應特定的來電數目。 因為在羅吉斯迴歸模型中可以加入多個輸出,所以您可以輕鬆地試驗不同的獨立變數與結果,而不需要建立許多個別的模型。
備註
適用於 Excel 2007 的資料採礦增益集提供羅吉斯迴歸精靈,讓您輕鬆回應複雜的問題,例如,需要多少位二級操作員,才能將某個排班的服務等級提升至目標等級。 您可以免費下載資料採礦增益集,其中包含類神經網路或羅吉斯迴歸演算法的精靈。 如需詳細資訊,請參閱下列連結:
適用於 Office 2005 的 SQL Server 2008 資料採礦增益集:搜尋目標與假設狀況分析
適用於 Office 2007 的 SQL Server 2008 資料採礦增益集:搜尋目標狀況分析、假設狀況分析及預測計算器
結論
您已經學到如何建立、自訂與解譯以 Microsoft 類神經網路演算法和 Microsoft 羅吉斯迴歸演算法為基礎的採礦模型。 這些模型類型相當複雜,在分析方式上也可以有無限的變化,因此可能相當複雜且難以上手。
不過,這些演算法會逐一查看許多因數組合,並自動識別最強的互相關聯,為洞察力提供統計資料的支援,但在使用 Transact-SQL 或甚至 PowerPivot 手動瀏覽資料時難以發現此洞察力。