天天看點

在SAS中進行關聯規則分析

From http://www.itongji.cn/article/091010352012.html

從SAS頂端的【解決方案(S)】菜單下調出企業資料挖掘(也可以通過在指令行輸入miner):

在SAS中進行關聯規則分析

SAS/EM的初始界面如下:

在SAS中進行關聯規則分析

接下來,将資料挖掘外接程式示例資料集中的Associate表導入SAS邏輯庫。先将xlsx檔案另存為xls檔案,再輕按兩下SAS資料總管中的邏輯庫,從【檔案(F)】菜單下調出【導入資料】對話框:

在SAS中進行關聯規則分析
在SAS中進行關聯規則分析

點選【Next >】,選擇xls檔案及相應的工作表:

在SAS中進行關聯規則分析

點選【Next >】,選擇相應的SAS邏輯庫并命名:

在SAS中進行關聯規則分析

點選【Finish】,完成資料導入操作。回到SAS/EM界面,輕按兩下Untitled節點并重命名為Analysis。

滑鼠左鍵按住上方工具欄中的【Input Data Source】節點不放,拖入右邊的空白區域之後再放開滑鼠,此時SAS/EM界面如下:

在SAS中進行關聯規則分析

輕按兩下剛剛拖入的【Input Data Source】節點,選擇前面導入的資料集Sasuser.Associate:

在SAS中進行關聯規則分析

切換到【Variables】頁籤,在【Model Role】列【CATEGORY】行處點選右鍵,選擇【Set Model Role】菜單:

在SAS中進行關聯規則分析

分别将【CATEGORY】行設定為target,其他兩行設定為rejected:

在SAS中進行關聯規則分析

關閉對話框,詢問是否儲存變化時,點選【是(Y)】。若關閉SAS後重新打開EM項目時彈出Diagram被鎖,則删除emproj檔案夾中字尾是.lck的檔案即可繼續編輯。

滑鼠左鍵按住上方工具欄中的【Association】節點不放,拖入右邊的空白區域之後再放開滑鼠。将滑鼠移向旁邊的【SASUSER.ASSOCIATE】節點周圍,當變成十字型時,滑鼠左鍵按住不放,拖向【Association】節點,此時SAS/EM界面如下:

在SAS中進行關聯規則分析

輕按兩下右邊的【Association】節點在SAS中進行資料挖掘之關聯規則圖示,切換到【General】頁籤的界面如下:

在SAS中進行關聯規則分析

預設的分析模式是【By Context】,它根據輸入資料源的結點資訊選擇合适的分析方法。如果輸入資料集包括一個id變量和target變量,該結點自動執行關聯分析。下面的選項是設定關聯最小支援度、項集最大數目和規則最小置信度。

關閉【Association】對話框,右鍵【Association】節點圖示,在彈出的下拉選項中選擇【Run】,得到運作結果如下:

在SAS中進行關聯規則分析

此時在【Rules】頁籤上右鍵單擊,會彈出檢視圖形菜單:

在SAS中進行關聯規則分析

選擇【圖形(G)】之後,将視窗拉伸到合适的寬度,有些圖例需要拉到更寬才會顯示出來,結果界面如下:

在SAS中進行關聯規則分析

前面結果表中的19條關聯規則都展現在這張圖裡面,此圖的資訊量比較大。我們以右下方的圓圈為例來解讀它的含義:從縱橫坐标軸來看,此圓圈對應表中的第11條關聯規則,即{Road Bikes ==> Jerseys};從圓圈标示對應的圖例來看,它表示置信度(Confidence)在20.24%到24.13%區間内,從表中可以看出實際值為20.26%;從圓圈的顔色對應的圖例來看,它表示支援度(Support)在3.12%到3.78%區間内,從表中可以看出實際值為3.68%;圓圈的大小表示提升度(Lift)的大小,從表中可以看出實際值為1.34。

上面提到的置信度(Confidence)、支援度(Support)、提升度(Lift)是關聯發現的三個重要評價名額,它們都是怎麼計算出來的呢?我們還是以前面提到的第11條關聯規則{Road Bikes ==> Jerseys}為例進行說明:

先簡單統計一下資料源中相關資料,總共13050個訂單,其中有購買Road Bikes訂單的2369個,有購買Jerseys的訂單1978個,同時購買了Road Bikes和Jerseys的訂單480個,計算以下幾個機率:

P(Road Bikes) = 2369/13050 = 18.15%

P(Jerseys) = 1978/13050 = 15.16%

P(Road Bikes & Jerseys) = 480/13050 = 3.68%

置信度Confidence(Road Bikes ==> Jerseys)表示在客戶購買Road Bikes的條件下,同時又購買Jerseys的機率,即P(Jerseys|Road Bikes) = P(Road Bikes & Jerseys)/P(Road Bikes) = 3.68%/18.15% = 20.26%。置信度越高,說明相關聯的商品被交叉銷售的機會越大。

支援度Support(Road Bikes ==> Jerseys)表示客戶同時購買過Road Bikes和Jerseys的機率,即P(Road Bikes & Jerseys) = 3.68%。支援度越高,說明相關聯的商品被同時購買的越頻繁。

提升度Lift(Road Bikes ==> Jerseys)表示使用關聯規則可以提升的倍數,是置信度與期望置信度的比值,公式為Confidence(Road Bikes ==> Jerseys)/P(Jerseys) = 20.26%/15.16% = 1.34。

在進行關聯規則的資料挖掘中,通過指定這三個标準的最小值,三個标準的值都大于臨界值的關聯規則就被列出。而且以上這三個标準缺一不可,孤立地使用這三個标準中的任意一個,都可能導緻錯誤結果。

當某種常見現象出現在關聯規則右邊時,高置信度也會産生誤導。比如以下幾條規則的置信度都比較高,但幾乎是沒有作用的規則:“買友善面則買牛奶”、“買牙刷則買牛奶”、“喜歡野外休閑則會買牛奶”等等。這一類規則的置信度和支援度都會比較高,因為很少有人會不買牛奶。但這一類規則沒有任何作用。

在關聯規則結果界面是檢視表的情況下,還可以在檢視菜單下選擇【生成表子集(S)...】,通過設定篩選出想要的關聯規則出來,例如下圖是在【Confidence】頁籤中設定最小置信度為26:

在SAS中進行關聯規則分析

點選【Process】後,結果将篩選出8條關聯規則。

在置信度(Confidence)、支援度(Support)、提升度(Lift)這三個重要評價名額之中,提升度是最有可能單獨使用而不緻産生誤導的标準,因為它可以測量關聯規則增進預測右邊現象的能力。但如果該規則的支援度很低,該規則也可能造成誤導。

除了以上三個對關聯規則的數量标準外,一條關聯規則真正可取,還需要具備以下兩個條件:一是該規則必須是人們常識之外、意料之外的關聯,二是該規則必須具有潛在的作用,而目前任何技術與算法都無法判斷哪些知識屬于常識,也無法判斷哪些屬于可能具有潛在作用的規則,是以關聯規則的挖掘離不開人的作用。

繼續閱讀