아래 책을 정리한 내용입니다.
https://product.kyobobook.co.kr/detail/S000202934516
데이터 분석과 비판적 사고 | 에단 부에노 데 메스키타 - 교보문고
데이터 분석과 비판적 사고 |
product.kyobobook.co.kr
간단 리뷰
전반적으로 데이터 기반으로 좋은 의사결정을 하기 위해 필요한 역량에 대해서 설명한 책이다. 책에서는 크게 데이터에 대한 분석적 능력과 이를 기반으로 명확한 의사결정을 하는데 필요한 사고과정의 중요성을 얘기해준다.
인과관계와 상관관계를 등식으로 풀었던 점이 가장 인상깊었다. 아래 식이 사실 이 식의 메인인데, 우리가 관찰하는 평균간의 차이에는 실제 인과관계에 편향과 잡음이 껴있다.
상관관계에는 이러한 ATT에 대한 편향이 껴있기 때문에 우리는 상관관계가 꼭 인과관계를 가진다고 판단하기 어려운 것이다. 책에서는 이 식에 대한 관계를 설명해주고 ATT에 대한 편향에는 어떤 것들이 있고 이것을 어떻게 대처해야하는지에 대한 설명을 해주어서 도움이 많이 되었다.
표본의 평균 차이 = ATT + ATT에 대한 편향 + 잡음
읽으면서 추가적으로 느꼈던 점은 이전 통계 실험에서는 사람, 혹은 현실을 대상으로 진행하다보니 실질적으로 통계에서 고려해야하는 대상들이나 전제들이 굉장히 많았다면 우리는 모바일, 웹사이트에서는 무작위로 유저들을 테스트할 수 있는 환경도 있고, 실제로 유저는 본인이 실험 중이라는 것조차도 모를 정도로 완벽한 조건에서 실험을 할 수 있다는 측면에서 어쩌면 더 명확한 결과를 얻을 수 있는 것이 아닐까 하는 생각이 들었다.
책의 좋은 점
1. 굉장히 많은 예시가 나와있어서, 개념적 이해를 하고 넘어가는데 있어서 도움이 된 책이다.
2. 수학적 공식은 따로 없어서 인과추론의 전체적인 궤를 판단할 수 있어서 좋았다.
1장. 데이터 기반 시대에 명확하게 사고하기
1장은 여느 책과 유사하게 데이터 분석의 중요성과 더불어서 명확하게 해석하는 능력의 중요성을 강조했다.
세상에 데이터는 많아지고 있고 "데이터 분석"이라는 기술 자체에 대해서 집중되고 있는 상황에서, 심지어 AI가 이러한 사고까지 대체할 수도 있다고 얘기하고 있지만 최종적으로 이를 받아들이는 것은 인간이기 때문에, 데이터 분석과 비판적 사고는 사실 서로 보완하는 관계이지 대체할 수 있는 관계는 아니라는 것이 1장의 주된 내용이다.
2장. 상관관계 : 무엇이며 어디에 쓰이는가?
정의
상관관계란, 두가지 일이 함께 일어나는 경향의 크기를 의미한다. 이를 측정하기 위해서는 두가지 일에 대해서 명확한 비교가 있어야 한다.
상관관계의 쓰임새
- 관계 서술
- 예측 : 단순히 관계 서술에 사용하는 것이 아니라 예측을 한다면 명확한 전제가 있어야 한다. 표본에서 발견한 상관관계가 데이터에서 우연히 발생한 변이의 결과일 뿐인지 광범위한 현상을 대표할 만한지가 있어야 하고 표본 자체가 예측할 대상을 대표할만한지 잘 생각해봐야합니다.
- 인과 추론 : 현실에서도 많은 사람들이 상관관계를 이용하여 인과를 추론하고는 하는데 이 때 주의할 점이 많으며 이에 대해서는 책 전반에서 다룰 예정이라 패스한다.
상관관계의 측정
1. 공분산
공분산은 (x와 x평균과의 차이)와 (y와 y평균과의 차이)를 곱한 값들의 평균인데, 상관관계를 판단하는데에도 쓰이는 지표이다. 직관적으로 보면 양의 상관관계라고 한다면 x가 x평균보다 월등히 크면, y역시도 y 평균보다 클 것이다. 반대인 경우에도 음수 곱하기 음수여서 플러스가 된다. 그럼 둘이 곱한 값 역시도 크기 때문에 양의 상관관계를 가질 경우에는 공분산이 크다고 볼 수 있다. 반대로 음의 상관관계는 -이기 때문에 공분산이 작아진다.
2. 상관계수
공분산을 x, y의 표준편차로 각각 나눈 값으로 -1에서 1사이의 값을 가진다. 일종의 정규화를 했다고 보면 된다. 의미는 공분산과 유사하다고 인지하면 된다.
해석의 관점에서는 y의 분산 중에서 x가 설명할 수 있는 비율, x의 분산 중, y가 설명할 수 있는 비율로 설명할 수 있다.
3. 회귀계수 기울기
가장 직관적으로 예측에 활용할 수 있는 수치로, x축과 y축으로 그렸을 때 기준으로 보면 y에 대한 x의 회귀계수 기울기는 x,y공분산 / x의 분산으로 표현할 수 있다. 축을 바꾸면 x,y공분산 / y의 분산이다.
선형성에 관한 직설
우리가 하는 대부분의 통계적 작업들이 선형성을 기반으로 하고 있기 때문에 실제 시각적으로 데이터를 보지 않고 판단하면 상관관계가 없다고 판단을 내릴 수 있다.
하지만 실제로 비선형 속에서 관계를 가질 수도 있기 때문에 이러한 점에 유의해야한다.
3장 인과관계 : 무엇이며 어디에 쓰는가?
어떤 특성에 생긴 변화가 다른 특성에 일으킬 수 있는 변화를 우리는 인과관계라고 한다. 현실에서 우리는 어떤 원인이 어떤 결과에 영향을 주었다는 것을 어떻게 확신할 수 있을까?
세계 1차 대전의 발발 원인을 "페르디난트 대공"의 암살이라고 책에서는 가르치고 있다. 하지만 실제로 대공이 암살당하지 않았다면 세계1차대전이 일어나지 않았을까? 이에 대해서 우리는 확신할 수 없다. 왜냐하면 대공이 암살당하지 않은 세계와 암살당한 세계 중 하나만 볼 수 있기 때문이다.
인과추론의 문제는 어떤 시점에 한 분석 대상은 어떤 일에 있어서 하나의 상태만 관찰할 수 있는 한계가 있다는 점이다.
그럼 이를 어떻게 측정할 수 있을까? 여기에서 새로운 개념이 등장한다.
반사실성과 잠재적 결과 : 우리는 명확하게 어떤 특성에 생긴 변화가 다른 특성에 영향을 줬다고 어떻게 측정할 수 있을까? 책에서는 어떤 의료식품에 대한 예시를 들었지만 A/B 테스트와 동일하다.
동일한 특성에 대한 효과를 측정하기에는 하나의 분석 대상은 하나의 상태만 관찰할 수 있기 때문에 측정이 어렵다. 그래서 우리가 동일한 가상세계를 가지고 있다고 하고 하나의 집단에는 그대로, 하나의 집단에는 알고 싶은 특성에 대해 변화를 줬을 때(조치 T) 그때의 가상세계를 반사실적 세계라고 하고, 그 때의 결과를 잠재적 결과라고 볼 수 있다는 것이다.
이 둘을 비교해서 결과의 차이가 있다면 우리는 인과관계가 있다고 볼 수 있다는 것이 책에서 얘기하는 인과관계의 핵심이다.
인과관계가 상관관계를 내포하고 있는 것은 아니다.
예를 들어보자. 해당 화재 현장에서 달려오는 소방관의 수와 화재 피해는 양의 상관관계를 가지고 있다. 하지만 똑같은 화재 피해에 대해서 소방관의 수가 적어진다면 화재 피해가 커진다는 인과관계를 알 수 있다.
4장 : 상관관계에는 변이가 있어야 한다.
상관관계를 측정할 때에는 서로 비교할 수 있는 변화 데이터가 있어야 한다. 이중에 때로는 인간들은 일상생활에서 상관관계 측정할 때 종속 변수를 취사선택하는 경우들이 있다.
종속변수를 취사선택한다는 것은, 우리는 어떤 사건이 발생했을 때 그 사건이 발생하는 원인을 분석하는 과정에서 종속결과인 어떤 사건이 발생했을 때에 대해서만 원인 분석을 한다는 것이다.
아웃라이어라는 책에서는 특정분야에서 성공한 사람들의 특징으로 특정 분야에 대해서 "1 만 시간"을 투자했다는 것을 근거로 삼아서 특정 분야에서 성공하기 위해서는 1만시간 정도 노력하면 된다는 얘기를 하고 있다.
위의 종속변수를 취사선택한다는 관점에서 보면 성공한 사람만을 종속변수로 두고 상관관계를 분석하면 안된다는 것이다. 실제로 성공하지 않은 사람들조차도 1만 시간을 투자한 사람이 많은지 그 비율은 어떻게 되는지 분석한 후에야 저런 결론을 내릴 수 있다는 것이다.
또 하나의 예시로 어느 마을에 사는 사람이 10000명이라고 하고, 어떤 병 A에 걸린 사람이 그 중 500명이라고 하자. 이 때 병에 걸린 사람이 왜 병에 걸렸는지 조사하는 과정에서 그 500명 모두 특정 음료수 B를 마셨다는 것을 발견했다.
이 정보만 가지고 우리는 병의 원인으로 음료수를 마셨다는 것으로 결론 내릴 수 있을까? 만일 그 음료수가 생수였다면 어떨까?
병에 걸리지 않는 9500명 역시도 수돗물을 마셨는지 검사해야한다는 의미이다. 예시를 너무 쉽게 들었지만 실제로 회사에 가서 일을 해보면 이런 상황을 굉장히 많이 발견하게 된다.
특정 경쟁사 제품이 왜 잘되는지 분석해보자. 우리가 왜 잘되었는지 분석해보자와 같은 분석을 하는 과정에서 많은 사람들이 가지게 되는 문제이다.
5장 : 관계 서술과 예측에 쓰는 회귀
회귀
- 앞에서 배웠던 것처럼 둘 간의 상관관계를 표현해줌과 동시에 데이터를 관통하는 최적합선을 찾는 것이다.
- 그래프 모양을 보고 구간에 따라서 선형회귀를 할 수도 있다. (나이를 기준으로 몇살 아래는 양의 상관관계 몇살 이상은 음의 상관관계.)
과적합
- 때때로 엄청 복잡하게 모델에 수많은 변수를 무작위로 생성하다보면 R-Squared가 높게 나오는 경우가 있다. 이는수많은 변수를 무작위로 생성하다보면 개중에는 분석하는 결과와 순전히 우연히 상관관계를 갖는 변수가 나와서이다.
- 우연히 얻은 허상에 불과한 이 변수들을 가지고 우리가 미래를 예측한다면? 과연 우리는 그 결과를 믿을 수 있을까?
6장 : 표본, 불확실성, 통계적 추론
요약
- 모든 정량적 추정은 다음 세가지 요소(대상의 실제 수치, 편향, 잡음의 합)이다.
- 분석가는 통계적 가설 검정을 통해서 추정치가 잡음으로 인해 발생할 가능성을 판단할 수 있다.
- 통계적 유의성과 실질적 유의성은 다른 개념이며 구분해야한다.
추정
앞에서 우리는 우리가 가진 데이터 안에서의 관계에 집중했다면 이제 좀더 확장해서 우리가 가진 데이터를 기반으로 더 확장된 집단에 대한 관계 또한 추론해보고 싶다.
이를 해결하려면 우선은 아래의 식으로 좀 정리를 해보려고 한다.
추정치(estimate) = 추정 대상(estimand) + 편향(bias) + 잡음(noise)
추정치 : 분석 결과로 얻는 수치
추정 대상 : 우리가 파악하려는 모집단에 존재하는 분석 대상의 실제 수치이다. 우리는 추정대상에 가까운 추정치를 만들고 싶다.
잡음 : 우연히 발생하는 특이한 오차
편향 : 우연하지 않은 이유로 발생하는 오차
보통 잡음은 표본을 추출하는 과정에서 발생할 수밖에 없는 자연스러운 변동성이라고 부른다. (표본 변동이라고 부르기도 한다.)
정밀과 편향
위의 편향은 우리가 정답으로 맞추려는 답과 얼마만큼 차이가 있는지를 보여주는 수치라면 정밀은 우리가 예측하는 값들이 얼마만큼 모여있는지(반복할 때마다 비슷한 값을 뱉어내는지)를 의미한다.
편향이 작고 정밀이 높으면 좋다고 볼 수 있겠지만, 때로는 이 둘을 다 만족시키기에는 쉽지 않은 경우도 있다.
편향은 오차를 보면 될것 같고 정밀은 어떻게 측정할 수 있을까?
수많은 표본을 뽑아내면 표본이 만들어내는 분포를 그릴 수 있게 된다. 우리가 잘 추정했다면 추정량의 평균과 추정 대상은 같을 것이고, 이를 활용해서 표본이 만들어낸 분포의 평균으로부터 표본이 얼마만큼 떨어져있는지를 측정하는 "표본 오차"를 활용해서 측정할 수 있다.
이 표본 오차는 p(1-p)/루트(표본의 수)로 표현할 수 있으며, 당연히 표본의 수가 많아질수록 추정대상과 가까워지기 때문에 오차는 줄어든다.
또다른 방식으로는 신뢰구간이 있다. 이도 분포와 동일하며 대신 95%, 98%와 같은 주어진 신뢰구간에 맞는 값을 제공해서 신뢰구간 안에 얼마만큼 값들이 들어가는지를 통해서 판단한다.
*더 정확한 신뢰구간의 표현은 "편향이 없는 추정량을 무한히 많이 반복해서 추정하면 실제 추정대상은 그 중 95%의 시도에서 95% 신뢰구간에 들어간다고 말할 수 있다.
통계적 추론과 가설 검정 : 표본에서 구한 추정치로 어떻게 모집단에 관해 추론할까?
*가설 검정 자체는 너무 자주 나오는 내용이라 이 문단에서는 도움되었던 내용만 정리했다.
통계적 추론은 가설 검정을 통해서 추론하며, 이 검정에 대해 통계적 유의성으로 p-value를 활용한다.
p-value는 귀무가설이 참일 확률이 아니라, 귀무가설이 참이라고 했을 때 추정치만큼 극적인 결과를 얻을 확률이다. 이는 명확하게 다르며 전자는 구하기가 굉장히 복잡하다.
귀무가설을 다르게 정의해보면, 데이터에 나타난 어떤 특성이 순전히 잡음 때문이라는 가설
통계적 유의성과 실질적 유의성
앞에서 우리는 통계적 유의성을 알아보았다. 이는 우리의 의견이 맞다, 아니다 정도만 검증할 수 있지 실제 우리가 그 상관관계를 활용해서 얼마만큼 투자해야하는지, 얼마만큼 무엇을 해야하는지에 대한 인사이트는 얻을 수 없다.
7장 : 과도한 비교, 부실한 보고
설명을 위한 예시 - 라울 이야기
한 때 월드컵에서 승부예측을 잘한다는 문어 "라울"이 있었다. 이 라울은 14경기에서 12경기를 맞췄는데 승부 예측이 동전던지기와 같이 0.5의 확률이라고 한다면 14번 중에 12번을 모두 운으로 맞출 확률은 매우 낮다.(0.001%정도)
그래서 사람들은 라울이 진짜 승부 예측 능력이 뛰어나다고 얘기를 한다.
이제 여기서 시작해보자.
라울은 독일에서 태어나고 자랐다. 독일은 축구를 잘하는 편이다. 그래서 독일 국기를 자주 접해서 그런지 독일을 자주 선택했다. 그럼 실제 예측 확률을 0.5에서 0.8정도로 한다고 했을 때에도 맞출 확률을 비교해보면? 0.03정도로 올라간다.
그래도 여전히 이 값은 통상적인 p-value인 0.05보다 낮은 수치이다.
이제 관점을 라울에서 전체적인 관점으로 보자. 라울 자체는 정말 신기할 정도로 잘 맞춘다. 이걸 보고 많은 사람들이 동물에게 승부를 맞춰보는 작업들을 했고, 실제로 예전에도 해왔었다.
무수히 많은 동물들을 대상으로 테스트를 했을 때, 그 중에 한개 정도 이상하리만큼 잘맞추는 케이스가 발견할 확률로 보면? 이것은 불가능할까?
가능하다. 그리고 그런 케이스가 라울이라면? 그렇게 보면 우리는 이제 수많은 시도 가운데 라울이 발생하는 것은 26%까지 늘어난다. 이제 좀 일어날만하다는 생각이 든다. 물론 라울을 사육하는 주인의 관점에서는 라울이 정말 신기하고 영험력이 높다고 생각할 수 있다. 하지만 전체 시스템 관점으로 보면 라울은 운좋게 그런 케이스에 포함된 것 뿐이다.
물론 위의 얘기 또한 라울이 영험하다 영험하지 않다라는 것을 판단하기에는 부족하다. 지속적으로 시행을 높여서 계속 라울이 맞출 수 있는지를 살펴봐야 좀 더 정확한 결론을 내릴 수 있지 않을까?
출판편향
위에서 말한 현상이 과학계에서도 나온다.
과도한 비교를 하게 되면 어느 순간 P-value보다 낮은(유의미한 차이가 있다고 보이는) 실험 케이스가 보일 것이고 이러한 케이스만 골라서 (논문은 주로 유의미한 경우에 한해서만 학문적 성과가 있다고 판단하므로) 이를 출판하는 경우(부실한 보고)가 있다.(물론 이는 학문적으로는 옳지 않다.)
이러한 논문들이 많이 생겨나면 생겨날수록 문제는 커진다. 비슷한 연구를 하는 많은 사람들은 연구대상인 "추정 대상"을 편향 없이 추정하는 것을 목표로 하고 있다.
하지만 만일 과도한 비교와 부실한 보고로 편향있게 추정하게 되면 이제 그 이후의 실험들은 그 기준으로 연구를 지속하고 지속적으로 그 결과는 편향을 만들어낼 것이다. 진실은 점차 흐려지게 되는 것이다.
p-hacking
통계적으로 p-value가 마치 결과를 모두 결정하는 것처럼 느껴지다 보니 실험결과가 유의한 결과가 나올 때까지 비슷한 실험을 계속 시도할 수 있다. 잡음이 있기 때문에 실험을 반복하면 실제로는 유의미한 결과를 얻어낼 수 있다.
또는 특정 통계검정을 하는 과정에서는 많은 실험 방법론들이 있다. 고차항, 단순회귀, 성별/연령과 같은 분류를 넣는 등 이렇게 서로 다른 방식을 시도하다보면 실제로는 아무 관계가 없더라도 결국 통계적으로 유의한 결과를 발견할 것이다.
p- 검열
반대의 케이스이다. 똑같은 약에 대한 치료 효과를 20개의 연구실에서 개별적으로 했다고 하자. 이 때 19개의 연구실은 통계적으로 유의미한 결론을 얻지 못했다. 하지만 보통 연구자들은 "통계적으로 유의미하지 않았다"는 결론을 담은 논문을 내지는 않는다. 이걸 논문으로 쓰기보다는 더 유망한 주제로 관심을 돌린다. 이런 문제를 서랍에 넣어둔다고 해서 서랍문제라고 한다.
근데 딱 1개의 연구실만 제대로 실험했고 p-hacking을 하지 않고 한번의 실험으로 결과를 얻었다고 하자. 언론에서도 어떤 약이 효과가 있다는 기사가 더 잘팔리고, 효과가 없다는 기사는 관심이 없듯이 이 연구실은 언론과 논문을 게재했다고 하자.
결국 출판된 결론은 약이 효과가 있다는 논문 1개 뿐이다. 만일 19개의 연구실에서는 유의미한 결과가 안나왔다고 하고, 1개의 연구실에서만 유의미한 결과를 얻었다는 정보를 알고 있었다면 우리는 기사에 나온 약이 효과가 있다는 사실을 믿고 약을 살 수 있을까?
이처럼 연구자들은 정직하게 행동했음에도 과학적 기록들은 때로는 과대편향되었을 수 있다.
해결책
물론 이미 이 문제에 대해서 깊이 고민하고 있고 완전히 해결되지는 않긴 했다.
1) p값을 매우 낮추기
0.05보다 더 낮춰서 0.005로 하자는 것이다. 하지만 이럴 경우에는 오히려 p-hacking이 더 많이 발생시킬 여지가 있다.(어떻게든 논문을 게제하려고 계속 실험을 하는 것이다.)
또한, 이렇게 p값을 낮춰버리면 귀무가설이 거짓임에도 참이라고 인정하는 경우가 늘어나게 된다. 물론 참인데 거짓이라고 하는 케이스는 줄어든다.
2) 복수 검정하기
하나의 검정만 하는 것이 아니라 여러번 함으로써 신뢰도를 얻는 것이다. 라울 사례처럼 한번의 결과만 논문에 작성하는 것이 아니라 여러번 했을 때의 결과물도 함께 제공해서 우연히 일어나거나 p-hacking하지 않았음을 공유하는 것이다.
3) 사전 등록
미리 실험을 진행하기 전에 실험 횟수나 실험 방식들을 사전에 약속하면 추후 논문 결과에서 10회로 예정된 실험이 3회인 경우 그 결과에 대해서 합리적으로 의심할 수 있다.
4) 재현
추정 효과가 실제로 유효한지 논문에 정의한 실험 방식대로 그대로 실행하는 것이다.
실생활에서의 적용
이러한 문제들은 비단 학계에서만 발생하는 것은 아니다. 은행에 가게 되면 금융 상품을 추천받게 되는데, 그런 금융 상품을 추천받을 때 "이 상품은 8년간 다른 펀드 대비 28% 더 높은 수익률을 얻었습니다."라고 듣자.
이 때 아 좋구나 이렇게 생각할수도 있지만 왜 하필 8년이 기준일까? 라고 볼 수도 있고, 7년, 10년, 15년에서는 오히려 낮은 건 아닐까? 라고 볼 수도 있다. 왜냐하면 상품 자체가 어떤 특성에 따라서 동작하기 때문이다.
이처럼 현실에서도 위에서 말한 문제가 존재한다는 것을 인지하면서 명확한 사고를 하면 좋을 것 같다.
8장 : 평균으로의 회귀
연구자들은 연구결과를 다시 실험했을 때 똑같은 결과를 얻을 수 있는 "재현성"을 중요시 한다.
하지만 연구를 하다보면 추후의 실험들은 대부분 첫번째 진행한 실험보다 효과(통계적 차이)가 점차 줄어드는 현상을 많이 발견한다고 한다.
이 장에서는 이에 대해 배우는데, 좀더 쉽게 이를 아버지와 자식의 키를 통해 비교해보자.
만일 아버지의 유전자를 대부분 자식들이 따른다면 기본적으로 회귀선의 기울기는 45도(1)일 것이다. 하지만 실제로 보면 기울기가 1보다 작게 되어 있는데, 이를 "평균으로의 회귀"라고 한다.
상식적으로 보면 각각의 평균값들은 1에 가까울텐데 1보다 훨씬 작게 예측되는 이유는 무엇일까?
이는 앞서 우리의 공식에서 유추해볼 수 있다.
추정치(estimate) = 추정 대상(estimand) + 편향(bias) + 잡음(noise)
유난히 큰 아버지의 키가 아들의 키에 영향을 준다고 보면, 마침 아버지의 키에 noise가 섞였다면? 다음 세대인 아들에게는 똑같이 큰 noise가 섞일 확률보다는 좀더 평균에 가까워질 확률이 높다.
즉,우리가 추정하는 대상은 언제든지 잡음이 섞여있기 때문에 그 추정 대상을 기반으로 한 추정은 잡음에 영향을 받을 수밖에 없고, 잡음은 주로 평균이 0인 정규분포를 따르기 때문에 기본적으로 잡음이 0인 평균에 가까워질 수밖에 없다는 것이다.
이제 우리가 실험할때마다 그 효과의 차이가 줄어드는 것으로 다시 돌아가보자
앞에서 과도한 비교를 연구자는 괄목할만한 실험결과를 얻었다. 연구자는 실험결과가 유의미하게 나올때까지 하기 때문에 이 실험결과에는 잡음이 커서 발생할 확률도 매우 크다.
하지만 실험을 재현할 때 그렇게 큰 잡음이 나올 확률보다는 그보다 적은 잡음이 나올 확률이 더 크기 때문에 앞에서 말한 실험결과가 재현할때마다 줄어드는 현상을 설명할 수 있다.
9장 : 어째서 상관관계는 인과관계를 내포하지 않는가
우리는 상관관계가 있다고 해서 왜 그것이 인과관계를 가지지 않는다고 생각할까?
미국의 한 주에서 저소득층에서 대안학교의 입학여부와 학업 성취도와의 양의 상관관계를 확인했다. 하지만, 이게 인과관계를 가진다고 볼 수 있을까?
여기서 대안학교는 신청자가 매우 많아서 추첨을 통해서 입학인원을 선별한다. 하지만 우리는 여기서 전체 저소득층에서 대안학교 입학 여부에 따른 학업성취도를 본다. 대안학교에 신청한다는 건 부모가 교육에 관심이 있으며, 아이도 그만큼 재능이 있다는 것을 의미할 수 있다. 따라서 대안학교의 학업성취도 기여 효과를 측정하려면 일단 "변이"를 통제해야하고 실험 집단 또한 다른 변이에 영향을 받지 않게 통제해야한다. 예를 들면 대안학교에 신청은 똑같이 했고, 추첨에서 떨어진 사람과 떨어지지 않은 사람을 비교해야한다는 점이다.
실제로 책에서 이렇게 해서 분석한 결과 대안학교의 학업성취도에 미치는 영향은 거의 없다.
방금전 사례로 상관관계가 인과관계를 나타낸다고 오해하기 쉽다는 점과 이 점이 의사결정에 있어서 매우 큰 영향을 끼친다는 것을 확인했다. 이렇듯 두 변수 간의 상관관계를 인과관계의 강력한 증거로 해석해도 타당한 경우는 언제일까?
인과관계는 반사실성을 내포한다. 똑같은 대상에 대해서 반사실적 세계(가상의 세계)를 하나 더 만들어서 조치를 다르게 했을 때 결과를 봐야만 인과관계를 추론할 수 있다는 점이다.
1. 반사실적 세계가 존재해서 모든 집단이 어떤 조치가 이뤄졌을 때의 평균차이는 ATE(Average Treatment Effect)로 정의할 수 있다.
- mean(Y1) - mean(Y0)
2. 모집단을 대안학교에 다니는 집단(T)와 공립학교에 다니는 집단(U)라고 했을때 점수를 아래와 같이 표현한다.
- mean(Y_1T) : 대안학교에 다니는 집단의 평균 점수
- mean(Y_0U) : 공립학교에 다니는 집단의 평균 점수
3. 2번 또한 모집단의 차이이고 우리는 표본을 뽑아서 추출하는 것이기 때문에 표본의 평균 차이를 아래와 같이 표현할 수 있다.
- 표본의 평균 차이 = mean(Y_1T) - mean(Y_0U) + 잡음
보다시피 우리는 1의 차이로 인과관계를 추론해야하는데 2를 거쳐 3의 차이를 통해서 상관관계를 추출해서 1을 추론하려고 한다고 볼 수 있다. 실제로 우리가 알고 싶은 상관관계가 아니라 대안학교에 다니는 평균 효과다. 이를 파악하기 위해서는 조치 집단의 평균 조치 효과와 미조치 집단의 평균 조치 효과를 알아야한다.
추가 개념
ATT(Average Treatment effect on the treated) = mean(Y_1T) - mean(Y_0T)
ATU(Average Treatment effect on the Untreated) = mean(Y_1U) -mean(Y_0U)
4. 이제 식을 다시 표현해보자
1) 표본의 평균 차이 = mean(Y_1T) - mean(Y_0U) + 잡음 <- 여기에서 mean(Y_0T)를 더하고 빼보자
2) 표본의 평균 차이 = mean(Y_1T) - mean(Y_0T) + mean(Y_0T) - mean(Y_0U) + 잡음 <- 빨간색 파란색끼리 묶기
3) 표본의 평균 차이 = ATT + ATT에 대한 편향 + 잡음
*편향에 대해 추가적으로 얘기해보면 조치집단과 미조치 집단으로 구분된 표본에 대해서 둘다 조치를 안취했을 때의 평균 차이로 애초의 표본 집단 간의 편향을 의미한다.
그렇다면 편향은 어디에서 오는가?
책에서는 크게 교란효과와 역인과관계, 기작효과 이 3가지를 편향의 주요 원인으로 보고 있다.
교란은 독립적으로 조치와 결과 모두에게 영향을 주는 것을 의미한다. 예를 들면 학생의 재능이 교란효과라고 볼 수 있다. 학생의 재능이 있기 때문에 대안학교에 보내려고 할 것이고, 학생의 재능이 있기 때문에 똑같이 교육 받더라도 성적이 좋게 나올 수 있다. 하지만 이 둘에 미치는 효과는 독립적으로 일어난다.
역인과관계는 오히려 결과가 조치 상태에 영향을 미치는 것이다. 국가의 경제상황과 내전 사이에 나타나는 음의 상관관계는 오히려 내전이라는 결과가 많이 일어나서 국가의 경제상황을 낮추는 역인과관계를 만드는 것일 수도 있다.
기작은 조치로 인해 기작요소가 영향을 받고 기작 요소가 결과에 영향을 주는 방식이다.
이제 이런 편향과 상관관계의 관계를 설명해보려고 한다.
표본의 평균 차이 = ATT + ATT에 대한 편향 + 잡음
이 식을 다시 살펴보자. 만일 ATT에 대한 편향이 양의 방향으로 크고 우리가 이 편향을 인지하지 못한다면 우리는 실제 표본의 평균 차이(인과관계)에 대해 ATT가 기여하는 정도를 원래보다 크게 측정할 것이다.(과대 측정이고 당연히 반대는 과소 측정이다.)
즉 교란효과나 역인과관계가 있음을 안다면 우리는 이에 대한 편향을 잘 측정해서 ATT의 실제 효과를 파악할 필요가 있다.
끝으로, 누군가 상관관계의 추정치를 가지고 인과관계를 해석하려고 할 때 우리는 어떻게 명확하게 사고해야하는지 정리해보려고 한다.
1. 상관관계가 존재했는가?
2. 상관관계가 실제 관계를 반영하는가?(p-hacking이나 p-검열 혹은 표본상에 오차로 발생한 우연한 결과는 아닌가?)
3. 상관관계가 인과관계의 확실한 증거인가?(교란효과나 기작, 역인과관계는 없는가?)
위의 3가지 과정을 통해서 상관관계 = 인과관계처럼 해석하는 경우를 방지해야한다.
한가지 사례를 더 들어보면 책에서는 과학연구지출과 목을 맨 자살자의 상관관계가 매우 높음을 보여주고 있다. 사실 직관적으로 보면 매우 말이 안되는데, 어떻게 이런 결과가 나왔을까? 당연히 무수히 많은 변수들을 다 추출해서 상관관계가 좋게 나올때까지 돌려봤다고 한다. 즉 무수히 많은 추출로 인한 우연한 잡음 때문에 이런 결과가 나온 것이다.
책에서는 매우 극단전인 예시를 들어서 이를 검증했지만 유사한 연구 사례 안에서 이런 경우가 발생했을 때 우리는 이를 잡음이 아닌 유의한 결과라고 해석할 수 있다. 그렇지 않도록 우리는 주의해야한다.
10장 : 교란 변수 통제
앞에서 우리는 교란변수와 같은 요인이 있어서 상관관계를 인과관계로 해석하는 것이 어렵다는 것을 배웠다. 그렇다면 이 교란변수를 통제할 수 있다면 우리는 상관관계로부터 인과관계를 도출할 수 있지 않을까?가 이 장의 주요 내용이다.
여기서 하나의 예시를 든다. 소속 정당과 투표기록의 상관관계를 통해 정당의 강한 압박이 투표 행동의 차이를 만든다는 케이스가 있다고 하자. 하지만 이의 교란 변수 안에는 "이념"이 존재한다. 즉 이념 때문에 투표 기록이 영향을 받았다고 볼 수 있다.
이 잠재적인 교란 변수를 해결하려면 이를 통제해야하는데 다행히 이념과 관련된 점수가 있어서 이를 dummy variable해서 회귀 분석을 돌림으로써 교란변수를 동일하게 통제한 상태에서 정당과 투표의 차이를 비교하도록 만들었다. 교란변수가 이외에도 더 많아지면 사실 더 컨트롤하기 어려워진다.
*물론 이렇게 더미변수화를 하게 되면, 전체 집단의 조치 효과에 따른 평균 차이를 보지 못하게 된다. 즉 평균 차이 효과를 보려하는 대상의 부분집합이 달라졌다는 문제가 있다. 이에 대해서는 책 뒤에서 더 다루게 된다
교란변수를 포함시킨 회귀를 long regression이라고 하고, 조치변수에 대해서만 회귀를 진행한 것을 short regression이라고 하자.(O가 교란변수, X가 조치 변수)
- long regression : y = b1*X + b2*O + b0
- short regression : y = b1(S)*X + b0
- O = c1*X + c0 ( O와 X가 인과관계가 있다고 전제)
회귀에서 long regression과 short regression의 편향은 c1 X b2이라고 볼 수 있다.(3번식을 1번 식에 넣어서 차이를 구하는 형태) 이 편향식을 활용해 편향의 방향과 크기를 파악할 수단을 제공한다는 점에서 유용하다.
하지만 우리가 O를 관찰할 수 없다면 사실 회귀에 포함시켜서 제어하지도 못하기도 하고, 제어할 수 있다고 해도 인과관계의 편향없는 추정치를 얻기는 쉽지 않다.
우선은 O와 X의 인과관계를 검증하려면 또 비슷한 회귀분석을 진행해야하고, 교란변수가 또 있지 않다는 보장을 하기가 쉽지 않다. 또한 역인과관계가 존재한다면 이는 어떻게 통제를 하더라도 완벽히 해결하지 못한다.
11장 : 무작위 실험
앞서 10장에서는 교란변수가 있을 때 회귀를 통해서 이를 해결하는 방법을 배웠다. 하지만 교란변수 외에도 다양한 영향을 주는 요인들이 있기 때문에 명확하게 인과관계를 추론하는 것에는 여전히 어려움이 있다.
또다른 해결책으로 "무작위 실험"이라고 불리는 연구 설계가 있다.
앞에서 피부 건강과 관련된 제품의 효과를 측정하는 사례로 돌아가보자. 만일 우리가 그 제품을 구매해서 사용한 사람과 사용하지 않은 사람을 비교하게 되면 어떤 문제가 발생할까?
교란 변수가 있을 수 있다. 그 제품을 구매했다는 것 자체가 피부에 관심을 가질 사람일 가능성이 높고 그렇다면 그로 인해 대안학교 케이스처럼 비교해선 안될 대상을 비교해서 제품의 효과를 측정한다고 볼 수 있다.
결국은 mean(Y_1T) - mean(Y_0U)를 비교하게 되는 것이라서 명확한 인과관계를 추론하기 어렵다.
하지만 만일 우리가 무작위로 사람을 뽑아서 반으로 나눈 뒤에 하나의 그룹에만 제품을 제공하고 그 효과를 측정한다면 어떻게 될까?
mean(Y_1T) =mean(Y1) + 잡음이 되고, mean(Y_0U) = mean(Y0) + 잡음이 된다.
이 둘의 차이는 결국 ATE(mean_y1 - mean_y0)이 된다. 결국 무작위 할당은 편향이 없음을 보장한다. 표본이 크면 심지어 잡음 자체도 작아지기 때문에 우리는 이 mean(Y_1T) - mean(Y_0U)의 추정치로 인해서 실제 두 집단의 차이를 추정할 수 있게 된다.
결국 이제 우리가 집중해야할 점은 실제로 "무작위"로 할당되게 만들기만 하면 된다는 점이다. 예를 들어 성별로 나누어도 안되고 나이도 한 집단으로 모이면 안된다.
두 집단은 최대한 비슷하면 좋지만 실험 비용상 그렇게 할 수 없다면 조치 집단을 비용을 들일 수 있을만큼 최대한 하고 똑같은 수를 미조치집단으로 하는 것이 아니라 나머지 전체를 미조치 집단으로 하는 것이 훨씬 정밀하게 추정할 수 있다.
실험에서 나타나는 문제점
1) 불응과 도구 변수
피실험자가 할당된 조치에 순응하지 않는 경우다. 이런 경우 피실험자를 해당 집단에서 제거될 경우 그렇지 않은 미조치 집단에도 그런 피실험자가 있을 수 있어서 편향이 생기게 된다.
따라서 대안으로는 조치의 효과를 측정하는 것 대신에 집단에 할당되는 효과를 비교하는 방법으로 활용할 수도 있다. 예를 들면 실제 조치를 받지 않더라도 이미 그렇게 분할되었기 때문에 이들을 제외하지 않고 그대로 비교하는 것이 그나마 덜 편향을 만들 수 있기 떄문이다. 이를 조치 의도 효과, 축약형 효과라고 부르기도 한다.
하지만 의도를 떠나 직접적인 효과를 얻고 싶을 때는 어떻게 해야할까? 우선은 실험자들을 분류해보자
1. 순응자 : 조치 집단에 배치되면 사용하고, 미조치 집단에 배치되면 사용하지 않는 실험자
2. 항상 사용자 : 어느 집단에 속하든 사용하는 사람
3. 미사용자 : 어느 집단에 속하든 사용하지 않는 사람
4. 거부자 : 집단에 속한 것과 반대로 행동하는 청개구리 같은 사람
조치 집단에서 실제 제품을 사용하는 사람은 1 + 2이다. 미조치 집단에서 실제 제품을 사용하는 사람은 2이다. 따라서 이 둘의 차이를 통해서 우리는 순응자의 비율을 알아낼 수 있다.
반대로 미조치 집단에서도 우리가 이를 활용한다면 각 순응자에 따른 효과를 비교하면 된다.
이를 활용해서 첫단계 효과, 순응자 평균 조치 효과의 추정치, 왈드 추정량이라고 부른다.
왈드 추정량은 도구변수 분석의 특별한 케이스다. 도구변수 분석이란, X와 Y에 모두 영향을 주는 교란변수가 있을 때 이런 교란변수가 상관관계가 매우 낮으면서 X와 상관관계가 높은 새로운 변수를 도구변수라고 하고 이를 찾는 분석을 의미한다.
여기서는 조치 할당이 도구변수이고, 조치집단 할당이 실제로 조치를 받아들이는 행동이 X라고 볼 수 있다.
도구분석이 동작하는데에는 크게 4가지 핵심 조건이 있다.
1. 외생성 : 도구 변수가 무작위 할당되거나 적어도 무작위인 것처럼 할당되어서 첫단계 효과와 조치 의도 효과 둘다 편향없이 추정할 수 있어야 한다.
2. 배제 제약 : 무든 축약형 효과는 조치로 인해 일어나야 한다. 다시 말해 도구 변수가 결과에 영향을 미치는 경로는 그 자신이 조치에 주는 효과 외에는 없다.
3. 순응자 : 순응자가 있어야 한다.
4. 거부자가 없음 : 거부자가 있으면 순응자의 평균효과와 거부자의 평균 효과를 가중 평균한 추정치를 얻는데 이를 통해 명확하게 순응자가 얼마만큼있는지 파악하기 어렵다.
우연성 불균형
앞에서 무작위 할당을 하더라도 우연하게 조치 집단이 미조치집단보다 다를 여지는 있을 수 있고, 이를 우연성 불균형이라고 부른다. 이를 해결하기 위해서는 우선은 최대한 무작위로 할당하는 것이 필수이고, 10장에서 설명한 방식처럼 불균형 변수를 통제하고 무작위 할당을 하는 방법이 있고, 불균형이 있음을 인정하고 여러 실험을 반복해서 한차례의 불균형이 발생하더라도 다른 여러 실험 시도를 통해 얻은 평균에선 불균형이 사라질 수 있다.
이탈
실제 조치를 받다가 다시 그 효과를 측정할 때 돌아오지 않는 경우이다. 이 경우에는 이탈 비율에 있어서 조치가 영향을 끼쳤는지 확인해야하고 이게 영향을 미쳤다면 더이상 제대로 된 비교가 아니라고 봐야한다. 이 때 실험을 포기할 수도 있지만, 이탈로 발생하는 편향의 정도를 제한할 수 있다. 이탈율이 각 집단별로 5%라고 하면, 실제 평균 차이가 5%난다고 했을 때는 이탈로 발생하는 편향이 5퍼센트 포인트를 넘지 않으리라고 말할 수는 있다.(상대적 비교로 한다는 의미)
간섭
한 대상의 조치 상태가 다른 집단의 결과에 영향을 미칠 때 발생한다. 이에 대해서는 간섭을 예상하고 그 가능성을 낮출 방법을 써서 연구를 설계해야한다.
이번 장은 좀 어려워서 아래 블로그를 읽으며 추가적으로 공부했다.
https://medium.com/bondata/instrumental-variable-1-6c249de6ea34
실무 인과추론 Toolkit : 도구변수 (Instrumental Variables) 1
도구변수 개념 제대로 뽀개기
medium.com
12장 : 불연속 회귀 설계
이번 장에서는 관심 대상인 조치가 불연속적으로 변할 때 믿을 만한 인과관계 추정을 도와주는 한가지 특별한 상황을 논의하겠다.
앞서, 장학금을 받고 안받고에 따라 추후 미래 소득에 미치는 효과를 추정하는 문제는 여러가지 면에서 받고 안받고에 따른 집단적 특성이 다양하기 때문에 이 차이를 모두 통제하고 장학금 여부만 미치는 효과를 측정하는게 불가능하다.
하지만, 만일 장학금을 어떤 엄격한 점수 규칙에 따라서 수여한다면? 950이 커트라인이라면 그 전후의 점수에 해당하는 사람들끼리는 거의 유사한 자연실험이라고 볼 수 있다.
그럼 어떻게 분석을 진행할 수 있을까? 첫번째는 그냥 구간을 정의하고 950 전후로 평균을 구해서 비교하는 것이다. 2번째는 950점 미만의 데이터에 대해서 회귀분석을 하고, 950점 이상의 대상에 대해서 회귀분석을 해서 이 둘의 차이를 비교해보는 것이다.
3번째는 한번의 회귀분석으로 두개를 모두 구하는 방법으로 더미변수나, 교호변수, 문턱값을 0으로 바꾸게 해주는(zero- centered) 과정등이 있다. 마지막으로는 다항 회귀가 있다.
13장 : 이중차분법 설계
조치가 시간이 흐르면서 어떤 관찰 대상에게는 변하지만 다른 대상에게는 변하지 않는 또 다른 특별한 상황을 살펴보는 접근 방식이다. 예를 들어 어떤 특정한 주에만 정책을 적용하고 적용 전과 적용 후의 효과를 측정한다. 하지만 만일 이 정책 외의 다른 요인들이 들어올 경우에는 정책을 적용하지 않은 주의 데이터를 가지고 이러한 편향을 설명해주는게 이 설계의 핵심이다.
하지만 이 설계에서도 전제가 필요하다. 그 전제는 평행 추세로, 조치 상태 변화가 없다고 가정할 때 현실에서는 조치가 바뀐 대상이나 안바뀐 대상이나 평균적인 결과가 같은 추세를 따라야 한다는 요건이다.
이중차분법에서 왜 회귀분석에서 두 변수의 곱의 회귀계수가 did를 의미하는지는 직접 풀어서 계산해보면 알 수 있다.
14장 : 기작 평가
어떤 조치가 결과에 영향을 미친다고 말할 떄는 조치의 변화가 결과도 바꾼다는 뜻이 전부다. 하지만 이런 효과가 직접적이거나 가깝게 연결될 필요는 없다.
어떤 사건 어떤 결과에 미치는 효과는 여러 관계가 꼬리에 꼬리를 물고 연결된 결과일지도 모른다. 예를 들어 앞서부터 계속 예시로 들었던 대안학교가 학점 인정수업이라는 기작으로 인해서 대학교 진학에 영향을 준다고 하자.
실제 대안학교 진학이 대학교 진학에 미치는 영향 중에 학점 인정 수업이 대학교 진학에 미치는 영향을 측정하려고 한다.
전체 인원 중에 반을 나눠서 학점인정 수업을 통제하면서 회귀분석을 실행해서 측정해볼 수 잇다. 처음에는 그럴듯하게 들릴 것이다. 하지만 이는 여러 교란 효과가 있을 것이고, 극단적인 예로 학점인정 수업 자체는 효과가 전혀 없지만 학점인정 수업이 (측정하지 못한) 학업적 재능과 상관관계가 높다고 하자. 그렇다면 실제는 관계가 없지만 저렇게 통제했을 때는 효과가 커서 기작 효과가 크다고 판단내릴 가능성이 있다.
결국 하기 위해서는 조치가 결과에 미치는 영향, 조치가 기작에 미치는 영향, 기작이 결과에 미치는 영향을 다 추정해서 비교한 후에 명확한 사고를 바탕으로 판단을 내려야 한다.
15장 : 통계를 실체로
통계 데이터를 실체로 바꾸면 주어진 증거가 우리가 답을 찾는 질문에 관해 정확히 무엇을 말하는지 명확히 사고하는데 도움이 된다. 분석 결과를 해석할 때만이 아니라 단위를 선택하고 표본을 선택하고 연구결과를 적용할 때에는 비용과 가치까지 판단해야한다.
단순히 관계를 해석하는 것에 그치는게 아니라 실체로 적용하는데 있어서는 더 많은 기준과 명확한 사고가 필요하다.
16장 : 목적에 맞게 측정하라
전략적 적응 : 소득세를 거두기 위해 창문세를 거두다보니, 사람들이 이에 적응해서 창문을 줄이는 전략을 펼치기 시작했다. 이처럼 상관관계가 있더라도 점차 줄어든다.
표본 선택 : 본인의 대학교 입학 학생 데이터를 가지고 학습 성과과 높은 학생들의 특징을 확인해서 이를 입학 기준에 활용하는 문제.
목적에 맞는 조치 : 인질극에 의한 피해를 줄이기 위해 공항에 금속탐지기를 넣었는데, 이는 비행기 납치 자체는 줄일 수 있지만 다른 유형의 피해를 줄이진 못한다.
17장 : 정량화의 한계
한 우화가 있다. 어떤 행인이 밤늦게 가로등 아래에서 뭔가를 찾고 있다. 지나치다가 그 행인에게 무엇을 찾느냐고 물었더니, 열쇠를 찾고 있단다. 그 열쇠를 마지막에 사용한 곳이 여기냐고 물었더니 아니라고 했다. 그럼 왜 이 곳에서 찾고 있냐고 물었더니 그 행인은 이렇게 답을 했다.
"여기가 가로등 아래라 밝아서 잘 보여요"
우리가 일을 하다보면 어떠한 의사결정에 있어서 정량화된 결과를 요구하고 그것이 최우선기준인 것처럼 행동할 때가 있다. 하지만 현실에는 우리가 정량화하기 어려운 기준들이 많음에도 사람들은 합리적인 의사결정을 해야한다는 이유로 정량화할 수 있는 기준만을 최우선 기준으로 하며 이것을 심지어 가치판단의 기준으로 삼기도 한다.
이 책에서 핵심으로 말하는 건, 정량적인 데이터가 있다면 이에 대해 명확한 사고를 하는 것이 필요하지만 의사결정하는데 있어서는 정량적인 데이터 외에도 다양한 기준이 있으니 좋은 의사결정을 가질 수 있도록 끊임없이 비판적으로 사고하는 것이 중요하다는 점이다.
'데이터 분석, 통계 > 유튜브, 책, 아티클 정리' 카테고리의 다른 글
[Book] 행동 데이터 분석 8장 ~ 12장 : 실험 설계와 분석/분석 도구 (0) | 2023.12.16 |
---|---|
[Book] 행동 데이터 분석 6장 ~ 7장 : 데이터 분석 (0) | 2023.12.15 |
[Book] 행동 데이터 분석 4장 ~ 5장 : 인과관계 다이어그램과 교란 해소 (0) | 2023.12.14 |
[book] 행동 데이터 분석 정리 1~3장 (0) | 2023.12.12 |