29가지 통계 개념 - 회귀분석의 가정과 조건들

회귀분석을 실행하기 위해 필요한 가정과 조건들에 대해 알아보자.

회귀분석에 필요한 가정과 조건들

회귀분석은 데이터셋에서 패턴을 찾는 것에 굉장히 유용한 방법이다. 하지만 항상 데이터를 회귀선에 적합할 수 있는 것은 아니다. SPSS 나 Excel 같은 대부분의 소프트웨어는 회귀선이 말이 되지 않더라도 최적의 회귀선을 항상 제공해준다. 해당 데이터가 회귀분석에 적합한지를 미리 알아내는 것은 분석가에게 달려있다. 그렇다면 어떻게 할 수 있을까? 검정을 실행하기에 앞서 아래의 가정과 조건들을 만족하는지를 알아봄으로써 이를 판단할 수 있다:

  1. 데이터는 정량적(Quantitative) 이어야 한다.
  2. 데이터가 직선에 가깝게 분포해야 한다(선형회귀일 경우에만 해당).
  3. 이상치가 없어야 한다.
  4. 오차는 서로 독립적(Independent)이어야 한다.
  5. 오차항은 모든 독립변수 값에 대하여 동일한 분산(Homoscedasticity)을 갖는다.
  6. 오차항의 분포는 정규성(Normality)을 가져야 한다.

정량적 데이터 조건 / 정량적 변수 조건

회귀분석은 오직 정량적인 데이터에만 적용할 수 있다. 다시 말하자면, 데이터가 숫자가 아니라면 회귀분석은 경향을 파악하는 데에 좋은 방법은 아닐지도 모른다. 변수들이 실제 단위를 가지고 있고, 의미있는 것을 측정하는지를 확인하라.

데이터가 이러한 조건을 만족하는지 확인하기 위해서는 가지고 있는 데이터가 정성적인 데이터(Qualitative data)가 아니라 정량적인 데이터(수치형 자료)인 것을 확인하라. 정성적인 자료는 범주로 나눌 수 있는 데이터(그래서 범주형 데이터라고도 한다)를 의미한다. 정량적인 자료와 정성적인 자료: 변수들을 구분하는 방법 을 참고하라.

정량적인 형태를 띄고 있는 범주형 변수

가끔 통계학에서는 범주형 자료에 숫자들을 할당해서 정량적 자료로 만들기도 한다(연산을 할 수 있게 만들기 위해서). 예를 들어, 카드 한 덱은 정량적인 변수(카드의 갯수)와 정성적인 변수(모양: 하트, 다이아몬드, 스페이드, 클럽)로 이루어져 있다. 이를 정량적으로 만들기 위해서 각 모양(suits)에 숫자를 부여할 수도 있다.

  • 하트 = 1
  • 다이아몬드 =2
  • 스페이드 = 3
  • 클럽 = 4

하지만 범주형 자료에 숫자를 부여했다고 해서 이를 정량적 변수로 만들어주지는 못한다. 이들은 여전히 숫자로 이루어진 범주형 자료이다. 이 변수는 정량적 변수의 조건을 만족시키지 못하기 때문에 이러한 종류의 변수에는 회귀분석을 사용할 수 없다.

선형성 가정 (Assumption of Linearity)

선형성은 선형 회귀분석에서만 해당되는 가정이다. 회귀선은 데이터가 어느 정도 선형을 띄지 않는다면 굉장히 잘못된 결과를 알려줄 수도 있다. 이를 확인할 수 있는 최선의 방법은 산점도를 그려보는 것이다. 만약 데이터를 한 직선을 그어서 적합할 수 있게 보이면 회귀분석을 적용할 수 있다. 다른 종류의 회귀분석(지수 회귀분석 같은) 을 적용하는 경우에는 동일하게 산점도를 눈으로 살펴보고 이 산점도가 수행하려고 하는 회귀분석의 모양과 비교해보라.

이상치 조건

the outlier condition

하나의 이상치가 회귀선에 큰 영향을 줄 수도 있다

이상치는 회귀분석을 진행할 때 회귀직선과 상관 계수에 엄청나게 큰 영향을 줄 수 있다. 만약 데이터에 이상치가 존재한다면 회귀분석을 진행할 때, 이를 포함해서 한번, 제거하고 한번, 총 두 번을 진행해보는 것이 좋다.

오차항의 독립성 (Independence of Errors)

만약 데이터가 명확한 패턴을 띈다면, 이는 오차들이 서로 영향을 주는 것을 의미한다고도 할 수 있다. 오차는 관측값과 예측값의 차이를 말한다. 아래의 그림은 두 선형회귀 직선을 나타내는데, 왼쪽의 그림에서 데이터는 회귀선 주위에 임의적으로 분포되어 있고, 오른쪽의 그림에서 데이터는 서로 명확하게 영향을 주고 있다.

independence of errors

만약에 오차가 무작위로 분포되어 있지 않는다면, 예측이 정확하지 않기 때문에 회귀분석을 진행할 수 없다.

오차항의 등분산성 (Homoscedasticity)

오차의 등분산성은 데이터가 회귀선 주위로 부채꼴이 아니라 동일한 범위 내에서 분포해야한다는 것이다. 이분산성(Heteroscedasticity) 란 오차항의 독립성과 마찬가지로, 오차에서 어떤 경향을 볼 수 있다는 것인데, 여기서 차이점은 그 경향이 커지거나 작아진다는 것이다. 아래의 그림을 보면 처음 두 그림은 $x$ 값에 따라서 오차의 분포가 커지거나 작아지는 경향을 보여주지만, 세 번째 그림은 그 값에 상관없이 오차가 특정 범위 내에서 무작위로 분포되어 있는 것을 볼 수 있다.

homoscedasticity and heteroscedasticity

오차항의 정규성

이 가정은 모든 $x$ 값에 대해서 데이터가 회귀선을 기준으로 정규분포를 따르게 분포되어야 한다는 것이다. 즉, 회귀선을 기준으로 그 주위에 더 많은 데이터가 있고, 이상치가 없이 균일하게 퍼져있어야 한다.

출처

Assumptions and Conditions for Regression

2023

영어랑 친해지는 방법

7 minute read

가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…

Back to top ↑

2022

Back to top ↑

2020

사내 스터디에 대한 회고

2 minute read

회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.

Back to top ↑

2019

GitHub Pages Jekyll Blog 에 MathJax 추가하기

3 minute read

이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.

GitHub 블로그에 Jupyter notebook 올리는 방법

4 minute read

여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...

Back to top ↑