Python 기초 통계

Python으로 하는 기초 통계 분석법


수강중

9. 회귀분석이란 무엇인가?

동영상이 없는 텍스트 강의 자료입니다.

회귀분석(regression)은 가장 넓은 의미로는 독립변수(x)로 종속변수(y)를 예측하는 것을 의미한다.

독립변수와 종속변수

체중과 식사량의 관계에 대한 모형을 만든다고 해보자. 이 모형에서 체중이 식사량에 따라 달라진다고 가정하면, 식사량이 많아지면 체중도 증가하고, 식사량이 감소하면 체중도 감소할 것이다. 그러면 체중은 식사량에 종속되었다고 할 수 있다. 그래서 체중은 종속변수가 된다.

그런데 이 모형은 체중이 식사량이 왜 변하는지는 말하고 있지 않다. 식사량은 모형에 독립적으로 변하므로, 독립변수가 된다.

정리하자면:

  • 독립변수: 변수의 변화 원인이 모형 에 있는 변수
  • 종속변수: 변수의 변화 원인이 모형 에 있을 변수

혼입변수

혼입변수(confounding variable)는 모형에 포함되지 않았지만 종속 변수에 영향을 미치는 변수이다.

예를 들어 건강이 좋지 않아 식사량이 줄고, 체중도 줄어든 사람들이 있다면 마치 식사량이 줄면 체중이 줄어드는 것처럼 보일 수도 있다.

선형회귀분석

회귀분석을 좀 더 좁은 의미로 말할 때는 종속변수가 연속인 경우를 말한다. 종속변수가 범주형인 경우에는 '분류'라고 한다.

더 좁은 의미로는 선형 회귀 분석을 의미한다. 선형 회귀 분석은 독립변수와 종속변수 사이에 직적인 태의 관계가 있다고 가정을 한다.

직선적인 형태란 독립변수가 일정하게 증가하면, 종속변수도 그에 비례해서 증가하거나 또는 감소하는 형태를 말한다.

예를 들어 밥을 한 그릇 더 먹으면 체중이 정확히 100g 증가한다면 직선적인 형태라고 할 수 있다. 밥을 한 그릇, 두 그릇, 세 그릇, .. 먹으면 체중이 100g, 200g, 300g으로 증가하기 때문에 이것을 그림으로 그려보면 직선이 그려진다.

회귀계수

선형 모형에서 x와 y의 관계를 수식으로 나타내민 아래와 같다.

$$ y = wx + b $$

위의 식에서 $w$를 회귀계수(cofficient)라고 한다. 독립변수 $x$가 1 증가할 때마다 종속변수 $y$는 $w$만큼 증가한다.

밥을 1 그릇 먹을 때마다 체중이 100g씩 증가하면 밥 그릇 수에 100을 곱하면 체중의 변화량이 된다. 따라서 이때의 회귀계수는 100이라고 할 수 있다.

그림으로 그리면 회귀계수는 직선의 기울기(slope)가 된다.

위의 식에서 독립변수 $x = 0$이면 $y = b$가 된다. 이를 y-절편, 또는 간단히 절편(intercept)이라고 한다.

  • 절편(intercept): 독립변수가 모두 0일때 종속변수 y의 값.

회귀분석의 결과로 알 수 있는 것

  • 모형적합도: 모형이 데이터에 얼마나 잘 맞는가?

    • 예) 식사량과 체중의 관계가 데이터에 잘 맞는지 검증해볼 수 있다.
  • 회귀계수: 독립변수의 변화가 종속변수를 얼마나 변화시키는가?

    • 예) 식사량이 증가하면 체중이 얼마나 증가하는지 알 수 있다.