Channi Studies

Linear Regression (선형 회귀) -3 | Coefficients Table 본문

Data Science/Python

Linear Regression (선형 회귀) -3 | Coefficients Table

Chan Lee 2024. 6. 3. 03:53

 

저번 포스트에서는 statsmodels를 활용하여 Simple Linear Regression 모델을 디자인 해 보았습니다.

 

Linear Regression (선형 회귀) - 2 | Simple Linear Regression (단순 선형 회귀)

저번 포스트에서는 선형 회귀에서 주로 사용되는 패키지들에 대해서 간략하게 알아보았습니다. Linear Regression (선형 회귀) - 1 | 패키지 알아보기이번 포스트에서는 파이썬을 사용해서 기초적 선

code-studies.tistory.com

 

이번 포스트에서는 sm.OLS(y, x).fit()로 얻어진 result에 result.summary()를 했을 때 보여지는 표에 대해서 알아보겠습니다.

해당 내용은 위 포스트에서 가볍게 다루었으니, 모르신다면 잠깐 보고 오시는걸 추천합니다.

 

 

위 표에서 확인할 수 있듯, 매우 중요한 정보가 많이 들어있습니다.

하지만 우리는 이 중에서 우리에게 가장 중요한 부분을 중점적으로 보겠습니다.

 

Coefficients Table

단순 선형 회귀 모델의 식이 기억 나시나요? 

일반적인 일차함수와 매우 유사한 형태였습니다.

ŷ = b0 + b1*x1

 

저번 포스트에서 활용했듯이, 위 그래프에서 우리는 Constant(b0)과 독립변수 x1의 계수 b1을 확인할 수 있습니다.

const 행의 coef 열, 즉 0.2750이 b0을 의미하고, SAT(y 값의 이름) 행의 coef 열, 0.0017이 b1을 의미합니다.

즉, 우리의 단순 선형 회귀모델은 다음과 같겠네요.

ŷ =  0.275+ 0.0017*x1

 

저번에 해봤다시피 위 모델을 pyplot을 통해서 데이터들의 scatter plot 위에 그려본다면 다음과 같습니다.

 

위 그래프에서의 오렌지색 선이 우리의 회귀 직선(Regression Line) 입니다.

우리의 모델이 그래서 무슨 의미인지를 잠깐 알아볼까요? 

 

 

ŷ =  0.275+ 0.0017*x1

여기서 우리는 SAT(수능) 점수를 기반으로 대학교 졸업 시의 GPA(학점)을 예측하는 모델을 디자인 했습니다.

즉 y = GPA, x1 = SAT score 인 것이죠. 

(SAT 점수의 범위는 400 ~ 1600점이지만, 우리의 모델에서는 잠깐 무시하겠습니다)

 

SAT에서 2000점을 받은 학생의 경우에는, 

ŷ =  0.275+ 0.0017*2000 = 3.675 이므로

대학 졸업 시 3.675의 학점을 가질 것으로 예상해볼 수 있겠네요.

 

 

다시 표로 돌아가서, 나머지를 살펴봅시다.

std err는 standard error, 표준 오차를 보여줍니다.

이 표준 오차가 0에 가까울 수록 예측 모델이 정확함을 의미하고, 커질수록 오류가 늘어납니다.

 

t P>|t| 의 경우에는 Hypothesis Testing (가설 검정)의 개념이 들어갑니다. 

Sample data(조사한 학생들의 SAT, GPA)를 바탕으로 Population(전체 학생의 SAT, GPA)를 예측하려고 하는데, Population variance (or standard deviation)을 알 수 없는 상황이죠? 

이럴 때 우리는 어떤 분산을 사용하는지 기억이 나시나요?

 

바로 Student's T-Distribution을 사용했었습니다.

Null Hypothesis (H0): β=0

Alternative Hypothesis (H0):β≠0

여기서 β는 각 Coefficient, b0과 b1을 의미합니다.

 

const 의 coefficient b0을 0으로 가정했을 때 (null hypothesis), p-value가 0.503이고,

x1(SAT 점수)의 coefficient b1을 0으로 가정했을 때, p-value는 0.000입니다. 

 

이게 무슨 뜻이냐면, 우리가 significance level을 통상 5%=0.05로 설정을 하기 때문에,

0.05보다 작은 p-value는 '데이터들의 관계가 statistically significant하다' 를 의미합니다.

 

즉, x1의 경우 0.000<0.05이기 때문에 SAT 점수와 GPA 사이의 관계가 통계적으로 유의미하다는 것 입니다.

그냥 쉽게 말해서 예측 할 수 있는 관계가 있다고 이해하면 될 것 같습니다.

 

그렇다면, x0의 계수 b0의 p-value는 0.05보다 한참 큰 0.503인데 어떻게 된 것일까요?

b0은 기본적으로 y-intercept를 보여줍니다.

 

우리는 xi들과 y의 인과관계를 통해서 값을 알아보는데 목표가 있습니다.

그렇기 때문에 일반적으로 우리는 상수 coefficient b0의 경우에는 이 과정을 거치지 않습니다.

 

만약 b0의 경우에도 동일하게 고려한다면, y-intercept(b0) = 0으로 설정해야 하므로,

우리 모델의 그래프의 x,y축과의 교점이 원점인 (0,0)에서 만나는 1차함수가 되겠네요.

 

쉽게 말해서, 그냥 상수의 경우에는 보통 신경쓰지 않는다고 일단 생각해도 될 것 같습니다.

 

 


이번 포스트에서는 Coefficient Table에 대해서 간략하게 알아보았습니다.

다음 포스트에서는 우리가 만든 선형 회귀 모델의 정확도를 평가하는 방법들에 대해서 알아보겠습니다.