19 Sept 2018

[통계] PSM 성향점수매칭 - Propensity Score Matching

Random assignment 를 통해 'treatment 를 제외한 모든 조건이 동일하다'는 가정을 하더라도

Observational study 를 하다보면 종종 selection bias 를 마주하게 된다.

나도 논문을 쓰다가 여기에 부딪히게 되었고, 그래서 접한 것이 Rosenbaum and Rubin(1983)의 propensity score 다.



---------------------------------------------------------------------------------------------------



1. Propensity score(PS)

 - 관찰 대상자가 가지고 있는 여러가지 특성(변수)을 고려하여 실험군과 대조군으로 구분할 때 각 집단으로 배정될 조건부 확률

 - 다시 말하면 관찰된 특성변수들의 집합을 가진 어떤 개체가 treated될 확률로 정의할 수 있다

 - Observational study 의 모든 조건이 동일하다는 가정 하에서 실험군과 대조군의 모든 특성변수별 분포는 동일할 것이다. 따라서 이 가정을 만족하기 위해 모든 특성변수의 분포가 동일한 실험군과 대조군을 설정하는 것이 필요하다.

 - 그러나 현실에서 정확히 동등한 조건의 실험군과 대조군을 설정하는 것은 매우 어려운 일이다.

 - 따라서 '동일하게' 해주기 위해서 사용하는 개념.. 즉 각 실험군과 대조군이 가지고 있는 성향(특성)을 점수로 산출한 것이 바로 PS



2. PS 산출방식

 - 그렇다면 어떤 변수를 몇개 고려해서 성향점수를 산출해야 하는가?

 1) 보고자 하는 주요 설명변수들 간에 분포차이를 유발하는 공변수들 (단변량 분석을 통한 통계적 방법)

 2) 대부분의 textbook과 다수의 연구에서 쓸 수 있는 모든 공변수를 사용할 것을 권장한다.

 3) 종속변수는 당연히 제외한다.

 4) 종속변수의 영향을 받는 변수들은 제외하는 것이 좋다는 해석.

     종속변수가 이직여부(1=이직,0=근속)라면 생애직업갯수 같은 것은 제외하는 게 낫다는 의미.

 5) 하지만 4)가 명맥한 경우가 아니면 그냥 있는 변수는 다 이용하는 것이 좋다는 의견도 있다.

     선행연구를 보면 다수의 PS연구에서 보통 변수를 수십개씩 이용하는 경우가 많았다.



3. PS의 이용방식

○ Matching

 - 실험군에 비해 대조군의 관측치가 많을 경우에 적절하다.

 - Propensity score Matching 방법

 (1) 먼저 여러개의 특성변수들을 이용해 각 관측대상의 PS값을 산출

 (2) 실험군과 대조군에 포함된 관측대상 중에서 가장 가까운 PS값을 가진 대상자를 을 지어준다.

 - 가장 가깝다는 것은 두 집단에 포함된 개체의 성향점수 사이의 거리 <!--[endif]-->  로 나타낼 수 있는데

 - 이 거리를 이용해 매칭하는 방법은 어떻게 가중치를 쓸지, 1:1로 매칭할지 1:m으로 할지 등등에 따라 여러가지 방법이 있다.

 - Nearest Neighbor Matching, Radius Matching, Kernel Matching, Stratification Matching, Mahalanobis Matching 등등..

 - 이렇게 다양한 방법들.. 알고리즘들의 장단점을 고려해 내 논문에서는 Kernel matching을 이용했다.

    커널유형으로는 Gaussian Function (ormal Distribution) 을 이용했다..

    여기서부터 멘붕이 온다면 이 매칭방법은 잠시 건너뛰는 것도 방법ㅎㅎ

 - 간단하게 진짜 PS가 가장 가까운 경우 매칭해주는 Nearest neighbor Matching, 그 중에서도 1:1매칭으로 설명해보겠다.

 - 1:1매칭은 실험군 1번개체와 가장 PS가 가까운 대조군개체를 먼저 짝짓는다.

 - 그 다음 남은 애들 중 실험군 2번과 가장 가까운 대조군개체를 짝짓는다.

 - 이런식으로 실험군이 모두 매칭될때까지 반복한다.

 (3) PS의 검증

 - PS의 검증을 위해 각 설명변수와 종속변수 사이의 인과관계를 먼저 구해보고,

 - 설명변수, 종속변수, PS를 포함해서 LR test 를 수행한다.

 - PS를 추가한 모델(즉, adjusted model)의 경우 설명변수가 이전에 갖고 있던 causality가 사라질 것이다.

   이미 PS(성향점수)로 설명이 되었기 때문이다. 만약 causality 가 여전히 남아있다면 PS 산출에 문제가 있는 것이다.

