본문 바로가기
추천 시스템/Study

연관 분석 (Association Analysis)

연관 분석 (Association Analysis)

1. 개요

데이터 마이닝은 크게 세 가지로 분류됩니다.

  • 분류/회귀 분석(Classification/Regression)
  • 군집 분석(Clustering)
  • 연관 분석(Association)

2. 연관 분석이란?

연관 분석이란 ‘조건-결과' 식으로 표현되는 유용한 패턴(pattern)을 나타내는 연관 규칙(Association Rule)을 발견해내는 것입니다. 간단히 말하자면, 룰기반의 모델로서 상품과 상품 사이에 어떤 연관이 있는지 찾아내는 알고리즘입니다.

대표적으로 ‘상품 A와 B를 같이 구매하는가?’, ‘상품 A를 구매후 B를 구매하는가?’와 같은 규칙을 찾아냅니다.

대표적인 일화로는 월마트에서 맥주를 구매할 때 기저귀를 같이 구매하는 경향이 크다는 것을 밝혀서 둘을 함께 진열하는 전략을 세우기도 했습니다.

3. 연관 규칙 측정 지표

지지도 (support)

  • 조건절이 일어날 확률
  • 전체 거래 중 상품 A와 상품 B가 동시에 포함되는 거래 비율
  • 전체적인 구매 경향 파악 (예를 들어, A와 B를 같이 구매)

$$
P(A \cap B) = \frac{\text{A와 B가 동시에 포함된 거래 수}}{\text{전체 거래 수}}
$$

  • A와 B에 대한 지지도 = $\frac{7}{10}$ = 0.7

Untitled

신뢰도 (confidence)

  • 조건절이 주어졌을 때, 결과절이 일어날 조건부 확률
  • 상품 A가 포함된 거래 중에서 상품 A, B가 동시에 포함되는 거래 비율
  • 연관성의 정도 파악 (예를 들어, A를 구매하면 B도 구매)

$$
\frac{P(A \cap B)}{P(A)} = \frac{\text{A와 B가 동시에 포함된 거래 수}}{\text{A를 포함하는 거래 수}}
$$

  • A와 B에 대한 지지도 = $\frac{7}{7}$ = 1

Untitled

향상도 (lift)

  • 조건절과 결과절이 서로 독립일 때와 비교해 두 사건이 동시 발생하는 확률
  • 상품 B가 포함된 거래 중에서 상품 A를 거래 후 상품 B를 거래한 비율
  • 두 상품이 서로 독립일 경우 → 향상도 = 1
  • 두 상품이 서로 양의 관계일 경우 → 향상도 > 1
  • 두 상품이 서로 음의 관계일 경우 → 향상도 < 1

$$
\frac{P(B | A)}{P(B)} =
\frac{P(A \cap B)}{P(A)P(B)} =
\frac{\text{A와 B가 동시에 포함된 거래 수 * 전체 거래 수}}{\text{A를 포함하는 거래 수 * B를 포함하는 거래 수}}
$$

  • A와 B에 대한 지지도 = $ \frac{7*10}{7*9} $ = 1.1

Untitled

최소 지지도 (minimum support)

  • 불필요한 탐색 시간을 줄이기 위해 사용자가 설정하는 하이퍼 파라미터
  • 처음에는 임의로 설정 후 계산 속도와 의미가 현실적인지 판단
  • 높은 값에서 낮은 값으로 실행해야 효율적(10% → 5% → 2% → 1%)
  • 최소 지지도 50% 일 때
    • A = $\frac{7}{10}$ = 0.7, B = $\frac{9}{10}$ = 0.9

Untitled

          

Untitled 1

4. 연관 규칙의 장점과 단점

장점

  • 탐색적인 기법
    • 조건반응으로 표현되는 연관성 분석의 결과를 쉽게 이해할 수 있다.
  • 강력한 비목적성 분석기법
    • 분석 방향이나 목적이 특별히 없는 경우 목적 변수가 없으므로 유용하게 활용된다.
  • 사용이 편리한 분석 데이터의 형태
    • 거래 내용에 대한 데이터를 변환 없이 그 자체로 이용할 수 있는 간단한 자료구조를 갖는다.
  • 계산의 용이성
    • 분석을 위한 계산이 상당히 간단하다.

단점

  • 상당한 수의 계산과정
    • 품목 수가 증가하면 분석에 필요한 계산은 기하급수적으로 늘어난다.
    • 이를 개선하기 위해 유사한 품목을 한 범주로 일반화한다.
    • 연관 규칙의 신뢰도 하한을 새롭게 정의해 실제 드물게 관찰되는 의미가 적은 연관 규칙은 제외한다.
  • 적절한 품목의 결정
    • 너무 세분화한 품목을 갖고 연관성 규칙을 찾으면 의미 없는 분석이 될 수 있다.
    • 적절히 구분되는 큰 범주로 구분해 전체 분석에 포함시킨 후 , 그 결과 중에서 세부적으로 연관을 찾는 작업을 수행하는 게 적절하다.
  • 품목의 비율 차이
    • 거래량이 적은 품목은 당연히 포함된 거래 수가 적을 것이고, 규칙 발견 시 제외하기가 쉽다.
    • 이런 경우, 그 품목이 관련성을 살펴보고자 하는 중요한 품목이라면 유사한 품목들과 함께 범주로 구성하는 방법 등을 통해 연관성 규칙의 과정에 포함시킬 수 있다.

5. 연관 규칙을 찾는 방법

위의 측정 지표를 이용해 각 item들이 각 itemset 안에서 어떤 빈도로 출현했는지, 어떤 item과 함께 나왔는지를 파악해야 Association Rule을 만들어낼 수 있습니다.

하지만 데이터셋이 큰 경우, 이를 모든 후보 itemset들에 대해 하나하나 검사하는 것은 굉장히 비효율적입니다.

이러한 문제를 해결하기 위해 제시된 것이 FP-Growth 알고리즘, Apriori 알고리즘 등이다.


References

'추천 시스템 > Study' 카테고리의 다른 글

MAB (Multi-Armed Bandit) 알고리즘  (0) 2022.02.14
A/B 테스트  (0) 2022.02.14

댓글