사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS E-Miner 활용하기
[EM] Association vs Market Basket 2017.10.16
임진영 714 4
http://www.mysas.co.kr/SAS_tiptech/j_eminer.asp?b_no=7481&gotopage=1&con=subject&keyword=&cmd=content&bd_no=29&gubun=

 

SAS E-Miner 활용하기


 연관성 분석 노드 (Association) 장바구니 분석 노드 (Market Basket)에 대해서 기본적인 이론 개요  노드 활용 시에 차이점에 대해서 말씀드리겠습니다.

 

 

연관성 노드 및 MB노드

 

 SAS 데이터 마이닝 프로세스(SEMMA)에서 탐색(explore)범주에 속합니다연관성 노드(Association)를 사용하여 연관성 분석 및 순차 연관성 분석을 수행 할 수 있고 마켓 바스켓 노드(Market Basket)를 사용하여 항목 분류와 관련하여 거래(transaction) 데이터에 대한 연관 규칙 마이닝을 수행할 수 있습니다.

 

 

세가지 분석 모두 목적은 같습니다.



 여러 항목들로 구성되어 있는 연관성 규칙(association rule)을 도출하는 탐색적 모델링 방법으로서 주어진 사건(event)에서 함께 발생하는 항목들(items)를 식별해줍니다. 즉 거래(transaction)와 항목(items)으로 구성되어 있는 data set에서 빈번하게 발생하는 항목들의 규칙을 찾아 내주는 것이죠. 

 

 

 

 

세가지 분석의 차이점에 대해서 알아보겠습니다.




 

 

  연관성 분석(association analysis)은 현재까지 거래된 모든 가능한 품목들(item)의 조합을 고려해줍니다.

 ​그리고 각 품목들을 독립적인 것으로 판단하여 연관 규칙을 만들어줍니다.


  

 순차 연관성 분석(Sequence association analysis)은 고객이 구매 한 제품이 어떠한 순서로 판매되는지를 알 수 있습니다연관성 분석과 장바구니 분석은 품목들(items)간의 선후 관계를 고려하지 않고 규칙을 생성하지만  순차 연관성 분석은 한 걸음 더 나아가 항목 간의 관계의 순서를 고려하여 규칙을 생성 합니다.


시간의 순서를 나타내는 Sequence data가 포함된 input data를 이용하여 순차 연관성 분석을 진행합니다.

 (이때에 생성되는 규칙 A ==> B event A 발생한 후에 event B 발생 함을 의미합니다.)



 장바구니분석 (Market Basket analysis) 거래에서 고객이 구매 제품들의 조합을 알려줍니다.
연관성 분석에서 생성되는 규칙에서 하나 추가하여 품목들(items) 세부 정보가 포함된 taxonomy 데이터 정보를 이용하여 품목들의 hierarchical 관계를 고려 규칙을 생성합니다.


* taxonomy 흔히 계층구조로 이루어진 부모-자식 관계를 표현하는 입니다. 예를 들어 사과, , 포도는 과일류”, 치즈, 우유 등은 유제품이런 식으로 관계를 표현하는 것이죠.  Item taxonomy 상품 분류법 정도로 해석하시면 이해하시기 편하실 겁니다.


 

차이를 살펴보았으니 실제 데이터를 이용하여 SAS E-miner 통해 분석을 진행해 보겠습니다.




Data set 설명

 

 - Prodsales

 

연관성 분석에 사용할 data set입니다. Customer ( ID 사용) Item ( Target으로 사용)으로 이루어져 있습니다데이터 역할은 Transaction 이며 ID Target 제외하고는 별다른 변수가 존재 하지 않습니다.



- Prodhierarchy

 

장바구니 분석에 사용할 data set입니다. 선행 데이터는 연관성 분석에 사용되는 Prodsales 같지만 데이터는 품목들의 계층적 관계를 나타내주는 차원 데이터셋 ( Dimesion Data Set) 으로 사용됩니다.



- Assocs

 

