현재 선택한 빅데이터 분석 과정

빅데이터분석기사 필기 이론 학습

이론 목록으로 돌아가기

연관성분석과 지지도·신뢰도·향상도

지지도·신뢰도·향상도로 연관규칙을 평가하는 방법을 익힌다.

예상 읽기 10

핵심 요약

연관성분석은 하나의 거래·세션·문서 안에 함께 나타나는 항목집합에서 X→Y 형태의 동시출현 규칙을 찾는 비지도 탐색 방법이다. 선행항 X와 후행항 Y는 서로 겹치지 않는 비어 있지 않은 항목집합이다.

지지도는 규칙이 전체 거래에서 얼마나 자주 관측되는지, 신뢰도는 X가 있을 때 Y도 있을 조건부 비율, 향상도는 Y의 기본 출현률 대비 조건부 비율을 나타낸다. 높은 신뢰도만으로 규칙을 채택하지 않고 지지도·향상도·표본 건수·시간 외 안정성과 업무 실행 가능성을 함께 본다.

학습 목표

  • 거래·항목집합·빈번 항목집합·연관규칙을 구분한다.
  • 지지도·신뢰도·향상도와 보조지표를 2×2 거래표에서 계산한다.
  • 규칙 방향에 따른 신뢰도 차이와 향상도의 대칭성을 설명한다.
  • Apriori의 지지도 반단조성, 후보 생성과 가지치기를 적용한다.
  • 규칙 폭발·희귀 규칙·중복·시간 변화·인과 오해를 진단한다.

1. 입력 단위와 규칙

개념의미예시
거래 T함께 관측된 항목의 집합주문 1건 {커피, 우유}
항목집합 X하나 이상의 항목 묶음{커피, 빵}
빈번 항목집합지지도가 최소지지도 이상인 집합{커피, 우유}가 주문의 12%
규칙 X→YX가 있을 때 Y가 함께 나타나는 경향{커피}→{우유}

거래 단위를 주문으로 볼지 고객·일·세션으로 볼지에 따라 결과가 달라진다. 같은 주문의 수량은 기본 장바구니 분석에서 보통 존재 여부로 이진화되므로, 수량 효과가 필요하면 구간화나 다른 모형을 검토한다. 반품·취소·중복 주문, 봇 세션과 기간 경계를 먼저 정제한다.

규칙 방향은 조건부 확률의 방향이다. X→Y가 시간 순서나 원인 방향을 자동으로 뜻하지 않는다. 구매 순서가 핵심이면 순차패턴 분석을 사용한다.

2. 핵심 지표와 범위

전체 거래 수를 N, 항목집합을 포함하는 거래 수를 count(·)라 하자.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
support(X→Y) = support(X∪Y) = count(X∪Y)/N
confidence(X→Y) = count(X∪Y)/count(X) = P(Y|X)
lift(X→Y) = confidence(X→Y)/support(Y)
             = support(X∪Y)/[support(X)support(Y)]
지표범위·분모 경계해석
지지도[0,1]; N>0 필요전체 거래에서 X∪Y가 나온 비율
신뢰도[0,1]; count(X)=0이면 정의 불가X 거래 중 Y도 있는 비율
향상도0 이상, 상한 없음; support(Y)=0이면 정의 불가Y 기본률 대비 조건부 비율
  • lift>1: 관측 자료에서 독립일 때보다 함께 나타나는 양의 연관
  • lift=1: P(Y|X)=P(Y)인 관측상 독립 수준
  • lift<1: 관측 자료에서 함께 나타나는 비율이 독립 기대보다 낮음

이 해석은 관측 동시출현에 관한 것이며 XY의 발생률을 인과적으로 바꾸었다는 뜻이 아니다.

3. 2×2 거래표 계산

거래 100건에서 A 20건, B 50건, A∩B 15건이라면 완전한 표는 다음과 같다.

B 있음B 없음합계
A 있음15520
A 없음354580
합계5050100
CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
support(A→B) = 15/100 = 0.15
confidence(A→B) = 15/20 = 0.75
confidence(B→A) = 15/50 = 0.30
lift(A→B) = 0.75/0.50 = 1.50
lift(B→A) = 0.30/0.20 = 1.50

신뢰도는 조건부 확률이므로 방향에 따라 0.750.30으로 다르다. 향상도는 support(A∩B)/[support(A)support(B)]와 같아 A→BB→A가 동일하다. 지지도도 합집합 항목집합의 빈도이므로 두 방향에서 같다.

보조지표

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
leverage(X→Y) = support(X∪Y) - support(X)support(Y)
conviction(X→Y) = [1-support(Y)]/[1-confidence(X→Y)]

예제의 leverage는 0.15-0.20×0.50=0.05로, 독립 기대보다 전체 거래의 5%p만큼 동시출현이 많다. A→B의 conviction은 0.50/0.25=2다. conviction은 방향성이 있으며 confidence=1이면 분모가 0이므로 조건에 따라 무한대로 해석한다.

