Knowledge/인공지능

선형 회귀

gyulee0220 2018. 1. 21. 12:21

1. 회귀 분석(Regression Analysis)

  회귀 분석은 두 변수 사이의 연관성을 분석할 때 가장 많이 사용하는 방법이다. 회귀분석은 독립변수와 종속변수의 관계를 함수식으로 설명한다.


 - 종속변수 : 우리가 알고 싶어하는 결과 값 

 - 독립변수 : 종속변수에 영향을 주는 값


ex) 학생들의 키를 가지고 몸무게를 예측하고자 한다면,

    키 : 독립변수, 몸무게 : 종속변수


2. 선형 회귀란?

 선형은 독립변수가 1차항으로 되어있음을 의미한다. 즉, 독립변수에 지수항이 존재한다면, 비선형이 되므로 선형 회귀분석이 불가능하다.

f(x%2By)%3Df(x)%2Bf(y)%20 

f(ax)%3Daf(x)%20 


 선형 회귀식을 풀기 위해서 가장 많이 사용하는 방식은 '최소제곱법'이다.


3. 회귀 분석 방법

  독립변수가 1개인 선형 회귀식은 아래와 같이 나올 것이라고 가정한다.

%EC%9E%84%EC%9D%98%EC%9D%98%5Cquad%20%EA%B3%84%EC%88%98%5Cquad%20%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D%2C%5Cquad%20%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%5Cquad%20%EC%97%90%5Cquad%20%EB%8C%80%ED%95%B4%5Cquad%20%ED%9A%8C%EA%B7%80%EC%8B%9D%EC%9D%84%5Cquad%20%5Cbar%20%7B%20y%20%7D%5Cquad%20%3D%5Cquad%20%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D%2B%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7Dx%5Cquad%20%EB%9D%BC%EA%B3%A0%5Cquad%20%EA%B0%80%EC%A0%95%20 


  이 식을 바탕으로 모든 데이터 셋에 대한 오차를 구한다. 그리고 그 오차를 제곱해 모두 더한 값을 최소로 하는 계수를 구한다. 


 

위 그래프와 같이 실제 데이터 셋과 회귀식에서의 차이가 나타난다. 이를 오차항이라고 하고 오차항을 나타내는 식을 아래와 같이 표현 가능하다.

%5Ccombi%20%5E%7B%20i%20%7D%7B%20e%20%7D%5Cquad%20%3D%5Cquad%20%5Ccombi%20%5E%7B%20i%20%7D%7B%20y%20%7D%5Cquad%20-%5Cquad%20%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D%5Cquad%20-%5Cquad%20%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%5Ccombi%20%5E%7B%20i%20%7D%7B%20x%20%7D%20 

  즉, 오차항이 0에 가까울 수록 좋은 회귀식이 된다. 그래서 오차항은 평균이 0이고, 표준편차가 σ라고 가정한다.


4. 최소제곱법

  그래프에서 보면 알 수 있듯이 오차항은 양의 값일 수도 있고, 음의 값일 수도 있다. 그래서 제곱을 하여 오차항을 최소로 하는 두 계수를 구해야 회귀식이 완성된다. 최소값을 구하기 위해 잔차 제곱의 합(Sum of Squares of Errors)을 SEE로 표시한다.


SSE에 대한 식을 아래와 같이 표현된다.

SSE%5Cquad%20%3D%5Cquad%20%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20%5E%7B%202%20%7D%7B%20(%5Ccombi%20%5E%7B%20i%20%7D%7B%20e%20%7D)%20%7D%20%7D%5Cquad%20%3D%5Csum%20_%7B%20i-1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20%5E%7B%202%20%7D%7B%20(%5Ccombi%20%5E%7B%20i%20%7D%7B%20y%20%7D-%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D-%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%5Ccombi%20%5E%7B%20i%20%7D%7B%20x%20%7D)%20%7D%20%7D%20 


회귀식은 SSE가 최소가 되는 값이다. 편미분을 활용하여 SSE를 최소로 만드는 값을 구한다. 


%5Cfrac%20%7B%20%5Cpartial%20(SSE)%20%7D%7B%20%5Cpartial%20%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D%20%7D%3D0%2C%5Cfrac%20%7B%20%5Cpartial%20(SSE)%20%7D%7B%20%5Cpartial%20%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%20%7D%3D0%20


위 식을 정리하면 계수를 구하는 2개의 식을 구할 수 있다.

%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%3D%5Cfrac%20%7B%20n%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20x%20%7D%5Ccdot%20%5Ccombi%20_%7B%20i%20%7D%7B%20y%20%7D%20%7D-%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20x%20%7D%20%7D%5Ccdot%20%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20y%20%7D%20%7D%20%7D%7B%20n%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20%5E%7B%202%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20x%20%7D%20%7D%20%7D-%5Ccombi%20%5E%7B%202%20%7D%7B%20%5Cleft(%20%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20x%20%7D%20%7D%20%5Cright)%20%20%7D%20%7D%20 


%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D%3D%5Cfrac%20%7B%20%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20y%20%7D%20%7D-%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%5Csum%20_%7B%20i%3D1%20%7D%5E%7B%20n%20%7D%7B%20%5Ccombi%20_%7B%20i%20%7D%7B%20x%20%7D%20%7D%20%7D%7B%20n%20%7D%20 


두 식을 풀게 되면 회귀 식을 구할 수 있다.


4. 회귀 분석 예시

  세 점 (1,2), (2,6), (3,7)에서 회귀식을 구해보자.



%5Ccombi%20_%7B%201%20%7D%7B%20%5Cbeta%20%20%7D%5Cquad%20%3D%5Cquad%20%5Cfrac%20%7B%203(2%2B12%2B21)-(1%2B2%2B3)%5Ctimes%20(2%2B6%2B7)%20%7D%7B%203(1%2B4%2B9)-%5Ccombi%20%5E%7B%202%20%7D%7B%20(1%2B2%2B3)%20%7D%20%7D%5C%5C%20%5Cquad%20%5Cquad%20%5Cquad%20%5Cquad%20%5Cquad%20%3D%5Cquad%20%5Cfrac%20%7B%20105-90%20%7D%7B%2042-36%20%7D%5Cquad%20%3D%5Cquad%202.5%20 

%5Ccombi%20_%7B%200%20%7D%7B%20%5Cbeta%20%20%7D%3D%5Cfrac%20%7B%20(2%2B6%2B7)-2.5(1%2B2%2B3)%20%7D%7B%203%20%7D%3D0%20 


 회귀 분석 식을 구하는 공식을 이용한 회귀식은 'y=2.5x' 로 나왔다. 엑셀을 이용해 이 결과가 맡는지 확인해보자