순차 연관성 분석에 사용할 data set 입니다. 분석에 쓰이는 노드는 연관성 분석과 동일하지만 앞서 설명한 바와 같이 품목들 간의 선후관계를 고려하기 위하여 data set에는 TIME 이라는 변수가 추가되었습니다.

 

 

 

1. 연관성 분석 (Association Analysis)

 

먼저 연관성 분석을 진행하겠습니다.  

 

Customer 역할은 ID Item 역할은 Target으로 설정해 줍니다.

그리고 Data 역할은 보시는 바와 같이 Transaction으로 바꿔줍니다.



연관성 분석 노드의 설정 입니다.

 


최대 항목(Maximum Items)에서는 규칙에 고려되는 최대 항목의 수를 결정할 있고

최소 신뢰도 수준(Minimum Confidence Level)에서는 규칙 생성시 최소 Confidence 수준을 설정 있습니다.

지지도 유형 (Support Type) 백분율과 빈도 두개 중에 선택해서 설정 가능합니다.





 

 보기 규칙 창에서 분석결과에 대해서 노드 실행 결과를 확인 있습니다.



 

규칙 테이블을 살펴 보면 이와 같이 신뢰도, 지지도, 향상도 등을 확인가능 합니다.

 

 

규칙 테이블에 나온 첫번째 [Pancakes ==> Cheddar Cheese] 살펴보면 Confidence(%) = 100%, Support(%) = 33.33%, Lift = 3.00 확인 있습니다.

이는 Pancakes Cheddar Cheese 함께 나타난 빈도가 100% 이며 Pancakes ==> Cheddar Cheese 규칙이 전체 data set 33.33% 나타났다는 것을 있습니다.


Lift 값이 3이라는 뜻은 Pancakes Cheddar Cheese 양의 상관관계를 갖는 것을 있습니다.

 

 

 

2. 장바구니 분석 (Market Basket Analysis)


 

장바구니 분석 노드의 속성 창에서 계층(Hierarchy) 창을 보면 data set 지정할 있는 두개의 옵션 존재합니다. 차원 데이터 (Dimension Data Set) 실제 계층적인 관계를 고려하여 분석을 진행하기 위한 data set 설정 있습니다. 앞서 말했듯이 계층적 구조를 설명해주는 data set “Prodhierarchy” 차원 데이터셋으로 설정해줍니다.

 


 

 

다음은 매핑(Mapping)입니다. PARENT 에는 ParentProd 변수로, CHILD에는 Product 변수 지정 해주고

확인을 눌러 줍니다.


 

분석을 실행하면 통계량 도표, 통계량 도표 항목 통계량 등을 확인 하실 있습니다.

규칙테이블을 보면 기존 품목들 간의 관계뿐만 아니라 설정해준 품목간의 계층적 관계까지 고려하여

규칙을 생성해 주는 것을 있습니다.

 


장바구니 분석 노드를 사용하여 분석을 실행할 시에 연관성분석과 노드설정창을 동일하게 설정하면 같은 결과가 나오게 됩니다. 다만 다른 설정을 해주지 않는다면 장바구니 분석에서는 Lift값이 1보다 작은 음의 상관관계를 갖는 규칙은 생성되지 않습니다.

 

 

 

3. 순차 연관성 분석 (Sequence Association Analysis)

 

 

 

순차 연관성 분석을 하기위해서는 연관성 분석과 동일한 분석 노드를 사용하지만

품목들 간의 선후관계 알아보기 위해서 다른 data set 사용하도록 하겠습니다.


 

마찬가지로 Data 역할은 Transaction으로 바꿔주어야 합니다.

CUSTOMER ID, PRODCUT TARGET으로 그리고 TIME이라는 품목간의 순서를 나타내주는 변수는 TIME ID 설정해 줍니다. 분석을 실시해주고 규칙 테이블을 살펴보면 품목간의 선후관계를 고려한 규칙 생성된 것을 확인 있습니다.

 

 

 

결과 해석 시에 주의해야 점은 연관성 분석 (Association Analysis) 장바구니 분석 (Market Basket Analysis)에서 출된 규칙인 " A è B B è A " 서로 같은 규칙으로써 해석 있지만 순차 연관성 분석에서 생성된  " A è B B