인공지능관련/EM

EM3

학위논문통계 2016. 11. 14. 14:05

 

 

그럼 결측값이 있는 경우 그냥 무시하면 안 되는 경우에 대해서 이야기 해보죠.

 

데이터는 다음과 같습니다. 백화점 화장품 가계에서 손님이 왔을 때 V1는 손님의 성별, 0은 남자, 1은 여자, V2는 화장품 구매 여부, 즉 구매하지 않았을 경우 0. 구매했을 경우 1로 코딩했다고 하죠.

 

여기서 가정은 첫 번째 (V1, V2)와 두 번째 (V1, V2), 세 번째 (V1, V2) 등등은 각각 독립적입니다. 이게 현실에서 대부분 그렇게 되고요. 즉, 가족, 친구, 연인 관계가 아니면 독립적으로 볼 수 있고, 현실적으로 이게 타당하고, 그렇지 않으면 통계적으로 처리할 수도 없습니다. 이렇게 독립적인 아닌 경우는 시계열 데이터로 보고 분석을 해야 합니다. 일반적인 시계열 분석이나 마코프 체인 등의 모형을 가지고 분석을 해야 합니다.

 

단 (V1, V2) 사이는 독립이 아닙니다. 남자 손님의 경우가 여자보다 화장품 구매할 가능성이 많을 수가 있습니다. 여자친구나 부모, 여직원에게 선물용으로 구매할 가능성이 높고, 또 평소 남자 손님은 잘 안 오는데 남자 손님이 매장을 방문했다고 이건 화장품을 살 목적으로 왔을 가능성이 높습니다. 반대로 여자 손님은 아이쇼핑일 가능성이 높고요. 

 

 

X(남자, 여자)

Y(화장품 구매 여부)

X1=0

Y1=1

X2=1

H2=?

X3=0

Y2=0

H1=?

Y3=1

H3=?

H4=?

 

 

결측값의 경우 결측값 자체를 추정하는 것이 아닙니다. 결측값이 있는 상태에서 우리가 알고 싶은 것은 모르지만 모형의 구체적인 모습을 결정하는 모수 p1, p2. p3, p4를 추정하는 것입니다. 우리가 관찰한 데이터를 통해서요.

 

 

결측값 추정은 제가 따로 책을 보지 않아서 잘 모르겠지만 제 추측에는 이런 방법이 제일 좋지 않을까 싶습니다. 어떤 변수에 결측값이 들어 있으면 그 변수에 영향을 미치고 적합도가 매우 높은 변수를 회귀분석, 로지스틱, 또는 다중 로지스틱 분석을 하여 나온 회귀식을 이용하여 결측값을 예측하면 될 것 같습니다.

 

 

하여간 위의 경우 결측값 H3와 H4는 아무런 의미가 없습니다. 애초에 그냥 없는 관찰치라 생각하시면 됩니다. 왜냐하면 (H3, H4)는 앞의 변수 (X, Y)짝하고 독립이기 때문에 나중에 결합 확률 분포 f(x1, x2, x3, y1, y2, y3, h1, h2, h3, h4)에서 주변 확률분포 f(x1, x2, x3, y1, y2, y3, h1, h2) 구할 때 그냥 적분이나 summation 과정에서 날라 갑니다. H3과 H4를 제외한 변수들 모임을 W라 하면

 

 

f(w, h3, h4)=f(w)*f(h3,h4)

 

이라서

 

f(w)=적분(h3,h4)f(w)*f(h3, h4)

        

=f(w)*적분(h3, h4)f(h3,h4)=f(w)

 

 

가 되기 때문입니다.

 

맞는지 안 맞는지 제가 실제로 계산은 하지 않아서 확신은 못하겠지만 위의 문제는 다항분포 처럼 생각해서 풀 수 있을 것 같습니다.

 

즉 새로운 변수 W를 다음과 정의합니다.

W=1(X=0, Y=): 남자이고 구매하지 않는 경우,

W=2(X=0, Y=1):남자이고 구매한 경우,

W=3(X=1, Y=0): 여자이고 구매하지 않는 경우,

W=4(X=1, Y=1):여자이고 구매한 경우 이렇게 생각할 수 있습니다.

 

각각 나올 확률은 p1, p2, p3, p4=1-p1-p2-p3-p4 라 하고요.

 

 

그런 다음 전체 데이터에서 각각의 경우가 나온 회수를 셉니다. 이를 변수 Z라 정의하죠. 우리의 데이터 경우

Z1=1, Z2=1, Z3=0, Z4=0 이고 그리고 관찰되지 않은 H1과 H2가 있습니다. H1의 경우 (H1=?, Y3=1)이니까 이것이 관찰된 확률은 Pr(Y3=1) 즉 화장품을 구매한 경우입니다. 이건 p2+p4이고요. 또 H2의 경우 (X2=1, H2=?)이니까 이건 여자일 확률입니다. 이게 관찰될 확률은 Pr(X2=1)=p3+p4입니다.

 

따라서 (X,Y, H)의 결합 확률밀도는

 

f(x1, x2, x3, y1, y2, y3, h1, h2, h3)

 

=f(z1,z2,z3,z4, h1, h2)

                                                         

=nC(z1,z2,z3,z4)*p1z1*p2z2*p3z3*p4z4*Pr(H1, Y3)*Pr(X2, H2)

 

= nC(z1,z2,z3,z4)*p1z1*p2z2*p3z3*p4z4*(p2+p4)*(p3+p4)

 

 

입니다. 이걸 로그 취한 LLF(log Likelihood Function)은

 

LLF=log(nC(z1,z2,z3,z4))+z1*log(p1)+z2*log(p2)+z3*log(p3)+z4log(p4)+log(p2+p4)+log(p3+p4)

 

 

이걸 각각 p1, p2, p3에 대해 미분하고 그리고 0으로 놓고 풀면 됩니다. 아니면 바로 관찰된 값, Z1=1, Z2=1, Z3=0, Z4=0을 넣으면

 

LLF(Z1=1, Z2=1, Z3=0, Z4=0)

 

=log(nC(z1,z2,z3,z4)))+z1*log(p1)+z2*log(p2)+log(p2+p4)+log(p3+p4)

 

로 더 간단하게 되겠죠. 이걸 미분한 다음 0으로 놓고 p1, p2. p3를 추정하면 됩니다.

 

그래서 화장품 구매의 경우 다항분포로 바꿔 일반적인 MLE를 적용하는 것이 될 것 같은 생각이 들지만 확실히 장담을 못하겠네요. 다항분포로 바꾸는 것이 논리에 맞는 것인지요....

 

 

다음에는 그럼 왜 EM 알고리즘을 사용하는지 그리고 EM 알고리즘의 기본 개념에 대해 설명하고 그리고 교과서에 많이 나오는 예를 구체적인 계산 방법까지 설명해 드리겠습니다.

'인공지능관련 > EM' 카테고리의 다른 글

혼합모형(Mixture Model)  (0) 2016.12.03
EM 공식 이해하기  (0) 2016.11.29
EM 이해하기4  (0) 2016.11.28
EM 이해하기2  (0) 2016.11.10
EM 알고리즘 이해1  (0) 2016.11.10