새소식

데이터분석준전문가(ADsP)/3과목

[정형데이터 마이닝] 연관분석

  • -

목차

    1. 연관규칙

    1-1 연관규칙분석(Association Analysis)의 개념 

    본문 

    연관성 분석은 흔히 장바구니 분석(Market Basket Analysis)또는 서열분석(Sequence Analy-sis)이라고 불린다. 

    기업의 데이터베이스에서 상품의 구매, 서비스 등 인련의 거래 또는 사건들 간의 규칙을 발견하기 위해 적용한다. 

    장바구니 분석: '장바구니에 무엇이 같이 들어 있는지에 대한 분석'

    서열분석: 'A를 산 다음에 B를 산다.' 

     

    1-2 연관규칙의 형태

    조건과 반응의 형태(if-then)로 이루어져 있다. 

    (Item set A) -> (Item set B)
    If A then B : 만일 A가 일어나면 B가 일어난다.

    아메리카노를 마시는 손님 중 10%가 브라우니를 먹는다
    샌드위치를 먹는 고객의 30%가 탄산수를 함께 마신다.
    고객이 어떤 상품을 함께 구매할 것인지를 예측해내는데 쓴다. 
    데이터 내부의 연관성, 상품과 상품간의 상호 관계 또는 종속 관계를 찾아내는 분석법이다. 

     

    1-3 연관규칙의 측도

    산업의 특성에 따라 지지도, 신뢰도, 향상도 값을 잘 보고 규칙을 선택해야 한다. 

    1) 지지도(Support)

    전체 거래 항목 중 A와 항목 B를 동시에 포함하는 거래의 비율로 정의한다.

    A와 B가 동시에 거래된 거래수 / 전체 거래수 = 지지도 

     

    2) 신뢰도(Confidence)

    항목 A를 포함한 거래 중에서 항목 A와 항목 B가 같이 포함될 확률이다. 연관성의 정도를 파악할 수 있다.

    A를 포함하는 거래수 / A와 B가 동시에 포함된 거래수 

     

    3) 향상도(Lift)

    A가 구매되지 않았을 때 품목 B의 구매확률에 비해 A가 구매됐을 때 품목 B의 구매확률의 증가 비이다. 연관규칙 A-> B는 품목 A와 품목B의 구매가 서로 관련이 없는 경우에 향상도가 1이 된다.

    A를 포함하는 거래수 XB를 포함하는 거래수 / A와 B가 동시에 포함된 거래수 = 향상도 

     

     

     

    1-4 연관규칙의 절차

    최소 지지도보다 큰 집합만을 대상으로 높은 지지도를 갖는 품목 집합을 찾는 것이다. 처음에는 5%로 잡고 규칙이 충분히 도출되는지를 보고 다양하게 조절하여 시도한다. 처음부터 너무 낮은 최소 지지도를 선정하는 것은 많은 리소스가 소모되므로 적절하지 않다. 

    절차 

    1) 최소 지지도 결정 -> 2) 품목 중 최소 지지도를 넘는 품목 분류 -> 3) 2가지 품목 집합 생성 -> 4) 반복적으로 수행해 빈발품목 집합을 찾음. 

    1-5 연관규칙의 장점과 단점 

    장점 단점 
    탐색적인 기법으로 조건 반응으로 표현되는 연관성 분석의 결과를 쉽게 이해할 수 있다.  품목수가 증가하면 분서게 필요한 계산은 기하급수적으로 늘어난다.

    이를 개선하기 위해 유사한 품목을 한 범주로 일반화한다. 


    연관 규칙의 신뢰도 하한을 새롭게 정의해 실제 드물게 관찰되는 의미가 적은 연관규칙은 제외한다. 

    강력한 비목적성 분석 기법으로 분석 방향이나 목적이 특별이 없는 경우 목적변수가 없으므로 유용하게 활용된다.  너무 세분화한 품목을 갖고 연관성 규칙을 찾으면 의미없는 분석이 될 수도 있다. 

    적절히 구분되는 큰 범주로 구분해 전체 분석에 포함시킨 후 그 결과 중에서 세부적으로 연관규칙을 찾는 작업을 수행할 수 있다. 
    사용이 편리한 분석 데이터의 형태로 거래 내용에 대한 데이터를 변환 없이 그 자체로 이용할 수 있는 간단한 자료 구조를 갖는다.  거래량이 적은 품목은 당연히 포함된 거래수가 적을 것이고, 규칙 발견 시 제외하기가 쉽다. 

    이런 경우 그 품목이 관련성을 살펴보고자 하는 중요한 품목이라면 유사한 품목들과 함께 범주로 구성하는 방법 등을 통해 연관성 규칙의 과정에 포함 시킬 수 있다. 
    분석을 위한 계산이 간단하다. 

    1-6 순차패턴(Sqauence Analysis)

    동시에 구매될 가능성이 큰 상품군을 찾아내는 연관성분석에 시간이라는 개념을 포함시켜 순차적으로 구매 가능성이 큰 상품군을 찾아내는 것이다.

    연관성분석에서의 데이터 형태에서 각각의 고객으로부터 발생한 구매시점에 대한 정보가 포함 된다. 

     

    2. 기존연관성 분석의 이슈

    대용량 데이터에 대한 연관성분석이 불가능하다.

    시간이 많이 걸리거나 기존 시스템에서 실행 시 시스템 다운되는 현상이 발생할 수 있다.

     

     

    3. 최근 연관성분석 동향 

    1세대 알고리즘인 Apriori나 2세대인 FP-Growth에서 발전하여 3세대의 FPV를 이용해 메모리를 효율적으로 사용함으로써 SKU 레벨의 연관성분석을 성공적으로 적용했다.

    거래내역에 포함되어 있는 모든 품목의 개수가 n개 일 때, 품목들의 전체집합(item set)에서 추출할 수 있는 품목 부분집합의 개수는 2n-1(공집합 제외)개다. 그리고 가능한 모든 연관규칙의 개수는 3n-2n+1+1개다. 

    이 때 모든 가능한 품목 부분집합의 개수를 줄이는 방식으로 작동하는 것이 Apriori 알고리즘이며, 거래내역 안에 포함된 개수를 줄여 비교하는 횟수를 줄이는 방식으로 작동하는 것이 FP-Growth알고리즘이다. 

     

    3-1 Apriori 알고리즘

    최소 지지도보다 큰 지지도 값을 갖는 품목의 집합을 빈발항목집합(frequent item set)라고 한다. 

    Apriori 알고리즘은 모든 품목집합에 대한 지지도를 전부 계산하는 것이 아니라, 최소 지지도 이상의 빈발항목집합을 찾은 후 그것들에 대해서만 연관규칙을 계산하는 것이다. 

    Apriori는 1994년에 발표된 1세대 알고리즘으로 구현과 이해하기가 쉽다는 장점이 있으나, 지지도가 낮은 후보 집합 생성 시 아이템의 개수가 많아지면 계산 복잡도가 증가한다는 문제점을 가지고 있다. 

    3-2 FP Growth 알고리즘 

    FP-Growth 알고리즘은 후보 빈발항목집합을 생성하지 않고, FP-Tree(Frequent Pattern Tree)를 만든 후 분할정복 방식을 통해 Apriori알고리즘 보다 더 빠르게 빈발항목집합을 추출할 수 있는 방법이다.

    Apriori 알고리즘의 약점을 보완하기 위해 고안된 것으로 데이터베이스를 스캔하는 횟수가 적고, 빠른 속도로 분석이 가능하다. 

     

     

    4. 연관성 분석 활용방안

    장바구니 분석의 경우는 실시간 상품추천을 통한 교차판매에 응용

    순차패턴 분석은 A를 구매한 사람인데 B를 구매하지 않은 경우, B를 추천하는 교차판매 캠페인에 사용

     

    5. 연관성분석 예제 

    5-1 분석내용

    Groceries데이터셋은 식료품 판매점의 1달 동안의 POS 데이터이며, 총 169개의 제품과 9835건의 거래건수를 포함하고 있다. 거래내역을 inspect 함수로 확인할 수 있으며, apriori함수로 최소지지도와 신뢰도는 각각 0.01, 0,3으로 설정한 뒤 연관규칙분석을 실시했다.

    apriori 알고리즘으로 연관규칙분석을 실행한 결과 총 88개의 아이템으로 연관규칙을 만들어냈으며 125개의 Rule이 발견되었다. 

    data(Groceries)
    inspect(Groceries[1:3])
    rules<-apriori(Groceries, parameter = list (support = 0.01, confidence = 0,3)
    inspect(sort(rules,by=c("Lift"),decreasing=TRUE)[1:20])​

     

    향상도를 기준으로 내림차순으로 정렬한 후 상위 5개의 규칙을 확인해봤을 때, rhs의 제품만 구매할 확률에 비해 lhs의 제품을 샀을 때, rhs 제품도 구매할 확률이 약 3배 가량 높다.(Lift > 3이기 때문에), 따라서 rhs와 lhs 제품들간 결합상품 할인쿠폰 혹은 품목배치 변경 등을 제안할 수 있다. 

    반응형
    Contents

    포스팅 주소를 복사했습니다

    이 글이 도움이 되었다면 공감 부탁드립니다.