향상도는 상대 연관을, leverage는 전체 거래 기준 절대 초과량을 보여준다. 희귀 항목의 매우 큰 향상도는 실제 추가 거래 수가 작을 수 있으므로 둘을 함께 본다.

4. Apriori 원리

항목집합 XZ의 부분집합이면 support(Z)≤support(X)다. 이를 지지도의 반단조성 또는 하향 폐쇄 성질이라 한다.

  • 빈번 항목집합의 모든 부분집합은 빈번하다.
  • 어떤 항목집합이 비빈번이면 이를 포함하는 모든 상위집합도 비빈번이다.

Apriori는 빈번 (k-1)-항목집합을 결합해 k-항목 후보를 만들고, 빈번하지 않은 부분집합을 가진 후보를 지지도 계산 전에 제거한다.

MERMAID코드 영역 안에서 좌우로 이동할 수 있습니다.
flowchart TD
    L1["L1: {A}, {B}, {C}"] --> C2["C2: {A,B}, {A,C}, {B,C}"]
    C2 --> L2["L2: {A,C}, {B,C} — {A,B} 탈락"]
    L2 --> C3["C3 후보: {A,B,C}"]
    C3 --> P["{A,B}가 비빈번 → {A,B,C} 가지치기"]

최소지지도가 너무 낮으면 후보 수와 우연한 패턴이 폭발하고, 너무 높으면 희귀하지만 중요한 조합을 놓친다. 최소 거래 건수와 항목집합 최대 길이를 함께 제한한다.

5. 빈번 항목집합에서 규칙 만들기

크기 k의 빈번 항목집합 S에서는 S의 비어 있지 않은 진부분집합을 선행항으로 선택하고 나머지를 후행항으로 두므로 가능한 규칙 수는 다음과 같다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
규칙 수 = 2ᵏ - 2

예를 들어 {A,B,C}에서는 6개, 4개 항목집합에서는 14개의 방향 규칙이 가능하다. 빈번 항목집합은 최소지지도로 찾고, 그다음 생성된 방향 규칙을 최소신뢰도·향상도 등으로 거른다. 항목집합 지지도와 규칙 신뢰도의 단계가 다르다.

규칙 수와 중복을 줄이는 대표 요약은 다음과 같다.

요약 항목집합정의관계
폐쇄 빈번집합같은 지지도를 가진 빈번 진상위집합이 없음지지도 정보를 더 많이 보존
극대 빈번집합빈번한 진상위집합이 없음수는 더 적지만 부분집합 지지도 복원 불가

모든 극대 빈번집합은 폐쇄 빈번집합이지만, 모든 폐쇄 빈번집합이 극대인 것은 아니다. 같은 후행항을 가진 규칙은 선행항 추가가 신뢰도·향상도·leverage를 실제로 개선하는지, 더 단순한 규칙으로 설명되는지 확인한다.

6. Apriori 외 탐색과 복잡성

방법핵심 아이디어적합한 상황·주의
Apriori후보 생성과 반단조 가지치기원리가 명확하나 낮은 지지도에서 후보 폭발 가능
FP-Growth거래를 FP-tree로 압축해 명시적 후보 생성을 줄임조밀·대규모 자료에 유리할 수 있으나 트리 메모리 영향
Eclat항목별 거래 ID 집합의 교집합으로 지지도 계산수직 자료 구조와 교집합 비용 고려

어느 알고리즘도 낮은 임곗값에서 나오는 규칙 수 자체를 없애지는 못한다. 항목 사전 필터, 최대 길이, 폐쇄·극대 집합과 업무 제약을 함께 사용한다.

7. 규칙 검증과 다중탐색

수천·수백만 후보를 탐색하면 우연히 높은 향상도를 가진 규칙이 생기는 다중탐색 편향이 커진다. 단일 지표 임곗값만으로 통계적 확실성을 보장하지 않는다.

  1. 과거 훈련 기간에서 항목집합과 규칙을 탐색한다.
  2. 이후 검증 기간에서 지지도·신뢰도·향상도·leverage와 최소 건수를 다시 계산한다.
  3. 부트스트랩·순열 검정·신뢰구간 등으로 불확실성을 보조 확인한다.
  4. 프로모션·재고·계절·매장·고객구성에 따른 하위집단 안정성을 본다.
  5. 추천·배치 변경의 증분 효과는 무작위 대조실험으로 검증한다.

시간 외 지표가 유지돼도 인과효과가 증명되는 것은 아니다. 반대로 낮은 전체 지지도라도 안전·사기처럼 비용이 큰 희귀 조합은 별도 임곗값과 전문가 검토가 필요할 수 있다.

민감정보나 보호속성이 선행·후행항 또는 대리변수로 들어가 차별적 행동을 만들지 않는지 확인한다. 고객을 재식별할 수 있는 희귀 조합은 공개·활용을 제한한다.

