상관관계(correlation)를 인과관계(causation)와 혼동하지 않도록 주의해야 한다. 변수 x는 변수 y를 예측할 때 유용할 수 있지만 이것이 x가 y의 원인이 된다는 의미는 아니기 때문이다. 또한 x가 y의 원인이 될 수 있지만 이와 동시에 y가 x의 원인이 될 수도 있다. 또는 둘 사이의 관계가 연구자가 상상했던 단순한 인과관계보다 더 복잡할 수도 있다.
실제 사례로 예를 들어보자.
2014년경 건보공단은 담배회사와 손해배상 청구 소송을 진행한 적이 있다. 내용은 담배회사의 담배 구조적 설계 결함과 담배회사의 불법행위로 3,465명의 흡연자가 폐암 등에 걸렸고, 공단은 이들에게 보험급여로 533억여 원을 지출했다고 주장한 것이었다. 공단 측 귀무가설과 대립가설을 아래와 같다. 편의상 간략하게 작성하였다.
- 귀무가설: 담배회사의 담배 설계 결함으로 폐암 환자가 발생했다.
- 대립가설: 담배회사의 담배 설계 결함으로 폐암 환자가 발생하지 않았다.
종속 변수와 독립 변수는 아래와 같을 것이다.
- 종속 변수(x): 흡연, 담배회사의 담배 설계 결함
- 독립 변수(y): 폐암
결론부터 말하자면 법원은 담배회사의 편을 들어주었고 건보공단이 패소하며 사건이 종결되었다. 우리는 흡연과 폐암 간의 양의 상관관계에 대해 이미 알고 있다. 하지만 상관관계가 성립함에도 불구하고 건보공단은 패소하였다. 이는 인과관계에 대한 소송이기 때문이다. 법원 역시 폐암 등 가입자들이 걸린 질병과 흡연과의 인과관계 역시 단정할 수 없다고 판결했고 이는 건보공단의 패소 이유이다.
폐암 발병(y)의 원인(x)은 흡연 이외에도 조사가 미흡했던 숨겨진 변수들인 제3의 변수가 될 수 있는 개개인의 생활습관 및 유전, 직업적 특성, 대기오염 등 다양한 요인들이 있을 것이다. 참고로 흡연과 폐암 사이의 인과관계를 인정하려면 흡연에 노출된 시기와 정도, 발병 시기, 흡연 이전의 건강상태, 생활습관, 가족력 등 다른 증거가 추가로 증명돼야 한다는 대법원 판례가 있다.
상관관계(correlation)
상관관계(correlation)는 각 변수가 서로의 증감에 대해서만 나타낼 뿐 한 변수가 다른 변수에 영향을 주는지는 알 수 없다. 이러한 상관관계를 분석하는 것이 상관 분석(correlation analysis)인데 이는 연속형 변수로 측정된 두 변수 간의 선형적 관계를 분석하는 기법이다.
상관관계에 대해서도 예시를 통해 알아보자.
매달 해변 리조트에서 물에 빠져 죽은 횟수를 해당 기간에 팔린 아이스크림 수와 함께 모델링할 수 있다. 이 모델이 그럴듯한 예측값을 줄 수 있다. 그 이유는 아이스크림 때문에 물에 빠져 죽지 않기 때문이 아니라, 더운 날에 사람들이 아이스크림을 더 많이 먹고 더운 날에 수영을 할 가능성도 높기 때문이다. 따라서 두 변수(아이스크림 판매량과 물에 빠져 죽는 것) 사이 상관관계는 있지만 하나가 다른 하나의 원인인 것은 아니다.
사실 두 변수 모두 제3의 변수인 기온이 원인이다. 생략된 변수인 기온이 반응 변수(response variable)와 예측 변수(predictor variable) 모두에 영향을 미쳐 "혼선(confounding)"을 야기한다. 우리가 사용하는 예측 모델에 포함되지 않는 어떤 변수가 반응 변수와 하나 이상의 예측 변수 모두에 영향을 줄 때, 이것을 혼선자(confounder)라고 한다. 즉, 이 예시에서는 기온이 혼선자에 해당한다. 여기서 예측 변수는 독립 변수, 반응 변수는 종속 변수와 동일한 의미로 해석해도 괜찮다.
혼선(confounding)은 어떤 변수들이 다른 변수들에 영향을 주고 있는지 판단하기 어렵게 만들지만 항상 예측 작업을 더 어렵게 만들지는 않는다.
예를 들어 예측 모델의 input과 output이 아래와 같이 설계되었다고 가정하자.
- input: 오늘 아침 길가에서 자전거 타는 사람의 수
- output: 오늘 오후 강우 여부
이 모델은 그럴듯한 예측값을 낼 수 있을 것이다. 다만 자전거 타는 사람이 비를 오지 않게 하기 때문이 아니라 사람이 공개된 일기 예보에서 비가 오지 않는다고 말할 때 자전거를 더 많이 탈 것이기 때문이다. 이 경우에 예측 모델이 추론하는 방식과 실제 인과관계는 역전되어 있는 상태이다. 즉, 강우(x)가 자전거 타는 사람(y)에 영향을 미치고 있는 상태이다.
여기서 우리는 두 변수 사이에 상관관계가 없을 때나 모델과는 반대로 인과관계(causality)가 성립하거나 혼선(confounding)이 있더라도, 상관관계가 예측 작업에서는 유용하다는 것을 이해하는 것이 중요하다.
여담이지만 이러한 인과관계가 역전되거나 혼선이 있는 상태에서 input와 output을 설정하여 인공지능 모델 개발이 진행되는 경우도 일어나고 있을 수 있다. 인과관계를 명확히 밝히는 경우엔 오류로 분류되겠지만 예측 결과를 얻는 것이 목적인 인공지능 연구에서는 오히려 좋은 관점의 전환으로 받아들여도 되지 않을까 생각한다. Multi Modal이 등장하여 다차원의 데이터를 input으로 사용하기도 하는데 오히려 이런 불완전한 방식이 인간 추론방식에 더 유사하지 않나 싶다.
인과관계(causation)
인과관계(causation)는 우리가 익히 알고 있는 원인과 결과에 대한 관계이다. 이 인과관계를 분석하는 방법 중 가장 대표적인 것이 회귀분석이다. 위의 상관관계 분석은 서로 변수 간에 영향을 주는지에 대해 확인할 수 없지만 회귀분석에서는 이러한 변수 간의 서로 영향을 주는지에 대해 확인할 수 있다.
회귀분석에서는 먼저 결과에 영향을 주는 변수인 독립 변수(예측 변수)와 결과 값을 나타내는 종속 변수(반응 변수)로 나누어진다. 또한 이 독립변수와 종속변수의 개수에 따라서 분석 법이 달라지게 된다.
독립 변수 기준으로는 아래와 같다.
- 독립 변수가 1개: 단순 회귀 모델
- 독립 변수가 2개 이상: 다중 회귀 모델
아래는 종속변수 기준이다.
- 종속 변수가 1개: 단 변량 회귀 모델
- 종속 변수가 2개: 이변량 회귀 모델
- 종속 변수가 그 이상: 다변량 회귀 모델
아래는 예시이다.
- 종속 변수가 1개, 독립 변수가 1개 -> 단 변량 단순 선형 회귀 모델 (Univariate simple linear regression model)
- 종속 변수가 1개, 독립변수가 2개 이상 -> 단 변량 다중 선형 회귀 모델(Univariate Multiple linear regression model)
- 종속 변수가 2개 이상, 독립변수가 1개 -> 다변량 단순 선형 회귀 모델 (Multivariate simple linear regression model)
- 종속 변수가 2개 이상, 독립 변수가 2개 이상 -> 다변량 다중 선형 회귀 분석(Multivariate multiple linear regression model)
다중 선형 회귀(Multiple Linear Regression)와 다중공선성(Multicollinearity)
다중 선형 회귀(Multiple Linear Regression, MLR) 또는 다중 회귀를 이용한 예측 모델 구현에서 2개 이상의 독립 변수로 비슷한 정보가 주어질 때 나타나는 다중공선성(Multicollinearity)이다. 이는 두 독립 변수의 상관관계가 아주 높은 상황(즉, 상관 계수가 1이나 -1에 가까울 때)에서 나타날 수 있다.
예를 들어 양발 크기를 이용해 키를 예측하는 모델을 구현한다고 가정하자. 구현하는 예측 모델에서 왼쪽 발과 오른쪽 발의 크기를 모두 사용한다고 해서 예측결과에 부정적이지는 않겠지만 그렇다고 결과를 개선시키지도 않을 것이다. 다시 말해 변수 중에서 하나의 값을 알면 다른 변수의 값을 추정할 수 있다는 뜻이 된다.
상관관계가 너무 크거나 작으면 회귀 계수를 계산하여 추정하는 것이 어려워질 수 있다. 하지만 예측 모델을 제작할 때 독립 변수간 완벽한 상관관계가 나타나는 경우를 제외하고는 다중공선성이 치명적인 결과를 초래하지 않는다.
관련 포스트
2022.12.01 - [Data Science/Statistics] - 변인(Variables)의 종류
2022.02.23 - [Data Science/Statistics] - [Python] 단순 선형 회귀(Simple Linear Regression, SLR)의 이해와 구현
2022.02.24 - [Data Science/Statistics] - [Python] 다중 선형 회귀(Multiple Linear Regression, MLR)의 이해와 구현
2022.02.28 - [Data Science/Statistics] - [Python] 다항 회귀(Polynomial Regression)의 이해와 구현
참고 자료
https://www.joongang.co.kr/article/23925878#home
https://otexts.com/fppkr/causality.html
https://m.blog.naver.com/euleekwon/221438258492
https://blog.naver.com/y4769/220227007641?trackingCode=blog_bloghome_searchlist
https://yozm.wishket.com/magazine/detail/1829/