데이터 분석/연관 분석

연관 분석 (Association Analysis) 이해하기

FedTensor 2025. 9. 29. 17:19

연관 분석은 대규모 데이터 속에서 항목 간의 유의미한 관계, 즉 '연관 규칙(Association Rule)'을 찾아내는 데이터 마이닝 기법입니다. 특히 "기저귀를 산 고객이 맥주도 함께 구매한다"처럼 상품 구매 데이터에서 규칙을 찾는 경우, 이를 장바구니 분석(Market Basket Analysis)이라고 부릅니다.

1. 연관 분석이란 무엇인가요?

쉽게 말해, 데이터 속에서 'A가 발생했을 때 B가 얼마나 자주 함께 발생하는지'를 분석하여 규칙을 찾아내는 것입니다. 예를 들어, 대형 마트의 거래 데이터에서 "기저귀를 구매한 고객은 맥주도 함께 구매하는 경향이 있다"는 규칙을 발견하는 것이 연관 분석의 대표적인 예입니다.

 

이러한 규칙은 다음과 같은 다양한 분야에서 활용될 수 있습니다.

  • 유통/소매: 상품 진열 최적화, 교차 판매(Cross-selling) 전략, 추천 시스템, 프로모션 기획
  • 제조: 부품 고장 간의 연관성 분석을 통한 유지보수 예측
  • 의료: 특정 질병과 환자의 생활 습관 간의 연관성 분석
  • 금융: 신용카드 사기 탐지, 금융 상품 추천

2. 용어 및 표기

이 단원의 내용은 Association Analysis: Basic Concepts and Algorithms 의 5.1. Preliminaries 일부를 번역한 것입니다.

장바구니 데이터 거래 목록

 

장바구니 데이터 거래 목록의 이진 표현

 

$I = \{i_1, i_2, . . . , i_d\}$를 장바구니 데이터에 있는 모든 품목(item)의 집합이라 하고, $T = \{t_1, t_2, . . . , t_N\}$를 모든 거래(transaction)의 집합이라고 하겠습니다. 각 거래 $t_i$는 $I$에서 선택된 품목들의 부분 집합을 포함합니다.

연관 분석에서, 0개 이상의 품목으로 이루어진 모음을 품목 집합(itemset)이라고 합니다. 만약 한 품목 집합이 $k$개의 품목을 포함하면, 이를 k-품목집합(k-itemset)이라고 부릅니다. 예를 들어, {맥주, 기저귀, 우유}는 3-품목집합의 한 예입니다. 아무런 품목도 포함하지 않는 공집합(null or empty set)도 품목 집합에 해당합니다.

어떤 거래 $t_j$가 품목 집합 $X$를 포함한다고 말하는 것은 $X$가 $t_j$의 부분 집합일 때를 의미합니다. 예를 들어, 표 5.2에 보이는 두 번째 거래는 {빵, 기저귀}라는 품목 집합을 포함하지만, {빵, 우유}는 포함하지 않습니다.

품목 집합의 중요한 속성 중 하나는 특정 품목 집합(예: $X$)을 포함하는 거래의 수($\sigma(X)$)이며 수학적으로는 다음과 같이 표현할 수 있습니다.
$$\sigma(X) = |\{t_i | X \subseteq t_i, t_i \in T\}|$$
여기서 기호 $|\cdot|$는 집합에 속한 원소의 개수를 나타냅니다. 표 5.2의 데이터 집합에서 {맥주, 기저귀, 우유}를 포함하는 거래의 수는 2입니다.

3. 핵심 지표: 지지도, 신뢰도, 향상도

연관 규칙이 얼마나 '의미 있는' 규칙인지 판단하기 위해 주로 세 가지 지표를 사용합니다.

표기와 관련하여 유의할 사항:
이 문서에서 A와 B는 개별 품목 집합이며 서로 공통 요소를 가지고 있지 않습니다. 예를 들어 A={빵, 우유}, B={맥주}로 지정할 수 있으며 이때 $A \cup B$는 새로운 품목 집합 {빵, 우유, 맥주}가 됩니다. 이러한 표기는 조건부 확률에서 흔히 사용하는 표현
$$P(B|A)=\frac{P(A \cap B)}{P(A)}$$
과 관련하여 혼동을 줄 수 있습니다. 여기서는 품목 집합과 이를 포함하는 거래의 수인 $\sigma$의 정의에 따른다는 점에 유의해야 합니다. 즉,
$$P(B|A) = \frac{\sigma(A \cup B)}{\sigma(A)}=\frac{P(A \cup B)}{P(A)}$$
입니다.

① 지지도 (Support)