8. 사례 적용

상황: 온라인 서점이 묶음 추천을 만들려 한다. 베스트셀러 B는 주문의 70%에 포함되고 희귀 전문서 조합은 거래 수가 적다.

판단 과정:

  1. 주문·반품·세션 기준을 고정하고 과거 탐색 기간과 이후 검증 기간을 나눈다.
  2. 최소지지도와 최소 건수를 함께 두고 FP-Growth 또는 Apriori로 빈번 항목집합을 찾는다.
  3. X→B의 신뢰도를 support(B)=0.70과 비교해 향상도·leverage를 계산한다.
  4. 폐쇄·극대 집합, 규칙 길이와 단순성으로 중복을 줄인다.
  5. 검증 기간과 고객군에서 지표가 유지되는지 확인하고 민감한 조합을 제거한다.
  6. 실제 추천의 클릭·구매 증분은 추천하지 않은 대조군과 실험한다.

결론: 세 핵심 지표, 절대 거래 건수·중복·시간 안정성·실험 효과를 함께 사용해 규칙을 정제한다.

전체 100건 중 A 40건, B 30건, 동시발생 20건으로 지지도 0.20, 신뢰도 0.50, 향상도 1.67을 계산한 집합도
전체 100건 중 A 40건, B 30건, 동시발생 20건으로 지지도 0.20, 신뢰도 0.50, 향상도 1.67을 계산한 집합도
support(A→ B)=P(A∩ B)=0.20
confidence(A→ B)=P(B| A)=(0.20) ÷ (0.40)=0.50
lift(A→ B)=(P(B| A)) ÷ (P(B))=(0.50) ÷ (0.30)≈1.67
거래 데이터에서 최소 지지도로 빈발집합을 찾고 규칙을 생성해 신뢰도·향상도와 실행 가능성을 평가하는 절차
거래 데이터에서 최소 지지도로 빈발집합을 찾고 규칙을 생성해 신뢰도·향상도와 실행 가능성을 평가하는 절차
지표분모·기준해석
지지도전체 거래규칙의 발생 규모
신뢰도A가 있는 거래A일 때 B 비율
향상도B의 전체 빈도독립 대비 동시발생 배율

향상도 1.67은 독립 기준보다 함께 나타나는 비율이 높다는 뜻이며, A가 B의 원인이라는 뜻은 아니다.

시험 판단 포인트

  • 지지도는 support(X∪Y), 신뢰도는 P(Y|X), 향상도는 P(X∩Y)/[P(X)P(Y)]다.
  • X→YY→X의 신뢰도는 다를 수 있지만 지지도와 향상도는 같다.
  • lift=1은 관측상 독립 수준이지 인과효과가 없다는 실험 결론이 아니다.
  • support(X)=0이면 신뢰도, support(Y)=0이면 향상도를 정의할 수 없다.
  • 비빈번 항목집합의 모든 상위집합은 비빈번이므로 Apriori가 가지치기한다.
  • k개 항목의 빈번집합이 만드는 방향 규칙은 2ᵏ-2개다.
  • FP-Growth는 FP-tree로 거래를 압축해 명시적 후보 생성을 줄인다.
  • 규칙은 이후 기간에서 재검증하고 업무 증분효과는 실험으로 확인한다.

자주 틀리는 부분

  • 합집합 기호 X∪Y를 “둘 중 하나만 포함”으로 읽지 않는다. 여기서는 거래가 두 항목집합을 모두 포함한다는 뜻이다.
  • 신뢰도가 높으면 향상도도 항상 높다고 보지 않는다.
  • X→YY→X의 신뢰도가 같다고 보지 않는다.
  • 향상도 1을 인과효과가 0이라는 뜻으로 해석하지 않는다.
  • 큰 향상도의 희귀 규칙을 거래 수·불확실성 확인 없이 채택하지 않는다.
  • 최소지지도를 낮추면 좋은 규칙만 늘어난다고 보지 않는다.
  • 동시출현 규칙을 시간 순서 규칙으로 바꾸어 읽지 않는다.
스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01예제에서 count(A∩B)=15, count(B)=50일 때 confidence(B→A)는?
정답 및 해설

0.30

024개 항목으로 이루어진 하나의 빈번 항목집합에서 만들 수 있는 비어 있지 않은 선행항·후행항 방향 규칙 수는?
정답 및 해설

14

공집합과 전체집합을 선행항으로 쓰는 두 경우를 제외한다.

03Apriori의 지지도 반단조성에 관해 올바르게 설명하시오.
정답 및 해설

비빈번 항목집합을 포함하는 모든 상위집합도 비빈번이다.

04lift(X→Y)=1일 때의 의미를 올바르게 해석하시오.
정답 및 해설

관측 자료 전체에서 P(Y|X)=P(Y)인 독립 수준이며 인과 결론은 아니다.