+ 덧,, 나는 커널매칭을 했는데, Bandwidth Parameter를 0.01로 설정하여 성향점수 거리가 가까울수록 충분한 가중치를 줄 수 있도록 했고, 성향점수를 계산할 때는 모형의 비선형성을 반영하기 위해 로짓(Logit) 모형을 이용하였다.



○ Regression adjustment/stratification

(1) Regression adjustment

 - 매칭만을 위해 계산하는 것이 아니라 아예 LR model의 변수로 PS 자체를 이용하는 것을 말한다.

 - PS자체가 실험군, 대조군의 다양한 특성변수들을 반영하고 있지만 그래도 최종 regression에 다른 설명변수들을 포함해줘야 한다.

 - PS를 넣어도 여전히 유의한 causality가 남아있는 변수들, 그리고 통제변수로 쓰일 여러 변수들을 넣어줘야 한다는 의미로 이해했다.



(2) stratification analysis 층화분석
 - PS를 tertile, quartile등으로 나누어 분석한다는 것인데, 요건 내가 아직 완벽하게 이해를 못했다.

 - 층화라는 건 관측대상이 잠재적인 교란요인, 즉 원래부터 인과관계 안에 존재하는 요인을 갖고있는지 확인하는 방법이다.

   예를 들어 기혼자와 미혼자 집단에서 다른 확률로 이직이 발생한다면 결혼여부 자체가 교란요인이 될 수 있다.

 - 극단적인 예로 결혼여부가 교란요인이 되어서 미혼자계층에는 실험군(이직자)만 있고 기혼자계층에는 대조군(근속자)만 있는 경우

   parameter estimate가 제대로 산출되지 않을 것이다.
 - 같은 계층에는 PS가 비슷한 실험군과 대조군이 모일 수 있고 이들의 공변수간 분포가 비슷하게 된다.

 - 실험군과 대조군의 특성을 나타내는 변수들의 분포에 차이가 많이 나는 경우에는 이 분석이 적절하지 않다.



○ Weighting

 - 회귀모형에 관측대상의 기여도에 따라 weight를 부과하는 방식에 PS를 이용하는 것이다.

 - 예를 들면 실험군의 가중치에 1/PS, 대조군의 가중치에 1/(1-PS) 이런식으로 가중치를 주는 것이다.

   이런 방법으로 얻은 추정치를 inverse-probability-Tx-weighted (IPTW) estimator 라고 한다고 한다.

 - 실험군의 가중치를 1, 대조군의 가중치를 PS/(1-PS) 로 두는 방법도 있다. 자세한 건 잘 몰라서 여기까지..



4. PS Matching의 장단점

1) selection bias를 상당부분 해소할 수 있고, 그로 인해 다른 요인들을 배제하고 treatment의 영향만을 측정하는데 용이하다.

2) 보정해야할 covariate가 많고 주요 설명변수 외에 위험요인, 교란요인이 3개 이상일 경우 (Rosenbaum, 2002) 유용하다.

3) 다만 실험군, 대조군의 설정과 매칭을 통해 관측대상의 규모가 줄어든다. 따라서 상당히 많은 샘플이 필요하다.

4) PS산출 시 부적절한 covariate이 포함된다면 효율성이 떨어진다.



5. Matching 방법 추가 설명

3번에서 간단히 설명한 매칭방법을 조금 더 구체화하면 다음과 같다.

