앞 장에서 우리는 "왜 어떤 나라는 부유하고, 어떤 나라는 가난한가?"라는 거대한 질문을 데이터의 눈으로 마주했습니다. 1인당 국내총생산(GDP per capita)의 격차, 성장의 복리 효과, 삶의 질을 좌우하는 생산성의 힘을 확인했지요. 그런데 이런 질문에 진지하게 답하려면, 감(感)이나 직관, 혹은 “내가 겪어 보니 그렇더라” 식의 일화(逸話, anecdote)만으로는 부족합니다. 왜냐하면 경제는 수십억 명의 사람이 매 순간 내리는 무수한 선택이 얽혀 만들어 내는, 인류가 다루는 가장 복잡한 시스템 중 하나이기 때문입니다.
이 장은 경제학자가 이 복잡한 세계를 이해하는 사고의 도구상자를 다룹니다. 경제학자는 어떻게 세상을 관찰하고, 어떻게 이론(모형)을 세우며, 어떻게 데이터로 그 이론을 검증할까요? 무엇보다도, 두 현상이 "함께 움직인다"는 관찰에서 "하나가 다른 하나를 일으킨다"는 결론으로 성급하게 건너뛰지 않으려면 어떤 훈련이 필요할까요? 이 장을 다 읽고 나면 여러분은 신문 기사의 통계, 정치인의 공약, 기업의 광고 문구를 접할 때 "그래서 이게 정말 인과관계인가?"라고 스스로 묻는, 조금은 까다롭지만 훨씬 정직한 사고 습관을 갖추게 될 것입니다.
2.1 사회과학으로서의 경제학¶
경제학은 개인·기업·정부가 희소한 자원(scarce resources) 을 어떻게 배분하는지를 연구하는 학문입니다. 여기서 핵심은 경제학이 단순한 '돈 이야기’나 '주식 투자 요령’이 아니라, 인간의 선택과 그 선택이 모여 만들어 내는 사회적 결과를 체계적·과학적으로 탐구하는 학문이라는 점입니다. 다시 말해 경제학은 물리학이나 생물학이 자연을 다루듯, 인간 사회를 대상으로 삼는 사회과학(social science) 입니다.
'과학’이라는 단어를 들으면 흰 가운을 입고 실험실에서 시험관을 흔드는 장면을 떠올리기 쉽습니다. 그러나 과학의 본질은 실험실이라는 장소에 있지 않습니다. 과학의 본질은 방법에 있습니다. 즉, 세상을 편견 없이 관찰하고, 그 관찰을 설명하는 논리적 가설을 세우며, 그 가설이 새로운 증거 앞에서 살아남는지 냉정하게 검증하고, 살아남지 못하면 미련 없이 수정하거나 폐기하는 태도 — 이것이 과학입니다. 경제학자는 바로 이 태도를 인간 사회에 적용합니다.
2.1.1 과학적 방법의 순환: 관찰 → 가설 → 검증¶
경제학적 탐구는 하나의 순환(cycle)으로 이해할 수 있습니다. 이 순환은 한 번 돌고 끝나는 것이 아니라, 검증 결과가 다시 새로운 관찰과 가설로 이어지는 나선형(spiral) 과정입니다.
첫째, 관찰(observation) 단계입니다. 경제학자는 현실에서 규칙적 패턴이나 이상 현상(anomaly)을 포착합니다. 예를 들어 “한국은 1960년대만 해도 최빈국 중 하나였는데, 어떻게 반세기 만에 선진국이 되었는가?”, “금리를 올렸더니 왜 몇 분기 뒤 소비가 둔화되었는가?”, “최저임금을 올리면 정말 일자리가 줄어드는가?” 같은 질문이 여기서 출발합니다. 좋은 관찰은 좋은 질문을 낳고, 좋은 질문은 좋은 연구의 절반입니다.
둘째, 이론 정립(theory) 또는 가설(hypothesis) 단계입니다. 관찰된 현상을 설명하는 논리적 틀을 세웁니다. 이 틀은 대개 "만약 A가 변하면 B는 이러이러하게 반응할 것이다"라는 형태의 검증 가능한 명제로 표현됩니다. 예컨대 "금리가 오르면 대출 비용이 커지므로 기업 투자와 가계 소비가 줄어들 것이다"라는 가설을 세울 수 있습니다.
셋째, 실증 검증(empirical testing) 단계입니다. 통계 자료, 역사적 사건, 때로는 실험을 통해 가설이 데이터와 부합하는지 확인합니다. 만약 데이터가 이론과 체계적으로 모순된다면, 정직한 과학자는 이론을 수정하거나 버립니다. "내 이론이 맞으니 데이터가 틀렸다"고 우기는 순간, 그것은 더 이상 과학이 아니라 신념이 됩니다. 이 냉정한 자기수정(self-correction) 능력이야말로 과학을 다른 지식 체계와 구별짓는 결정적 특징입니다.
2.1.2 자연과학과 사회과학은 어떻게 다른가¶
경제학이 과학이라면, 왜 물리학처럼 정밀하지 못할까요? 왜 경제학자들은 종종 서로 다른 예측을 내놓을까요? 그 답은 연구 대상의 성격에 있습니다. 물리학자가 다루는 전자(電子)는 화가 나거나 기대에 부풀지 않으며, 정부 정책 발표를 듣고 행동을 바꾸지도 않습니다. 반면 경제학자가 다루는 대상은 생각하고, 학습하고, 예측하고, 때로는 경제학자의 예측 자체에 반응하는 인간입니다. 아래 표는 두 영역의 차이를 정리한 것입니다.
| 구분 | 자연과학 (예: 물리학) | 사회과학 (예: 경제학) |
|---|---|---|
| 연구 대상 | 물질·에너지·세포 (의지 없음) | 인간·시장·제도 (의지·기대를 가짐) |
| 실험 방식 | 통제된 실험실 실험이 표준 | 통제 실험이 어려워 관측 데이터·자연실험 의존 |
| 통제 가능성 | 변수를 하나씩 고립시키기 쉬움 | 모든 변수가 동시에 움직여 고립이 어려움 |
| 법칙의 성격 | 보편적·결정론적 (예: 만유인력) | 확률적·조건부 (예: 수요의 법칙) |
| 재현성 | 언제 어디서 해도 같은 결과 | 시대·문화·제도에 따라 결과가 달라질 수 있음 |
| 주요 도구 | 수학·정밀 측정기기 | 계량경제학(econometrics)·수리 모형·통계 |
이 표에서 특히 중요한 것은 ‘실험의 어려움’ 입니다. 화학자는 온도만 바꾸고 나머지 조건을 완벽히 고정한 채 반응을 관찰할 수 있습니다. 그러나 경제학자는 “한국 경제에서 금리만 바꾸고 유가·환율·소비심리·세계 경기는 그대로 두는” 실험을 할 수 없습니다. 현실 경제에서는 모든 것이 한꺼번에 움직입니다. 바로 이 제약 때문에 경제학은 상관과 인과를 구분하는 정교한 방법(2.4절의 핵심 주제)을 발전시켜 왔습니다.
2.2 경제 모형: 복잡한 세계의 지도¶
과학적 탐구의 두 번째 단계인 '이론 정립’은 경제학에서 대개 모형(model) 을 세우는 일로 구체화됩니다. 이 절에서는 모형이 무엇인지, 왜 현실과 다른(일부러 다르게 만든) 가정을 포함하는지, 그리고 좋은 모형을 어떻게 알아보는지를 다룹니다.
2.2.1 추상화와 ‘지도의 역설’¶
현실 경제는 압도적으로 복잡합니다. 대한민국 한 나라만 해도 5천만 명이 넘는 소비자, 수백만 개의 기업, 수천 종의 금융상품, 그리고 이들을 규율하는 무수한 법과 제도가 매 순간 상호작용합니다. 이 모든 것을 있는 그대로 담으려는 시도는 불가능할 뿐 아니라, 설령 가능하더라도 쓸모가 없습니다. 그래서 경제학자는 경제 모형 — 본질적 관계만 남기고 부차적 요소를 덜어낸, 현실의 단순화된 표현 — 을 사용합니다. 이 단순화 과정을 추상화(abstraction) 라고 부릅니다.
가장 좋은 비유는 지도입니다. 서울에서 부산까지 자동차로 가려는 사람에게, 모든 골목·나무·건물의 색깔까지 1:1 축척으로 그린 '완벽한 지도’는 오히려 무용지물입니다. 그런 지도는 실제 국토만큼 커야 하고, 정작 어느 고속도로를 타야 할지는 알려주지 못합니다. 운전자에게 필요한 것은 고속도로와 나들목(IC), 주요 도시만 굵게 표시하고 나머지는 과감히 생략한 단순한 지도입니다. 좋은 지도의 미덕은 정확한 복제가 아니라 유용한 생략에 있습니다.
호르헤 루이스 보르헤스의 짧은 우화 "과학의 정밀성에 대하여"는 이 역설을 극적으로 보여줍니다. 어느 제국의 지도 제작자들이 완벽을 추구한 끝에 제국과 똑같은 크기의 1:1 지도를 만들었지만, 그 지도는 아무 쓸모가 없어 결국 사막에 버려졌다는 이야기입니다. 모형도 마찬가지입니다. 모형의 목적은 현실의 완벽한 복제가 아니라, 우리가 관심 있는 관계를 드러내는 설명력(explanatory power)입니다. 잡음을 걷어내야 비로소 신호가 보입니다.
2.2.2 가정의 논리적 필요성¶
모든 모형은 가정(assumption) 위에 세워집니다. 초심자는 종종 "그 가정은 비현실적이야"라며 모형을 통째로 거부하곤 합니다. 그러나 가정은 모형의 결함이 아니라 모형이 작동하기 위한 도구입니다. 대표적인 두 가정을 살펴봅시다.
첫째, 합리적 인간(rational agent, 이른바 Homo Economicus) 가정 입니다. 이는 개인이 주어진 정보 아래에서 자신의 효용(utility)이나 이윤(profit)을 극대화하도록 선택한다는 가정입니다. 물론 현실의 인간은 충동구매를 하고, 다이어트를 결심한 다음 날 치킨을 시키며, 때로는 손해 보는 줄 알면서도 자존심 때문에 고집을 부립니다. 그럼에도 이 가정이 유용한 이유는, 개인의 변덕이 시장 전체 수준에서는 상당 부분 상쇄되어, 평균적·집합적 행동이 놀랍도록 예측 가능한 규칙성을 보이기 때문입니다. 한 사람이 언제 커피를 마실지는 예측하기 어렵지만, 커피 가격이 두 배로 오르면 전체 커피 소비량이 줄어들 것이라는 예측은 상당히 안전합니다.
둘째, 세테리스 파리부스(ceteris paribus, 다른 모든 조건이 일정하다면) 가정입니다. 이것은 라틴어로, 경제학에서 가장 자주 쓰이는 논리적 장치입니다. 앞서 보았듯 현실에서는 모든 변수가 동시에 움직이기 때문에, 한 변수의 순수한 효과를 관찰하기가 어렵습니다. ceteris paribus는 "다른 요인은 잠시 고정해 두고, 오직 이 하나의 변화만 생각하자"는 사고 실험(thought experiment)입니다. 예컨대 "(다른 조건이 같다면) 사과 가격이 오르면 사과 수요량은 줄어든다"는 수요의 법칙은, 소득·기호·다른 재화 가격 등을 고정한 채 가격과 수요량의 관계만 분리해 낸 것입니다. 이 장치가 없다면 우리는 인과의 실타래를 결코 풀 수 없습니다.
2.3 유인의 과학: 인간은 어떻게 반응하는가¶
경제학적 사고의 심장부에는 하나의 단순하지만 강력한 원리가 있습니다. 사람은 유인(incentive)에 반응한다. 유인이란 어떤 행동을 하도록(또는 하지 않도록) 이끄는 보상이나 처벌을 말합니다. 이 원리는 경제학 전체를 관통하는 열쇠이며, 실제로 많은 경제학자는 "경제학은 결국 유인에 관한 학문"이라고까지 말합니다.
2.3.1 유인의 정의와 유형¶
유인은 크게 세 부류로 나눌 수 있습니다. 첫째는 가격 유인(price incentives) 으로, 시장에서 가장 흔합니다. 휘발유 값이 오르면 사람들은 대중교통을 더 타고, 연비 좋은 차를 찾으며, 장기적으로는 전기차로 옮겨 갑니다. 가격은 무수한 사람의 행동을 조율하는, 세상에서 가장 강력한 신호 체계입니다.
둘째는 처벌·규제 유인(penalty incentives) 입니다. 벌금, 세금, 법적 제재가 여기 속합니다. 담뱃값 인상과 흡연 구역 제한은 흡연을 줄이려는 처벌형 유인이고, 탄소세는 온실가스 배출에 비용을 매겨 기업의 행동을 바꾸려는 시도입니다.
셋째는 도덕적·사회적 유인(moral and social incentives) 입니다. 명예, 평판, 죄책감, 소속감처럼 금전으로 환산되지 않는 동기입니다. 헌혈, 자원봉사, 온라인 리뷰 작성은 대개 이런 유인에서 나옵니다. 흥미롭게도, 도덕적 유인이 작동하던 곳에 금전적 유인을 도입하면 오히려 역효과가 나기도 합니다. 이스라엘의 한 어린이집에서 아이를 늦게 데리러 오는 부모에게 벌금을 물렸더니, 부모들이 "이제 돈만 내면 되는 서비스"로 여겨 지각이 오히려 늘었다는 유명한 연구가 이를 보여줍니다. 도덕적 부채가 금전적 거래로 바뀌는 순간, 죄책감이라는 강력한 유인이 사라진 것입니다.
2.3.2 잘못된 유인과 ‘의도치 않은 결과’¶
유인의 힘이 강력하기 때문에, 정책이 사람들의 반응을 세심하게 예측하지 못하면 의도치 않은 결과(unintended consequences) 라는 부메랑을 맞습니다. 사람들은 정책이 ‘의도한’ 목표가 아니라, 정책이 실제로 보상하는 행동에 반응하기 때문입니다.
가장 유명한 사례가 코브라 효과(cobra effect) 입니다. 영국 식민지 시절 인도 델리에서 코브라가 너무 많아 골칫거리가 되자, 정부는 죽은 코브라를 가져오면 현상금을 주는 정책을 폈습니다. 처음에는 코브라 수가 줄었습니다. 그러나 곧 영리한 사람들이 현상금을 노리고 코브라를 사육하기 시작했습니다. 이를 눈치챈 정부가 정책을 폐지하자, 이제 값어치가 없어진 코브라들이 대량으로 방생되어 결국 야생 코브라는 정책 이전보다 더 늘어났습니다. 정책이 '코브라 박멸’이 아니라 '죽은 코브라 제출’을 보상했다는 것이 문제의 핵심이었습니다.
또 다른 고전은 펠츠먼 효과(Peltzman effect) 입니다. 경제학자 샘 펠츠먼은 자동차 안전 규제(안전벨트 의무화 등)를 연구한 뒤, 운전자가 더 안전하다고 느끼면 오히려 더 난폭하게 운전하는 위험 보상(risk compensation) 행동을 한다고 주장했습니다. 그 결과 운전자 사망은 줄었을지 몰라도, 보호받지 못하는 보행자·자전거 이용자의 사고는 늘어나, 전체 순효과가 기대만큼 크지 않았다는 것입니다. 이 사례는 '안전 규제가 무의미하다’는 뜻이 아니라, '사람의 행동 반응까지 계산에 넣어야 정책 효과를 제대로 평가할 수 있다’는 교훈을 줍니다.
2.3.3 한국의 사례: 정책의 의도치 않은 결과¶
의도치 않은 결과는 먼 나라 옛날이야기가 아닙니다. 한국 경제사에도 풍부한 사례가 있습니다.
대표적으로 부동산 규제와 ‘똘똘한 한 채’ 현상을 들 수 있습니다. 다주택자에게 무거운 양도소득세와 종합부동산세를 매기자, 사람들은 여러 채를 파는 대신 값이 가장 많이 오를 것으로 기대되는 서울 강남 등 핵심 지역의 고가 주택 '한 채’에 자산을 집중하는 방향으로 반응했습니다. 그 결과 규제가 겨냥한 '집값 안정’과 달리, 상급지 고가 주택으로 수요가 쏠리는 양극화가 나타나기도 했습니다. 이는 사람들이 규제의 '의도’가 아니라 규제가 실제로 만들어 낸 유인 구조에 반응한 전형적 예입니다.
또 다른 예는 1970~80년대 서울의 ‘단독주택 방 쪼개기’ 입니다. 특정 규제나 세제가 가구 수 기준으로 적용되자, 집주인들이 큰 집을 여러 개의 셋방으로 나누어 임대하는 방식으로 대응한 사례들이 보고됩니다. 최근의 전세 관련 제도 변화에서도, 임대인과 임차인이 각자의 유인에 따라 계약 형태·보증금·월세 비중을 바꾸며 시장이 예상과 다른 방향으로 조정되는 모습이 관찰되었습니다.
이런 사례들의 공통 교훈은 분명합니다. 좋은 의도가 좋은 결과를 보장하지 않는다. 정책을 설계할 때는 "이 규칙 아래에서 합리적인 사람은 어떻게 자기 이익을 좇아 행동을 바꿀 것인가?"를 반드시 먼저 물어야 합니다.
2.4 실증의 함정: 상관관계 vs 인과관계¶
지금까지 우리는 관찰하고, 모형을 세우고, 유인을 이해하는 법을 배웠습니다. 이제 과학적 방법의 가장 어렵고도 중요한 관문 — 검증 — 에 도달했습니다. 현대 경제학의 최대 과제는 산더미 같은 데이터 속에서 진짜 인과관계(causation) 를 가려내는 일입니다.
출발점은 하나의 단호한 명제입니다. 상관관계는 인과관계가 아니다(Correlation is not causation). 두 변수 A와 B가 함께 움직인다(상관)는 사실은, A가 B를 일으킨다는 뜻이 결코 아닙니다. A가 B를 일으킬 수도, B가 A를 일으킬 수도, 제3의 변수 C가 둘 다를 일으킬 수도, 아니면 순전히 우연일 수도 있습니다. 이 절에서는 이런 함정을 하나씩 해부하고, 실제 데이터로 그 정체를 눈으로 확인하겠습니다.
| 오류 유형 | 관찰(상관) | 성급한(틀린) 해석 | 올바른 인과 분석 |
|---|---|---|---|
| 누락변수 | 아이스크림 판매↑ ↔ 익사 사고↑ | 아이스크림이 익사를 유발한다 | 높은 기온이 수영과 아이스크림을 동시에 늘린다 |
| 역인과 | 경찰 배치↑ ↔ 범죄율↑ | 경찰이 범죄를 유발한다 | 범죄가 많은 지역일수록 경찰을 더 배치한다 |
| 선택편의 | 병원 환자의 사망률↑ | 병원이 위험한 곳이다 | 아픈 사람들만 선별되어 병원에 간다 |
2.4.1 누락변수 편의(Omitted Variable Bias)¶
첫 번째 함정은 누락변수 편의입니다. 두 변수가 함께 움직이는 진짜 이유가, 우리가 미처 고려하지 못한 제3의 숨은 변수(교란 변수, confounder)에 있는 경우입니다. 이 숨은 변수가 A와 B를 동시에 끌어올리면, A와 B는 마치 직접 연결된 것처럼 보입니다. 하지만 둘 사이에는 아무런 직접 인과가 없습니다.
교과서의 고전적 예가 아이스크림과 익사입니다. 여름철 데이터를 보면 아이스크림 판매가 늘어난 시기에 익사 사고도 함께 늘어납니다. 여기서 "아이스크림을 먹으면 물에 빠져 죽는다"고 결론짓는다면 우스운 일입니다. 진짜 원인은 기온입니다. 날이 더우면 사람들이 아이스크림을 더 사 먹고(변수 A↑), 동시에 물놀이를 더 많이 해서 익사 사고도 늘어납니다(변수 B↑). 기온이라는 누락변수가 둘을 동시에 끌어올린 것입니다.
한국식 예를 들어 봅시다. "에어컨 판매가 많은 달일수록 냉면 매출도 높다"는 상관은 실재합니다. 그러나 에어컨이 냉면을 팔아 주는 것이 아니라, 폭염이라는 공통 원인이 둘 다를 끌어올린 것이지요. 또 "학원에 많이 다니는 학생일수록 성적이 높다"는 상관에서 곧바로 "학원이 성적을 올린다"고 결론지으면 위험합니다. 부모의 소득·교육열, 학생의 학습 동기 같은 누락변수가 학원 등록과 성적을 동시에 끌어올리고 있을 수 있기 때문입니다.
이제 이 함정을 말이 아니라 숫자로 직접 확인해 봅시다. 아래 코드는 먼저 한글 폰트를 설정한 뒤, 가상 국가 '에코노니아(Econonia)'의 4개월치 표 — 각 달의 아이스크림 판매액, 익사 사고 건수, 평균기온 — 를 만들어 보여줍니다. 이 작은 표만 보아도 세 변수가 함께 오르내리는 패턴이 어렴풋이 보일 것입니다.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import logging
# 한글 폰트 설정: 시스템에 설치된 한글 폰트 중 사용 가능한 것을 자동 선택
# (Windows: Malgun Gothic / macOS: AppleGothic / Linux·Colab: NanumGothic 등)
_available = {f.name for f in fm.fontManager.ttflist}
for _f in ['Malgun Gothic', 'AppleGothic', 'NanumGothic', 'Noto Sans CJK KR', 'Noto Sans KR']:
if _f in _available:
plt.rcParams['font.family'] = _f
break
plt.rcParams['axes.unicode_minus'] = False
logging.getLogger('matplotlib.font_manager').setLevel(logging.ERROR) # 폰트 폴백 경고 억제
# Colab에서 한글이 깨지면 아래를 한 번 실행 후 런타임 재시작:
# !apt-get -qq install fonts-nanum && rm -rf ~/.cache/matplotlib
# 교재의 4개월 표
tbl = pd.DataFrame({
'월': ['1월', '4월', '8월', '11월'],
'아이스크림 판매($M)': [1.2, 4.5, 12.8, 2.1],
'익사 사고': [0, 2, 15, 1],
'평균기온(°C)': [2.5, 15.2, 28.5, 8.3],
})
tbl표를 보면 8월(평균기온 28.5°C)에 아이스크림 판매(12.8), 익사 사고(15)가 모두 정점을 찍고, 1월(2.5°C)에는 모두 바닥입니다. 세 변수가 나란히 움직입니다. 하지만 4개 관측치만으로는 우연인지 아닌지 확신하기 어렵습니다. 그래서 다음 단계로, 계절 전체(120개월)를 모사한 더 큰 합성 데이터를 만들어 상관계수를 정밀하게 계산해 보겠습니다.
다음 코드에서 핵심 설계는 이렇습니다. 기온이 아이스크림과 익사를 각각 독립적으로 끌어올리도록 데이터를 생성하되, 아이스크림과 익사 사이에는 어떤 직접적 연결도 넣지 않습니다. 그런 다음 두 가지를 계산합니다. (1) 아이스크림과 익사의 단순 상관계수, (2) 기온의 효과를 제거한 뒤의 편상관(partial correlation).
# 계절 전체(120개월)를 모사: 기온이 아이스크림과 익사를 '동시에' 끌어올린다.
# 아이스크림과 익사 사이에는 '직접적' 인과가 전혀 없다.
rng = np.random.default_rng(42)
n = 120
temp = 15 + 12 * np.sin(np.arange(n) * 2 * np.pi / 12) + rng.normal(0, 1.5, n) # 계절적 기온
icecream = 0.45 * temp + rng.normal(0, 1.0, n) # 아이스크림 = f(기온) + 잡음
drownings = 0.55 * temp + rng.normal(0, 1.2, n) # 익사 = g(기온) + 잡음 (아이스크림과 직접 연결 없음)
df = pd.DataFrame({'기온': temp, '아이스크림': icecream, '익사': drownings})
r_raw = np.corrcoef(df['아이스크림'], df['익사'])[0, 1]
print(f'아이스크림 ↔ 익사 (단순 상관계수): r = {r_raw:.3f} → 강한 양(+)의 상관처럼 보인다')
# 기온을 통제(control)한다: 각 변수를 기온으로 회귀한 뒤 '잔차'끼리의 상관 = 편상관
def residual(y, x):
b1, b0 = np.polyfit(x, y, 1) # y = b1*x + b0
return y - (b1 * x + b0)
res_ice = residual(df['아이스크림'].values, df['기온'].values)
res_drw = residual(df['익사'].values, df['기온'].values)
r_partial = np.corrcoef(res_ice, res_drw)[0, 1]
print(f'기온을 통제한 편상관: r = {r_partial:.3f} → 상관이 거의 사라진다 (직접 인과 없음)')아이스크림 ↔ 익사 (단순 상관계수): r = 0.932 → 강한 양(+)의 상관처럼 보인다
기온을 통제한 편상관: r = -0.058 → 상관이 거의 사라진다 (직접 인과 없음)
결과가 극적입니다. 아이스크림과 익사의 단순 상관계수는 r = 0.932 로, 거의 완벽에 가까운 강한 양(+)의 상관입니다. 이 숫자만 보면 누구라도 "둘 사이에 강한 관계가 있다"고 믿을 만합니다. 그러나 우리는 데이터를 만들 때 두 변수를 직접 연결하지 않았습니다. 이 0.932는 전적으로 기온이라는 공통 원인이 만들어 낸 허상입니다.
그 사실은 기온을 통제한 편상관 r = -0.058 에서 명확히 드러납니다. 기온의 효과를 걷어내자 상관이 사실상 0으로 붕괴했습니다(-0.058은 통계적으로 0과 구별되지 않는 잡음 수준입니다). 즉, “기온이 같은 날들끼리만 비교하면” 아이스크림 판매와 익사 사이에는 아무 관계도 없습니다. 이것이 누락변수 편의의 정체입니다. 이제 이 관계를 그림으로 직관화해 봅시다. 아래 코드는 두 개의 산점도를 나란히 그립니다. 왼쪽은 겉보기 상관을 보여주되 점의 색으로 기온을 표현하고, 오른쪽은 기온 효과를 제거한 잔차(residual)끼리의 산점도입니다.
# 시각화: 색으로 기온을 표현하면, '상관'의 정체가 기온임을 눈으로 알 수 있다.
fig, ax = plt.subplots(1, 2, figsize=(13, 5))
sc = ax[0].scatter(df['아이스크림'], df['익사'], c=df['기온'], cmap='coolwarm', s=45, edgecolor='k', linewidth=0.3)
ax[0].set_title(f'겉보기 상관: 아이스크림 vs 익사 (r={r_raw:.2f})', fontweight='bold')
ax[0].set_xlabel('아이스크림 판매'); ax[0].set_ylabel('익사 사고')
cb = fig.colorbar(sc, ax=ax[0]); cb.set_label('기온(°C)')
ax[1].scatter(res_ice, res_drw, color='gray', s=45, edgecolor='k', linewidth=0.3)
ax[1].axhline(0, color='k', lw=0.6); ax[1].axvline(0, color='k', lw=0.6)
ax[1].set_title(f'기온 통제 후: 잔차 vs 잔차 (r={r_partial:.2f})', fontweight='bold')
ax[1].set_xlabel('아이스크림 (기온 효과 제거)'); ax[1].set_ylabel('익사 (기온 효과 제거)')
plt.tight_layout(); plt.show()
그림 해석: 왼쪽 그림에서 점들은 왼쪽 아래에서 오른쪽 위로 뚜렷하게 뻗어 있습니다(r≈0.93). 아이스크림이 많이 팔린 날 익사도 많았다는 겉보기 상관입니다. 그런데 점의 색을 보십시오. 왼쪽 아래의 점들은 파란색(낮은 기온), 오른쪽 위의 점들은 붉은색(높은 기온)입니다. 즉 이 상관을 만들어 낸 것은 다름 아닌 기온이라는 사실이 색으로 폭로됩니다. 붉은 날(더운 날)에는 둘 다 크고, 파란 날(추운 날)에는 둘 다 작을 뿐입니다.
오른쪽 그림은 각 변수에서 기온의 영향을 통계적으로 제거한 뒤 남은 부분(잔차)만 그린 것입니다. 점들이 방향성 없이 무작위로 흩어져 있고(r≈-0.06), 어떤 추세선도 보이지 않습니다. 기온을 고정하면 관계가 증발한다 — 이것이 핵심 메시지입니다. 만약 어느 정부가 이 0.932라는 숫자만 믿고 "익사를 막기 위해 아이스크림에 세금을 매기자"는 정책을 편다면, 익사는 조금도 줄지 않고 애꿎은 아이스크림 가게만 피해를 볼 것입니다. 데이터 해석에서 누락변수를 놓치는 것이 얼마나 값비싼 실수인지 보여주는 대목입니다.
2.4.2 역인과(Reverse Causality)¶
두 번째 함정은 역인과입니다. A가 B를 일으킨다고 생각했는데, 실제로는 B가 A를 일으키는(혹은 서로 영향을 주고받는) 경우입니다. 인과의 화살표 방향을 거꾸로 읽는 오류입니다.
고전적 예는 경찰과 범죄입니다. 데이터를 보면 경찰이 많이 배치된 지역일수록 범죄율이 높은 상관이 나타나곤 합니다. 여기서 "경찰이 범죄를 유발한다"고 결론지으면 우스꽝스럽습니다. 진실은 반대입니다. 범죄가 많은 지역일수록 경찰을 더 많이 배치하는 것이지요. 원인과 결과가 뒤바뀐 것입니다.
한국식 예도 많습니다. "광고비를 많이 쓴 기업일수록 매출이 높다"는 상관에서 "광고가 매출을 올린다"고만 읽으면 절반만 맞습니다. 반대로 매출이 높은(돈이 많은) 기업일수록 광고비를 더 쓸 여력이 있다는 역방향 인과도 동시에 작동합니다. 마찬가지로 "저축을 많이 하는 사람일수록 부자다"에서, 저축이 부를 만드는 면도 있지만 부자일수록 쓰고 남는 돈이 많아 저축을 많이 하는 면도 있습니다. 역인과가 의심될 때는 “어느 쪽이 먼저인가(시간 순서)”, "외부에서 온 충격은 없는가"를 따져 인과의 방향을 규명해야 합니다.
2.4.3 선택편의(Selection Bias)¶
세 번째 함정은 선택편의입니다. 비교하려는 두 집단이 애초에 ‘같지 않은’ 방식으로 선별되어, 그 차이가 마치 처치(treatment)의 효과인 것처럼 보이는 오류입니다.
직관적인 예가 병원입니다. "병원에 간 사람의 사망률이 집에 있던 사람보다 높다"는 데이터를 보고 "병원이 위험하니 아프면 집에 있으라"고 결론짓는다면 치명적 오류입니다. 병원에 가는 사람은 애초에 더 아픈 사람들이기 때문입니다. 병원이라는 처치를 받은 집단(환자)과 받지 않은 집단(건강한 사람)이 처음부터 건강 상태가 달랐던 것입니다. 이런 상황에서 두 집단의 결과를 단순 비교하면 병원의 효과가 완전히 왜곡됩니다.
한국식 예로, "명문대 졸업생이 그렇지 않은 사람보다 소득이 높다"는 사실에서 곧바로 "명문대 교육이 소득을 높인다"고 결론짓는 것을 조심해야 합니다. 명문대에 진학하는 학생들은 입학 이전부터 학업 능력, 성실성, 가정 배경 등에서 이미 남달랐을 가능성이 큽니다(선택편의). 즉 소득 격차의 상당 부분은 '대학이 만든 것’이 아니라 '원래 그런 사람들이 그 대학에 간 것’일 수 있습니다. 또 "헬스장에 등록한 사람들이 더 건강하다"는 관찰도, 헬스장이 건강을 만든 것이 아니라 원래 건강에 관심 많고 자기관리를 잘하는 사람들이 헬스장에 등록한 것일 수 있습니다. 선택편의를 극복하려면 처치집단과 통제집단이 ‘처치 여부를 빼고는’ 최대한 비슷하도록 만드는 설계가 필요합니다. 이것이 다음에 볼 자연실험과 무작위 실험의 존재 이유입니다.
2.4.4 추세에 의한 허위 상관(Spurious Correlation)¶
누락변수의 특수하고도 악명 높은 형태가 허위 상관입니다. 특히 시간에 따라 증가하거나 감소하는 두 변수는, 서로 아무 관계가 없어도 단지 '둘 다 시간과 함께 움직인다’는 이유만으로 높은 상관계수를 보입니다. 여기서 시간(또는 시간과 함께 변하는 무언가)이 숨은 공통 요인 역할을 합니다.
미국의 통계 애호가 타일러 비겐(Tyler Vigen)은 이런 ‘웃픈’ 허위 상관을 대량으로 수집한 것으로 유명합니다. 아래 코드는 그중 하나 — 미국의 1인당 치즈 소비량과 침대 시트에 얽혀 사망한 사람 수(2000~2009년) — 를 이중축 그래프로 그립니다. 두 변수 사이에 인과 메커니즘이 있으리라고는 상상하기 어렵지만, 데이터가 무엇을 말하는지 직접 봅시다.
years = np.arange(2000, 2010)
cheese = np.array([29.8, 30.1, 30.5, 30.6, 31.3, 31.7, 32.6, 33.1, 32.7, 32.8]) # 1인당 치즈 소비(lbs)
bedsheet = np.array([327, 456, 509, 497, 596, 573, 661, 741, 809, 717]) # 침대시트 얽힘 사망자(명)
r = np.corrcoef(cheese, bedsheet)[0, 1]
print(f'치즈 소비 ↔ 침대시트 사망자: r = {r:.3f} (거의 완벽한 상관!)')
fig, ax1 = plt.subplots(figsize=(10, 5))
ax1.plot(years, cheese, 'o-', color='#d97706', lw=2, label='1인당 치즈 소비(lbs)')
ax1.set_xlabel('연도'); ax1.set_ylabel('1인당 치즈 소비(lbs)', color='#d97706')
ax1.tick_params(axis='y', labelcolor='#d97706')
ax2 = ax1.twinx()
ax2.plot(years, bedsheet, 's--', color='#2563eb', lw=2, label='침대시트 얽힘 사망자(명)')
ax2.set_ylabel('침대시트 얽힘 사망자(명)', color='#2563eb')
ax2.tick_params(axis='y', labelcolor='#2563eb')
plt.title(f'허위 상관의 고전: 치즈와 침대시트 (r={r:.2f})', fontweight='bold')
fig.tight_layout(); plt.show()치즈 소비 ↔ 침대시트 사망자: r = 0.947 (거의 완벽한 상관!)

