연관 분석은 대규모 데이터 속에서 항목 간의 유의미한 관계, 즉 '연관 규칙(Association Rule)'을 찾아내는 데이터 마이닝 기법입니다. 특히 "기저귀를 산 고객이 맥주도 함께 구매한다"처럼 상품 구매 데이터에서 규칙을 찾는 경우, 이를 장바구니 분석(Market Basket Analysis)이라고 부릅니다.
1. 연관 분석이란 무엇인가요?
연관분석은 다음과 같은 규칙을 찾는 것이 목적입니다.
A → B
"A가 발생하면 B도 함께 발생하는 경향이 있는가?"
예를 들어
- 기저귀 → 맥주
- 커피 → 빵
와 같은 규칙을 찾습니다.
여기서 중요한 질문은 세 가지입니다.
- 이런 경우가 얼마나 자주 발생하는가?
- A가 발생하면 B도 얼마나 자주 따라오는가?
- 그것이 단순한 우연보다 얼마나 더 강한 관계인가?
이 세 질문에 각각 대응하는 것이
- 지지도(Support)
- 신뢰도(Confidence)
- 향상도(Lift)
입니다.
이러한 규칙은 다음과 같은 다양한 분야에서 활용될 수 있습니다.
- 유통/소매: 상품 진열 최적화, 교차 판매(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. 유명한 사례: "기저귀와 맥주"
가장 유명한 연관 분석 사례는 미국의 한 마트에서 "금요일 저녁에 기저귀와 맥주가 함께 잘 팔린다"는 규칙을 발견한 것입니다.
- 분석: 데이터 분석 결과, {기저귀} → {맥주}라는 연관 규칙이 발견되었습니다. 이는 아기 기저귀를 사러 온 아빠들이 자신의 맥주를 함께 구매하는 소비 패턴 때문인 것으로 해석되었습니다. (이 사례는 연관 분석을 설명하는 유명한 일화지만, 그 사실 여부에 대해서는 여러 의견이 있습니다.)
- 활용: 이 분석 결과를 바탕으로 마트는 기저귀와 맥주를 가까운 곳에 진열하여 두 상품의 매출을 동시에 크게 늘릴 수 있었습니다.
이처럼 연관 분석은 데이터 속에 숨겨진 고객의 소비 패턴이나 행동의 연관성을 찾아내어 비즈니스적으로 가치 있는 인사이트를 제공하는 강력한 도구입니다.