1) nearest neighbor 방법

 - 실험군 대상자의 PS에 가장 가까운 PS값을 가지는 대조군 대상자를 1:1로 매치하고, 다 짝지을때까지 반복한다.

 - 이 때 성향점수가 가까운 대상을 하나가 아니라 다수로 설정(1:m)할 경우 더욱 안정된 추정치를 얻을 수 있다.

 - 그러나 1:m 매치도 문제점이 있는데, 넘 길어지니까 내 논문을 참고..

2) Caliper matching 또는 Radius matching 방법 - Cochran and Rubin(1973)

 - 1:m 매칭의 문제점을 일부 보완한 방법으로 매칭하는 범위(Caliper)를 적절하게 설정한 후

   두 집단 간 성향점수 거리를 그 범위 안으로 제한하는 것이다. (0.01~0.00001) 당연히 자의성 문제가 발생한다.

 - 실험군 대상자의 PS에다가... 설정한 caliper 안의 PS값을 가진 대조군 대상자를 무작위 추출해서 매칭한다.

 - 이로 인한 장단점은 논문 참고.. 넘 길다

3) Mahalonobis metric matching

 - 대상자를 각각의 좌표로 표시한 후 실험군과 좌표상에서 가장 짧은 거리에 있는 대조군 대상자를 매칭해준다.

 - 좌표를 구할 때 역시 범위를 설정해주는 것이 효율적이므로 caliper 법과 함께 사용할 수 있다.

4) Kernel matching

 - Radius matching 의 단점을 일부 보완한 방법으로 대조군의 모든 개체가 실험군에 포함된 모든 개체에 대해 매치될 때까지

   매칭을 수행하는 방식이다.

 - 커널매칭은 성향점수의 거리가 가까울수록 큰 가중치를 부여한다.

   이 방법은 인위적으로 Caliper를 설정할 필요가 없고, 실험군 뿐 아니라 대조군까지 주어진 모든 개체를 분석에 활용하므로

  정보의 손실을 최소화할 수 있다는 장점이 있다(Christopher Baum, 2006).



6. PS Matching과 difference in difference matching estimator

 - 내 논문에서는 PS를 계산해서 집단 간 매칭을 시켜준 후 이를 이용해 DID estimator를 계산하는 방식을 썼다.

 - 통계학과 계량분석을 많이 사용하는 전공자여도 여기까지는 많이 하지 않는 것 같다.

 - DID는 오늘의 주제 밖이므로 설명은 여기까지만..



7. PS Matching 시 주의사항

 1) PS매칭을 위해 복잡한 데이터처리를 각오해야 한다;;

 2) PS매칭 전에 각 변수들과 PS의 집단 간 분포를 반드시 확인해서 충분한 overlap이 있는지 검토한다.

    오버랩이 충분하지 않으면 분석해도 중요한 의미를 얻기 어려울수 있다.

 3) incomplete matching or inexact matching 의 가능성을 염두해서 매칭방법을 선택한다.

 - 정확한 matching을 위해서 가장 가까운 PS값을 선택하다보면 집단 간에 성향점수가 겹치는 영역이 점점 줄어든다.

   따라서 일부 관측대상에 대해서는 incomplete matching이 될 수 있다. 이거는 매칭방법의 설정에 따라 해결될 수 있다.

 - 매칭된 실험군을 최대화하기 위해 PS값이 좀 차이가 있더라도 짝짓기를 하다보면 inexact matching이 될 수 있으므로 주의한다.

 4) 위에서 단점으로도 언급했는데, 매칭하면 연구에 포함되는 대상자 수가 줄어들게 되므로 시작부터 샘플을 충분히 확보한다.

 5) 나는 분석을 위해 STATA의 PSMATCH2 함수를 이용했다.



참고:

2016, 대졸 초기경력자의 이직에 따른 효용개선효과 분석(The effects of employee turnover on utility)


*이 글은 논문을 작성하면서 접한 여러 자료를 통해 자습&정리의 목적으로 2015년 작성한 것을 수정한 글이다.

출처: http://blog.naver.com/uroworld

No comments

Copyright © 2018 Mid Air by Ahny. Powered by Blogger.