관측데이터로 인과 관계 파악이 가능할까? [Confounder, Collider]

홍성환·2022년 1월 12일
1

Machine Learning

목록 보기
2/5
post-thumbnail

1. Intro

  • "A 공정 -> 불량 판단" or "A공정 없이 바로 불량판단"이 있다고 가정해보자
    • P(불량) = 0.5
    • P(불량|A) = 0.3
    • P(불량|not A) = 0.7
  • 관측데이터를 살펴본 결과 위와 같은 결과가 나왔다.
  • Confidence가 낮아졌다.
  • A는 과연 불량률을 낮춰줄 수 있을까?
  • 즉, 우리는 A공정 단계를 추가해야할까?

2. 상황을 쉽게 바꿔 보자

  • 위 상황을 익숙한 상황으로 다시 풀어보자. A는 신발을 신었는지, 불량은 생존 했는지로 바꿔보자.
    • 어떤 사람이
    • A : 신발을 신고 잔다
    • 불량 판단 : 생존 여부
  • 신발을 신고자는 것과 다음날 무사히? 살아 있는 것이 무슨 상관이 있을까 싶은데 관측데이터를 살펴보니 아래와 같은 결과가 나왔다.
    • P(사망) = 0.01
    • P(사망 | A) = 0.2
    • P(사망 | not A) = 0.0001
  • 우리가 자살 하고 싶가면 신발을 신고자면 될까???

3. Confounder

  • "신발을 신고 자면 죽는다"라는 결론을 관측데이터로 부터 내리려면 Confounder가 없어야 한다는 전제가 있다.
  • 이 말이 뭐냐면.. "신발과 사망에 동시에 영향을 미치는 요소"(Confounder)가 없어야 한다는 것이다.
  • 위와 같은 상황에서 Confounder를 한번 만들어보자
  • 술을 4병이상 마시면, 정신상태가 정상이 아니라 길바닥에서 신발을 신고 자게 될 수도 있고, 알코올 중독으로 인해 사망할 수도 있다.
  • 즉 술을 4병이상 마시는 요소가 2개의 사건(생존 여부, 신발착용 여부) 모두에 영향을 미치는 것이다.
    • Confounder B = 술을 4병이상 마심
      • P(A|B) = 0.99 (술을 마시면 신발 신고 잠)
      • P(사망|B) = 0.2 (술을 마시면 사망함)
  • Confounder로 인해 마치 신발을 신으면 사망하는 것처럼 보였지만, 사실은 술을 마시면 사망을 할 확률이 높아진 것이다.
  • 이 Counfounder는 관측데이터에 없을 수도 있어서 파악이 힘들 수도 있다.

4. Confounder 통제

  • Confoudner를 우리가 모두 알고 있고 그것이 모두 관측 데이터안에 있다면?
  • 우리는 관측데이터로 부터 인과관계를 측정할 수 있게 된다.
  • 즉 Coufounder의 수준을 고정시키고 관측 데이터로 부터 조건부 확률을 비교하면 된다.
  • 즉 술이라는 요인이 사망에 영향을 주기 때문에 술을 똑같이 맞춰주고 비교해야하는 것이다.
    1) 술을 똑같이 많이 먹은 상태에서의 신발로인한 사망률
    2) 똑같이 술을 안 먹은 상태에서의 신발로 인한 사망률
    • P(사망|A,B) vs P(사망 |notA, B)
    • P(사망|A, not B) vs P(사망 |notA, not B)

Confounder가 존재하지만 여러 이유로 관측하지 못 했다면 인관관계는 측정할 수 없다.

5. Collider

  • Confounder만 통제되면 끝나는 걸까?
  • 새로운 경우를 가정해보자.
  • 술을 마시면 취한 모습, 건강 걱정 등 다양한 이유로 배우자를 우울증에 빠지게 할 수 있다.
  • 또한 내가 사망을 해도 배우자는 우울증에 빠질 수 있다.
  • Collider는 위에서 처럼 파악하고 싶은 두 요인이 동시에 영향을 미치는 요소이다.
  • 이때 술을 마셨을 때 생존을 하는지 관측데이터로 부터 검증하고 싶다면, 배우자의 우울증은 절대 통제 되서는 안된다.
  • 만약 관측데이터를 길거리 설문을 통해 얻었는데, 우울증에 빠진 사람은 집에만 있고 우울증이 없는 사람은 밖에 나와서 우울증이 없는 사람만 설문에 응답했다면 관측데이터에 의도치 않은 collider의 통제가 이루어진 것이다.

Collider는 절대 통제 되서는 안 된다.

6. 결론

  • 관측 데이터로부터 인과관계를 파악하려면 Confoudner와 collider를 모두 잘 파악하고 있어야함.
    (잘 파악하지 못 해도 통계적으로 적당히 해결하는 방법도 있지만, 이 포스팅은 기초이기 때문에.. 모두 알아야 한다고 생각하자..)
  • 관측 데이터로부터 인과관계를 파악하려면 Confoudner와 collider가 적절히 통제되고 있는지 알아야함.
  • 이 블로그에서는 "관측"데이터만 다루었는데, "실험"데이터는 상황이 다르다
profile
Machine Learning Engineer: recsys, mlops

0개의 댓글