gimmesilver's blog

Agbird.egloos.com

포토로그



선형 회귀 모델에서 '선형'이 의미하는 것은 무엇인가? 데이터분석

1. '선형(linear)'은 x의 1차 다항식을 의미하는 것이 아니다.
  인터넷에 돌아다니는 많은 자료들을 보면 선형 회귀 모델을 잘못 설명하고 있습니다. 이런 자료들을 보면 공통적으로 선형 회귀 모델의 의미를 독립 변수(x)와 종속 변수(y) 간의 관계가 일차식으로 표현되는 것이라고 설명하고 있습니다. 그래서 독립 변수를 제곱근이나 로그 함수 등을 이용해서 적당히 변환하면 비선형 모델을 선형 모델로 만들 수 있다고 설명합니다. 그러나 이것은 '선형'의 의미를 잘못 이해하고 있는 것입니다. 즉, 아래 그림에서 왼쪽 그림은 선형 모델이고 오른쪽 그림은 비선형 모델이라고 설명하는 경우가 많은데 잘못된 예시입니다(둘 다 선형 회귀 모델로 표현 가능합니다).

<그림 1> 선형 회귀 모델과 비선형 회귀 모델로 각각 검색했을때 나오는 대표적인 이미지 예

  선형 회귀 모델은 '회귀 계수(regression coefficient)를 선형 결합으로 표현할 수 있는 모델'을 말합니다. 즉, 독립 변수가 일차식이냐 이차식이냐 로그 함수식이냐가 아니라 우리가 추정할 대상인 파라미터가 어떻게 생겼느냐의 문제입니다. 가령 아래 함수들은 모두 선형 회귀식입니다.

  예를 들어 첫번째 식의 경우 독립변수인 x를 기준으로 생각하면 x^2, x^3 때문에 비선형이라고 생각하기 쉽지만, 앞서 언급했듯이 회귀 모델의 선형성은 x가 아니라 회귀 계수인 베타0, 베타1, 베타2, 베타3을 기준으로 생각하는 것이기 때문에 이 기준으로 보면 선형 회귀식입니다. 게다가 위 식들은 '선형성'에 직접적으로 관련되지 않은 변수인 x와 y를 적절히 변환할 경우 모두 선형 회귀식으로 표현이 가능합니다. (아래 식에서 log 는 모두 자연 로그) 

  비록 위와 같이 데이터 변환을 통해 선형 회귀식으로 표현가능한 회귀식을 좀 더 엄밀하게는 linearizable regression model(우리말로 하면 선형 가능 회귀 모델?)이라고 구분하여 부르기도 하지만 포괄적으로 봤을 때는 그냥 선형 회귀 모델이라고 부르는 것이 맞습니다. 왜냐하면 이런 linearizable regression model 의 파라미터를 추정할 때도 일반적인 선형 회귀 모델과 동일한 기법을 사용하기 때문입니다.

2. 그럼 비선형 회귀 모델은 무엇인가?
비선형 모델은 데이터를 어떻게 변형하더라도 파라미터를 선형 결합식으로 표현할 수 없는 모델을 말합니다. 이런 비선형 모델 중 단순한 예로는 아래와 같은 것이 있습니다. 이 식은 아무리 x, y 변수를 변환하더라도 파라미터를 선형식으로 표현할 수 없습니다.

  선형 회귀 모델은 파라미터 계수에 대한 해석이 단순하지만 비선형 모델은 모델의 형태가 복잡할 경우 해석이 매우 어렵습니다. 그래서 보통 모델의 해석을 중시하는 통계 모델링에서는 비선형 회귀 모델을 잘 사용하지 않습니다.
  그런데 만약 회귀 모델의 목적이 해석이 아니라 예측에 있다면 비선형 모델은 대단히 유연하기 때문에 복잡한 패턴을 갖는 데이터에 대해서도 모델링이 가능합니다. 그래서 충분히 많은 데이터를 갖고 있어서 variance error를 충분히 줄일 수 있고 예측 자체가 목적인 경우라면 비선형 모델은 사용할만한 도구입니다. 기계 학습 분야에서는 실제 이런 비선형 모델을 대단히 많이 사용하고 있는데 가장 대표적인 것이 소위 딥 러닝이라고 부르는 뉴럴 네트워크입니다.

3. 결론
  정리하자면, 선형 회귀 모델은 파라미터가 선형식으로 표현되는 회귀 모델을 의미합니다. 그리고 이런 선형 회귀 모델은 파라미터를 추정하거나 모델을 해석하기가 비선형 모델에 비해 비교적 쉽기 때문에, 데이터를 적절히 변환하거나 도움이 되는 feature들을 추가하여 선형 모델을 만들 수 있다면 이렇게 하는 것이 적은 개수의 feature로 복잡한 비선형 모델을 만드는 것보다 여러 면에서 유리합니다.
  반면 선형 모델은 표현 가능한 모델의 가짓수(파라미터의 개수가 아니라 파라미터의 결합 형태)가 한정되어 있기 때문에 유연성이 떨어집니다. 따라서 복잡한 패턴을 갖고 있는 데이터에 대해서는 정확한 모델링이 불가능한 경우가 있습니다. 그래서 최근에는 모델의 해석보다는 정교한 예측이 중요한 분야의 경우 뉴럴 네트워크와 같은 비선형 모델이 널리 사용되고 있습니다.

덧글

  • kevin13 2016/11/18 00:24 # 삭제 답글

    혹시, "선형"이라는 의미가 분야에 따라 달라질 수 있나요? 가령 이 글에서의 선형은 "선형 회귀 모델"에서의 의미에 한정되는 것인지요?

    왜냐하면, 아래의 위키에 보면,

    https://ko.wikipedia.org/wiki/%EC%84%A0%ED%98%95%EB%8C%80%EC%88%98%ED%95%99

    y=x*x의 경우 '선형성'의 정의에 대해 만족시키지 않는다고 되어 있습니다. (암튼, 요즘 '선형' 이라는 단어 때문에 혼란을 겪고 있는 중입니다. ^^;)
  • gimmesilver 2016/11/18 10:14 #

    제가 알기로는 '선형' 이라는 용어 자체의 정의는 다르지 않습니다. 제가 얘기하고자 한 것은 '선형 회귀 모델'에서 말하는 '선형'의 대상은 독립변수가 아니라 회귀 계수라는 것입니다.
    아마도 표기법 상의 차이 때문에 혼란을 느끼시는 것 같은데, 댓글에 적어주신 위키 링크의 표기법을 따르자면, 회귀 모델의 회귀 계수가 위키 링크의 x1, x2, ... 라고 생각하시면 될 것 같습니다.
  • 경제학도 2017/03/09 16:42 # 삭제 답글

    그렇다면 1.에서 설명해주신 선형이 변수에 개해서 비선형이지만 모수에 대해선 선형이란 뜻도 되는 것인가요??
  • gimmesilver 2017/03/09 20:03 #

    단순히 '선형' 이라는 용어의 의미를 묻는 것이라면 f(x) = beta*x^2 이라는 식은 x를 기준으로 볼 때 '비선형' 함수입니다. 하지만 회귀 모델에서는 x가 아니라 beta 의 결합 형태를 기준으로 보기 때문에 f(x)=beta*x^2는 선형 회귀 모델입니다.
댓글 입력 영역