본문 바로가기
Data Analysis

연관분석(Association Analysis)과 평가 측도

by rubyda 2021. 2. 3.
728x90

연관분석(Association Analysis)이란?

룰기반의 모델로 상품과 상품사이에 어떤 연관이 있는지 찾아내는 알고리즘입니다. 여기서 말하는 연관이란??

 

- 얼마나 같이 구매가 되지?

- A아이템을 구매하면 B아이템을 구매하는가??

 

다음 두가지 정도로 생각해볼 수 있습니다.

 

연관분석은 어떤 상품들이 한 장바구니 안에 담기는지 살피는지 모습과 비슷하기 때문에 장바구니 분석이라고 표현하기도 합니다.

 

http://www.goldenplanet.co.kr/blog/2016/02/16/%EB%B9%84%EC%A6%88%EB%8B%88%EC%8A%A4-%EA%B0%80%EC%B9%98%EB%A5%BC-%EB%A7%8C%EB%93%9C%EB%8A%94-7%EA%B0%80%EC%A7%80-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B8%B0%EB%B2%95/

 

가장 유명한 사례로 월마트 사례가 있습니다. 월마트에서는 맥주를 구매할때 기저귀를 같이 구매한다는 규칙을 발견해서 둘을 함께 진열하는 전략을 세웠다고 합니다.

 

 

이런 연관분석을 측정하기 위해서는 평가지표들이 필요합니다. 평가지표에는 지지도, 신뢰도, 향상도가 있습니다. 이 3가지에 대해 알아보도록 하겠습니다.


측정 방법

(1) 지지도( Support)

지지도는 전체 거래중에서 품목 A와 B가 동시에 포함된 거래의 수를 의미합니다.

 

지지도는 좋은 규칙(빈도가 많거나, 구성비가 높거나)을 찾거나 불필요한 연산들을 줄일때 기준으로 사용합니다.

지지도의 공식은 다음과 같습니다.

 

(2) 신뢰도(Confidence)

신뢰도는 품목 A가 구매되었을 때 품목 B가 추가로 구매될 확률을 의미합니다. 즉 조건부 확률입니다.

신뢰도가 높다면?? 유용한 규칙일 가능성이 높다고 할 수 있습니다.

 

신뢰도는 아이템 집합 간의 연관성 강도를 측정하는데 사용합니다.

 

 신뢰도의 공식은 다음과 같습니다.

 

(3) 향상도(Lift)

향상도는 품목 A를 구매할 때 B도 구매하는지 서로 간의 연관성을 파악하는 비율을 의미합니다.

 

향상도는 생성된 규칙이 실제 효용가치가 있는지를 분석할때 사용합니다. 공식과 같이 조건절과 결과절이 서로 독립일 경우와 비교해서 두 사건이 동시에 얼마나 발생하는지 그 비율로 나타냅니다.

 

향상도가 1이면 조건절과 결과절은 서로 독립임을 의미합니다. 즉 연관성이 없다고 생각하면 됩니다. 향상도는 1보다 높을수록 연관성이 높음을 의미합니다.

 

  • > 1 이면 양의 상관관계
  •  = 1 이면  독릭접인 관계
  • < 1  이면  음의 상관관계

위 평가지표들을 적절히 사용해서 기준을 정해 규칙을 생성해야 합니다. 

 

 


참고

출처: https://rfriend.tistory.com/191 [R, Python 분석과 프로그래밍의 친구 (by R Friend)]