해석: 상관계수가 무려 r = 0.947 로, 거의 완벽에 가깝습니다. 두 선이 놀라울 만큼 나란히 우상향합니다. 그러나 치즈를 많이 먹는다고 침대 시트에 얽혀 죽을 리 없고, 그 반대도 성립하지 않습니다. 진실은 단순합니다. 2000년대에 미국의 1인당 치즈 소비가 완만히 늘었고, 같은 기간 인구 증가·통계 집계 방식 등으로 침대 관련 사고 사망 집계도 우연히 함께 늘었을 뿐입니다. 둘 다 시간과 함께 움직였다는 것이 유일한 공통점입니다.
이 사례의 교훈은 강렬합니다. 높은 상관계수는 그 자체로 인과의 증거가 전혀 아닙니다. r이 0.9든 0.95든, 그럴듯한 인과 메커니즘(왜 A가 B를 일으키는지에 대한 논리)과 교란 요인을 배제하는 설계가 없다면 그 숫자는 무의미합니다. 특히 두 시계열이 모두 추세를 가질 때는 허위 상관을 의심하는 것이 기본기입니다. 계량경제학에서는 이런 함정을 피하기 위해 추세를 제거하거나(차분, detrending), 변수들의 장기 균형 관계를 따로 검정하는(공적분, cointegration) 기법을 사용합니다.
2.4.5 자연실험과 이중차분: 인과를 되찾는 법¶
지금까지 본 함정들은 하나같이 근본 문제를 가리킵니다. 우리는 처치를 받은 집단의 결과는 관찰하지만, 바로 그 집단이 처치를 받지 않았다면 어떻게 되었을지(반사실, counterfactual) 는 결코 관찰할 수 없다는 것입니다. 인과 추론의 심장에는 이 '관찰 불가능한 반사실’을 어떻게 추정할 것인가라는 문제가 있습니다.
가장 이상적인 해법은 무작위 통제 실험(Randomized Controlled Trial, RCT) 입니다. 대상을 동전 던지기로 처치집단과 통제집단에 무작위 배정하면, 두 집단은 (측정된·측정되지 않은 모든 요인에서) 평균적으로 동일해집니다. 따라서 통제집단의 결과가 곧 처치집단의 반사실이 되고, 두 집단 결과의 차이가 순수한 처치 효과가 됩니다. 무작위 배정이 선택편의와 누락변수를 한 번에 제거하는 것입니다. 신약 임상시험이 이 방식이며, 개발경제학에서도 널리 쓰입니다.
그러나 경제학의 많은 질문에서는 사람을 무작위로 배정하는 실험이 불가능하거나 비윤리적입니다. "최저임금을 무작위로 어떤 주에는 올리고 어떤 주에는 안 올린다"는 실험을 할 수는 없으니까요. 그래서 경제학자는 차선책으로 자연실험(natural experiment) 을 찾습니다. 자연실험이란 연구자가 아니라 자연·역사·제도의 변화가 우연히 '처치집단’과 '통제집단’에 가까운 상황을 만들어 준 경우를 말합니다. 정책이 어느 지역에는 적용되고 인접 지역에는 적용되지 않을 때, 그 경계는 훌륭한 자연실험이 됩니다.
자연실험을 분석하는 대표적 도구가 이중차분(Difference-in-Differences, DiD) 입니다. 이름 그대로 '차이의 차이’를 계산해 처치 효과를 추정합니다. 처치집단(treatment)과 통제집단(control)이 있고, 각각 처치 전(before)과 후(after) 결과를 관측한다고 합시다. 결과 변수의 평균을 로 표기하면, DiD 추정치는 다음과 같습니다.
첫 번째 괄호는 처치집단의 전후 변화이고, 두 번째 괄호는 통제집단의 전후 변화입니다. 처치집단의 변화에서 통제집단의 변화를 빼는 이유가 핵심입니다. 통제집단의 변화는 "처치가 없었더라도 두 집단 모두에게 공통으로 일어났을 시간적 추세(경기 변동, 계절 요인 등)"를 대변합니다. 이를 처치집단의 변화에서 빼 주면, 시간 추세가 상쇄되고 오직 처치 때문에 발생한 순효과만 남습니다.
같은 식을 회귀 형태로 쓰면 다음과 같습니다. 는 사후 시점 더미, 은 처치집단 더미입니다.
여기서 상호작용항의 계수 가 바로 DiD 추정치입니다. 은 처치·통제 집단의 원래 차이를, 는 공통 시간 추세를 흡수하고, 만이 처치 효과를 식별합니다.
다만 이 모든 논리는 하나의 결정적 가정 위에 서 있습니다. 평행추세 가정(parallel trends assumption) — 만약 처치가 없었다면 처치집단과 통제집단의 결과가 ‘같은 추세로’ 움직였을 것이라는 가정입니다. 이 가정이 성립해야만 통제집단의 변화를 처치집단의 반사실로 쓸 수 있습니다.
이 방법론을 역사상 가장 유명하게 적용한 연구가 바로 데이비드 카드(David Card)와 앨런 크루거(Alan Krueger)의 1994년 최저임금 연구입니다. 1992년 4월, 미국 뉴저지(NJ)주는 최저임금을 시간당 .25에서 .05로 인상했지만, 강을 사이에 둔 이웃 펜실베이니아(PA)주는 최저임금을 그대로 두었습니다. 두 지역은 지리·경제 여건이 비슷했으므로, PA는 훌륭한 통제집단이 됩니다. 카드와 크루거는 두 주 경계 지역의 패스트푸드점 고용을 인상 전(2월)과 인상 후(11월)에 각각 조사했습니다.
아래 코드는 그 논문(Table 3)의 핵심 결과 — 점포당 평균 정규직 환산 고용(FTE, Full-Time Equivalent) — 을 표로 정리하고 DiD 추정치를 계산합니다.
# 출처: Card & Krueger (1994), American Economic Review, Table 3 (평균 FTE 고용)
data = pd.DataFrame(
{'인상 전(2월)': [20.44, 23.33], '인상 후(11월)': [21.03, 21.17]},
index=['뉴저지(NJ, 최저임금 인상)', '펜실베이니아(PA, 통제집단)']
)
data['변화(after-before)'] = data['인상 후(11월)'] - data['인상 전(2월)']
print(data.round(2).to_string())
did = data.loc['뉴저지(NJ, 최저임금 인상)', '변화(after-before)'] - \
data.loc['펜실베이니아(PA, 통제집단)', '변화(after-before)']
print(f'\n이중차분(DiD) 추정치 = (NJ 변화) - (PA 변화) = {did:+.2f} FTE')
print('→ 최저임금을 인상한 NJ의 고용이 오히려 상대적으로 늘었다(고전적 통념과 상반).') 인상 전(2월) 인상 후(11월) 변화(after-before)
뉴저지(NJ, 최저임금 인상) 20.44 21.03 0.59
펜실베이니아(PA, 통제집단) 23.33 21.17 -2.16
이중차분(DiD) 추정치 = (NJ 변화) - (PA 변화) = +2.75 FTE
→ 최저임금을 인상한 NJ의 고용이 오히려 상대적으로 늘었다(고전적 통념과 상반).
숫자를 하나씩 읽어 봅시다. 통념(전통적 수요·공급 모형)은 "최저임금을 올리면 노동 수요가 줄어 고용이 감소한다"고 예측합니다. 그런데 결과는 정반대였습니다.
최저임금을 올린 뉴저지(NJ)의 점포당 고용은 인상 전 20.44 FTE에서 인상 후 21.03 FTE로 +0.59 증가했습니다. 반면 최저임금을 그대로 둔 펜실베이니아(PA)는 23.33에서 21.17로 -2.16 감소했습니다. 이 시기 미국 경제 여건 탓에 두 주 모두에 하락 압력이 있었다면, PA의 -2.16이 바로 “NJ에서도 인상이 없었다면 일어났을” 변화의 추정치(반사실)입니다.
따라서 이중차분 추정치는 FTE 입니다. 즉 최저임금 인상은 고용을 줄이기는커녕, 통제집단 대비 점포당 약 2.75명의 정규직 환산 고용을 오히려 늘린 것으로 나타났습니다. 이 반직관적 결과를 그림으로 확인해 봅시다.
# 그룹 막대그래프로 이중차분 시각화
labels = ['인상 전(2월)', '인상 후(11월)']
nj = [data.loc['뉴저지(NJ, 최저임금 인상)', '인상 전(2월)'], data.loc['뉴저지(NJ, 최저임금 인상)', '인상 후(11월)']]
pa = [data.loc['펜실베이니아(PA, 통제집단)', '인상 전(2월)'], data.loc['펜실베이니아(PA, 통제집단)', '인상 후(11월)']]
x = np.arange(len(labels)); w = 0.35
fig, ax = plt.subplots(figsize=(9, 5.5))
b1 = ax.bar(x - w/2, nj, w, label='뉴저지(NJ, 최저임금 인상)', color='#2563eb')
b2 = ax.bar(x + w/2, pa, w, label='펜실베이니아(PA, 통제집단)', color='#9ca3af')
ax.bar_label(b1, fmt='%.2f'); ax.bar_label(b2, fmt='%.2f')
ax.set_xticks(x); ax.set_xticklabels(labels)
ax.set_ylabel('점포당 평균 고용(FTE)')
ax.set_title(f'Card–Krueger(1994): 최저임금 자연실험\n이중차분 추정치 = {did:+.2f} FTE', fontweight='bold')
ax.legend(); ax.set_ylim(0, 27)
plt.tight_layout(); plt.show()
그림 해석 — 그리고 평행추세 가정: 막대그래프에서 파란 막대(NJ)는 인상 전후로 거의 변화가 없거나 소폭 상승한 반면, 회색 막대(PA)는 뚜렷이 하락했습니다. 두 집단의 '변화의 차이’가 바로 DiD 추정치 +2.75 FTE로 시각화됩니다.
이 결과의 타당성은 전적으로 평행추세 가정에 달려 있음을 다시 강조해야 합니다. 우리는 "최저임금 인상이 없었다면 NJ의 고용도 PA와 똑같은 추세(-2.16)로 움직였을 것"이라고 가정했습니다. 만약 두 주가 인상 이전부터 서로 다른 경기 흐름을 타고 있었다면 이 추정치는 편향됩니다. 실제로 카드와 크루거는 이 가정의 타당성을 뒷받침하기 위해 두 지역의 사전 추세, 점포 특성, 대체 자료 등을 광범위하게 점검했습니다. 후속 연구들은 상반된 결과를 내놓기도 했으나, 이 연구의 결정적 기여는 특정 결론(“최저임금은 고용을 안 줄인다”)을 확정한 데 있다기보다, 오래된 이론적 통념도 정교한 실증 설계 앞에서는 반증 대상이 된다는 점을 보여준 데 있습니다. 이는 2.1절에서 배운 포퍼적 과학의 정신 그대로입니다.
2.5 실증적 분석 vs 규범적 분석¶
마지막으로, 경제학자가 세상에 대해 내놓는 진술을 두 종류로 구분하는 법을 배웁니다. 이 구분은 단순해 보이지만, 건전한 경제 논쟁과 정책 토론을 위한 필수 문법입니다.
실증적 진술(positive statement) 은 세상이 어떠한가(what is) 에 대한 주장입니다. 사실에 관한 서술이며, 원리적으로 데이터로 검증하거나 반박할 수 있습니다(2.1절의 반증가능성을 떠올리세요). 예를 들어 “최저임금을 10% 올리면 청년 고용이 X% 변한다”, “통화량이 장기적으로 10% 늘면 물가 수준이 상승한다”, "담뱃값을 올리면 흡연율이 낮아진다"는 모두 실증적 진술입니다. 이들은 맞을 수도 틀릴 수도 있으며, 그 판정은 증거가 합니다.
규범적 진술(normative statement) 은 세상이 어떠해야 하는가(what ought to be) 에 대한 주장입니다. 가치판단·윤리·정치철학에 기반하며, 데이터만으로는 옳고 그름을 가릴 수 없습니다. 예를 들어 “정부는 서민 생활 안정을 위해 최저임금을 올려야 한다”, “물가 안정이 완전 고용보다 더 중요한 목표다”, "소득 불평등은 줄여야 한다"는 모두 규범적 진술입니다. 여기에는 '무엇이 바람직한가’에 대한 가치가 개입합니다.
2.5.1 왜 이 구분이 중요한가¶
두 진술을 뒤섞으면 토론이 엉망이 됩니다. 흔한 오류는 실증적 주장을 규범적 주장으로 몰래 바꿔치기하거나, 그 반대를 하는 것입니다. 예컨대 "최저임금 인상이 일부 일자리를 줄인다"는 실증적 발견을 두고 "그러니 최저임금을 올려선 안 된다"고 곧바로 결론짓는 것은 부당한 비약입니다. 후자의 결론은 '줄어드는 일자리의 손실’과 '임금이 오르는 노동자의 이득’을 어떻게 저울질할 것인가라는 가치판단을 추가로 필요로 하기 때문입니다. 실증적 사실은 선택지의 결과를 알려줄 뿐, 어떤 선택을 해야 하는지까지 정해 주지는 않습니다.
이상적인 정책 논의의 구조는 이렇습니다. 먼저 경제학자가 실증 분석으로 "이 정책을 쓰면 A가 이만큼 좋아지고 B가 이만큼 나빠진다"는 인과적 사실(trade-off)을 최대한 객관적으로 규명합니다. 그다음 사회가 그 사실 위에서 "우리는 A와 B 중 무엇을 더 중시하는가"라는 규범적 선택을 민주적으로 내립니다. 경제학자는 첫 번째 역할에서는 과학자로서 발언하고, 두 번째 영역에서는 (다른 시민과 마찬가지로) 한 명의 가치 주체로서 의견을 낼 수 있을 뿐입니다. 이 둘을 정직하게 구분하는 것이 경제학자의 지적 성실성입니다.
이 장의 요약¶
이 장에서 우리는 경제학이 세상을 이해하는 방식, 곧 경제학의 '본질’을 다루었습니다. 핵심을 정리하면 다음과 같습니다.
첫째, 경제학은 사회과학입니다. 관찰-가설-검증이라는 과학적 방법의 순환을 인간 사회에 적용하며, 데이터가 이론과 모순되면 이론을 수정하는 자기수정 정신을 따릅니다. 다만 인간은 생각하고 반응하는 존재이므로, 경제 법칙은 자연법칙과 달리 확률적·조건부적이며 통제 실험이 어렵습니다. 포퍼의 반증가능성은 과학적 주장과 그렇지 않은 주장을 가르는 기준이 됩니다.
둘째, 경제학은 모형으로 사고합니다. 모형은 현실의 지도이며, 그 미덕은 완벽한 복제가 아니라 유용한 생략에 있습니다. 합리적 인간과 ceteris paribus 같은 가정은 결함이 아니라 인과를 분리해 내는 도구입니다. 프리드먼의 당구 선수 비유처럼, 좋은 모형의 기준은 가정의 사실성이 아니라 예측력·절약성·다루기 쉬움에 있습니다.
셋째, 사람은 유인에 반응합니다. 가격·처벌·도덕이라는 유인은 행동을 이끄는 근본 동인이며, 유인을 잘못 설계하면 코브라 효과나 펠츠먼 효과 같은 의도치 않은 결과가 발생합니다. 한국의 부동산·조세 정책에서도 같은 원리가 거듭 확인됩니다.
넷째, 상관은 인과가 아닙니다. 누락변수(아이스크림-익사, 편상관 ), 역인과(경찰-범죄), 선택편의(병원-사망률), 추세에 의한 허위 상관(치즈-침대시트, )이 대표적 함정입니다. 인과를 회복하는 최선의 방법은 무작위 실험(RCT)이며, 그것이 불가능할 때는 자연실험과 이중차분(Card-Krueger, DiD FTE)이 쓰입니다. 다만 DiD의 타당성은 평행추세 가정에 달려 있습니다.
다섯째, 실증과 규범을 구분해야 합니다. '무엇인가’에 대한 실증적 진술은 데이터로 검증되지만, '무엇이어야 하는가’에 대한 규범적 진술은 가치판단의 문제입니다. 경제학자들의 의견 불일치도 실증적 불일치(데이터로 좁혀짐)와 규범적 불일치(가치의 차이)로 나누어 이해해야 합니다.
핵심 용어 (Key Terms)¶
| 한국어 | English | 정의 |
|---|---|---|
| 과학적 방법 | Scientific Method | 관찰-가설-검증-수정의 순환을 통해 지식을 쌓는 체계적 절차 |
| 반증가능성 | Falsifiability | 어떤 관찰에 의해 틀렸음을 판명할 수 있어야 과학적 명제라는 기준(포퍼) |
| 사회과학 | Social Science | 인간의 행동과 사회 제도를 과학적으로 연구하는 학문 분야 |
| 경제 모형 | Economic Model | 본질적 관계만 남기고 단순화한 현실의 표현 |
| 추상화 | Abstraction | 복잡한 현실에서 부차적 요소를 덜어내 다루기 쉽게 만드는 과정 |
| 세테리스 파리부스 | Ceteris Paribus | 다른 모든 관련 요인이 일정하다는 가정 |
| 합리적 인간 | Rational Agent (Homo Economicus) | 주어진 정보 아래 효용·이윤을 극대화하도록 선택한다는 가정 |
| 유인 | Incentive | 어떤 행동을 하도록(또는 안 하도록) 이끄는 보상 또는 처벌 |
| 의도치 않은 결과 | Unintended Consequences | 정책이 유인 반응을 간과해 목표와 어긋난 결과를 낳는 현상 |
| 상관관계 | Correlation | 두 변수가 함께 움직이는 통계적 관계(인과를 함의하지 않음) |
| 인과관계 | Causation | 한 변수의 변화가 다른 변수의 변화를 실제로 일으키는 관계 |
| 누락변수 편의 | Omitted Variable Bias | 숨은 공통 요인이 두 변수에 허위 관계를 만들어 내는 편의 |
| 편상관 | Partial Correlation | 제3의 변수를 통제한 뒤 남는 두 변수 사이의 순수한 상관 |
| 역인과 | Reverse Causality | 인과의 방향을 거꾸로 읽는 오류(B가 A를 일으키는 경우) |
| 선택편의 | Selection Bias | 비교 집단이 처음부터 다르게 선별되어 생기는 편향 |
| 허위 상관 | Spurious Correlation | 인과 없이(대개 공통 추세로) 나타나는 높은 상관 |
| 반사실 | Counterfactual | 처치가 없었다면 나타났을, 관찰 불가능한 결과 |
| 무작위 통제 실험 | Randomized Controlled Trial (RCT) | 무작위 배정으로 처치·통제 집단을 동일하게 만드는 실험 |
| 자연실험 | Natural Experiment | 자연·정책 변화가 처치·통제에 가까운 상황을 만들어 준 관측 연구 |
| 이중차분 | Difference-in-Differences (DiD) | 처치·통제 집단의 전후 변화의 차이로 처치 효과를 추정하는 방법 |
| 평행추세 가정 | Parallel Trends Assumption | 처치가 없었다면 두 집단이 같은 추세로 움직였을 것이라는 DiD의 핵심 가정 |
| 실증경제학 | Positive Economics | '무엇인가’를 다루며 데이터로 검증 가능한 객관적 분석 |
| 규범경제학 | Normative Economics | '무엇이어야 하는가’를 다루는 가치판단에 기반한 분석 |
연습문제¶
[개념 확인]
과학적 방법의 세 단계(관찰-가설-검증)를 설명하고, 사회과학인 경제학이 자연과학과 달리 검증 단계에서 겪는 어려움을 두 가지 이상 서술하시오.
포퍼의 반증가능성 기준을 설명하고, (가) 반증 가능한 경제학적 명제와 (나) 반증 불가능하여 비과학적인 명제를 각각 하나씩 직접 만들어 제시하시오.
"모형의 가정이 비현실적이면 그 모형은 쓸모없다"는 주장을 프리드먼의 당구 선수 비유를 이용해 비판하시오. 그럼에도 이 비유의 한계는 무엇인지도 함께 논하시오.
다음 각 상관관계에 대해 누락변수·역인과·선택편의 중 어떤 함정이 개입할 가능성이 큰지 판단하고, 그 근거를 서술하시오. (가) “운동을 많이 하는 사람일수록 병원비 지출이 적다” (나) “소방관이 많이 출동한 화재일수록 피해액이 크다” (다) “유명 사립고 출신일수록 명문대 진학률이 높다”.
[계산]
(에코노니아) 본문 [C2]에서 아이스크림-익사의 단순 상관계수는 , 기온을 통제한 편상관은 이었다. 이 두 수치의 차이가 의미하는 바를 '누락변수’와 '편상관’이라는 용어를 사용해 4~5문장으로 설명하시오.
(허위 상관) 본문 [C4]의 치즈-침대시트 상관계수는 이다. 상관계수가 1에 가까움에도 불구하고 이를 인과의 증거로 볼 수 없는 이유를, ‘추세에 의한 허위 상관’ 개념으로 설명하시오. 또한 이런 함정을 줄이기 위해 시계열 분석에서 흔히 쓰는 처리(예: 차분)를 한 가지 제시하시오.
(이중차분 계산) 어느 지방자치단체 A가 소상공인 지원금을 지급했고, 인접한 B는 지급하지 않았다. 정책 전후 점포당 월평균 매출(백만 원)이 아래와 같다.
| 지역 | 정책 전 | 정책 후 |
|---|---|---|
| A (처치집단) | 30.0 | 34.5 |
| B (통제집단) | 28.0 | 29.0 |
(가) 각 지역의 전후 변화를 구하시오. (나) 이중차분(DiD) 추정치를 계산하시오. (다) 이 추정치를 정책 효과로 해석하기 위해 반드시 성립해야 하는 가정의 이름을 쓰고, 그 의미를 한 문장으로 설명하시오.
(Card-Krueger 복습) 본문 [C5]의 수치(NJ: 20.44→21.03, PA: 23.33→21.17)를 이용해 DiD를 손으로 계산하고, 그 값이 +2.75 FTE가 됨을 보이시오. 이어서 이 결과가 "최저임금 인상은 반드시 고용을 줄인다"는 통념에 대해 무엇을 시사하는지 서술하시오.
[데이터 응용]
본문 [C2]~[C3]에서 사용한 ‘잔차끼리의 상관(편상관)’ 논리를 다음 상황에 적용해 설계하시오: "학원 수강 시간이 성적을 올리는가?"를 검증하려 한다. 어떤 누락변수를 통제해야 하는가(두 가지 이상 제시)? 그 변수들을 통제한 뒤 편상관을 구하는 절차를 회귀 잔차 개념으로 설명하시오.
다음 상관관계 중 하나를 골라, (가) 겉보기 상관을 서술하고, (나) 가능한 누락변수·역인과·선택편의를 각각 하나씩 제시한 뒤, (다) 인과를 규명하기 위한 자연실험 또는 RCT를 상상해 설계하시오(처치집단·통제집단·결과변수를 명시할 것). 선택지: “재택근무 도입이 생산성을 높이는가?”, “고교 무상급식이 학업 성취를 높이는가?”, “금연 구역 확대가 흡연율을 낮추는가?”.
[서술형]
어떤 정치인이 "우리 지역에 CCTV를 설치한 뒤 범죄가 줄었으니, CCTV가 범죄를 예방한다"고 주장한다. 이 주장에 담긴 인과 추론의 문제점을 이 장에서 배운 개념(누락변수·역인과·선택편의·자연실험·평행추세)을 최소 세 개 이상 사용해 비판하고, 주장을 제대로 검증할 연구 설계를 제안하시오.
실증적 진술과 규범적 진술의 차이를 정의하고, 한국의 최근 정책 이슈(예: 최저임금, 부동산 세제, 국민연금 개혁 중 택일)에 대해 실증적 진술 2개와 규범적 진술 2개를 직접 작성하시오. 그리고 이 이슈에서 경제학자들의 의견 불일치가 '실증적 불일치’와 ‘규범적 불일치’ 중 주로 어느 쪽에서 비롯되는지 논하시오.