전체 거래 중에서 항목 A와 항목 B가 동시에 포함된 거래의 비율입니다. 전체적으로 얼마나 자주 발생하는지를 나타냅니다.

  • 공식: $$Support(A→B) = \frac{\text{A와 B를 모두 포함한 거래 수}}{\text{전체 거래 수}}​ = \frac{\sigma(A \cup B)}{N}$$
  • 의미: 지지도가 너무 낮으면 우연히 발생한 규칙일 가능성이 높으므로, 일반적으로 최소 지지도(Minimum Support)를 정해두고 그 이상의 규칙만 분석합니다.
  • 예시: 전체 거래 100건 중 기저귀와 맥주를 함께 구매한 거래가 5건이라면, 지지도는 5%입니다.

② 신뢰도 (Confidence)

항목 A를 포함한 거래 중에서 항목 B도 함께 포함된 거래의 비율입니다. A를 구매했을 때 B를 구매할 조건부 확률과 같습니다.

  • 공식: $$Confidence(A→B) = \frac{\text{A와 B를 모두 포함한 거래 수}}{\text{A를 포함한 거래 수}} = \frac{\sigma(A \cup B)}{\sigma(A)}$$
    • 조건부 확률 표현: $P(B|A)$
  • 의미: 규칙의 예측력을 나타냅니다. 신뢰도가 높을수록 A를 구매한 고객이 B도 구매할 가능성이 높다는 것을 의미합니다.
  • 예시: 기저귀를 구매한 거래가 총 10건이고, 그중 기저귀와 맥주를 함께 구매한 거래가 5건이라면, 신뢰도는 50%입니다. (기저귀 구매 시 50% 확률로 맥주도 구매)

③ 향상도 (Lift)

항목 A의 구매가 항목 B의 구매에 얼마나 영향을 주는지를 나타내는 지표입니다. A와 B가 서로 독립적일 때와 비교하여 얼마나 더 많이 또는 적게 발생하는지를 측정합니다.

  • 공식: $$Lift(A→B)=\frac{Confidence(A→B)​}{Support(B)} = \frac{\sigma(A \cup B)}{\sigma(A)} \div \frac{\sigma(B)}{N} = \frac{\sigma(A \cup B)N}{\sigma(A)\sigma(B)}$$
    • 조건부 확률 표현: $\frac{P(B∣A)}{P(B)}$
  • 의미:
    • Lift = 1: A와 B는 서로 관련이 없는 독립적인 관계입니다.
    • Lift > 1: A와 B는 양의 상관관계를 가집니다. 즉, A를 구매하면 B를 구매할 확률이 높아집니다. (Lift 값이 클수록 연관성이 높음)
    • Lift < 1: A와 B는 음의 상관관계를 가집니다. 즉, A를 구매하면 오히려 B를 구매할 확률이 낮아집니다.
  • 예시: 위 예시에서 신뢰도가 50%이고, 전체 거래 중 맥주를 구매한 비율(B의 지지도)이 10%라면, 향상도는 50% / 10% = 5입니다. 이는 기저귀 구매와 상관없이 맥주를 구매할 확률보다, 기저귀를 구매했을 때 맥주를 구매할 확률이 5배 더 높다는 의미입니다.
좀 더 직관적으로 이해하기 (향상도가 1인 경우):
5,000만 인구의 약 10%인 500만 명이 특정 종교 A를 가지고 있습니다. 어떤 정당 B에 등록되어 있는 구성원 수는 100만 명입니다. 이 정당 구성원들의 종교를 조사했더니 약 10%에 해당하는 10만 명이 특정 종교 B를 가지고 있는 것으로 나왔습니다. 단순히 이 사실만을 고려할 경우 종교 A를 가지는 것과 정당 B에 가입하는 것은 서로 관련이 없다고 말할 수 있습니다. 그 이유는 임의의 집단을 선택하더라도 그 안에서 종교 A를 가지고 있는 구성원들이 차지하는 비율이 약 10%일 가능성이 있기 때문입니다.

4. 유명한 사례: "기저귀와 맥주"

가장 유명한 연관 분석 사례는 미국의 한 마트에서 "금요일 저녁에 기저귀와 맥주가 함께 잘 팔린다"는 규칙을 발견한 것입니다.

  • 분석: 데이터 분석 결과, {기저귀} → {맥주}라는 연관 규칙이 발견되었습니다. 이는 아기 기저귀를 사러 온 아빠들이 자신의 맥주를 함께 구매하는 소비 패턴 때문인 것으로 해석되었습니다. (이 사례는 연관 분석을 설명하는 유명한 일화지만, 그 사실 여부에 대해서는 여러 의견이 있습니다.)
  • 활용: 이 분석 결과를 바탕으로 마트는 기저귀와 맥주를 가까운 곳에 진열하여 두 상품의 매출을 동시에 크게 늘릴 수 있었습니다.

이처럼 연관 분석은 데이터 속에 숨겨진 고객의 소비 패턴이나 행동의 연관성을 찾아내어 비즈니스적으로 가치 있는 인사이트를 제공하는 강력한 도구입니다.