본문 바로가기

공부

파이썬 선형 회귀 분석 결과 해석(OLS)

반응형

파이썬의 statsmodels에 있는 OLS Model에 대해서 포스팅을 해보겠습니다.

 

from statsmodels.formula.api import ols

 

OLS (Ordinary Least Sqaures, Ordinary Least Sqaure Method)

오차를 전제로 최소제곱법에 의해 추정하는 방법

 


No. Observation

: 총 관측치

 

 

Df Residuals

: DF는 Degree of Freedom으로 잔차의 자유도를 의미한다.

(No, Observation) – (종속변수 수) – (독립변수 수)

F-ratio 계산 시 잔차제곱평균이 사용되며, 잔차제곱평균은 (잔차/잔차 자유도)로 계산

 

 

Df Model

: 독립변수의 개수

 

 

R squared

: R의 제곱, 결정계수를 의미한다.

전체 데이터 중 해당 회귀모델이 설명할 수 있는 데이터의 비율, 회귀 모델의 설명력 지표, 분산 설명력

* 결정계수 : 회귀 모델에서 독립변수가 종속변수를 얼만큼 설명해주는지 가리키는 지표

예를들어서, 0.3(30%)라고 하면 독립변수가 종속변수의 30% 정도를 설명하는 것을 의미

- 0-1까지의 값으로 분포되어있으며, 1에 가까울 수록 좋다.

- 그러나 무작정 높다고 좋은 건 아닌데, 모델에 영향을 주지 않는 쓸모없이 의미 없는 값이 자유도를 높일 수 있다. 그래서 Adjusted R squared 또한 같이 보는 것이 필요하다.

결정계수 계산방법

SST(Total Sum of Squares)

: 관측값에서 관측값의 평균(혹은 추정치의 평균)을 뺀 결과의 총합

SSE(Explained Sum of Squares)

: 추정값에서 관측값의 평균(혹은 추정치의 평균)을 뺀 결과의 총합

SSR(Residual Sum of Squares)

: 관측값에서 추정값을 뺀 값, 즉 잔차( Residual )의 총합

즉, 그림으로 표현하면 아래와 같다.

 

 

 

 

 

Adjusted R squared

: 자유도가 감안된 결정계수, 일반적으로 R squared 보다 작다.

- 독립 변수의 개수가 많아지면, 결정계수의 값이 증가하는 경향이 있어서, 이러한 문제를 해결하기 위해 독립변수의 개수와 표본 크기를 고려하여 결정계수를 조정한 값

- R squared 보다 심하게 작으면 의미없는 독립변수 존재 가능성 존재한다.

- (-)값일 때는 회귀모형 사용 불가

 

 

 

F-statistics

: F-통계량, 전체 회귀모델이 통계적으로 유의한지 검정

MSR/MSE

‘0’에 가까울수록 적절한 회귀모델

Prob (F-statistics) 값과 함께 해석하는 것이 중요

 

 

 

Prob (F- statistics )

: F통계량에 해당하는 P-value를 의미

유의수준(0.05)보다 낮으면 F-통계량에 대한 귀무가설 기각

 

귀무가설(H0 ): 절편만 있는 모델과 현재 모델의 적합성이 동일(회귀모형은 타당하지 않다.)

ex) y 절편만 있어도 좋은 모델이다.

대립가설(H1 ): 절편만 있는 모델보다 현재 모델의 적합성이 우수(회귀모형은 타당하다.)

ex) 모든 값이 다 있어야 한다! w1, w2, w3, 지금 만들 model이 우수하다.

 

 

 

AIC( Akaike’s Information Criterion )/BIC( Bayes Information Criterion )

: 모델 선택 기준 척도

변수가 많이 포함된 회귀 모델을 방지, 값이 작을수록 좋은 모델 평가

 

 

 

Coeff

: 회귀계수, Weight & Bias

계수가 높을 수록, 종속변수에 대한 영향이 높다.

 

회귀계수는 독립변수(X)의 변환에 따른 종속변수(Y)의 변화를 설명함

 

 

Std Err

: 회귀계수 추정 과정에서 발생된 표준오차

- 작을 수록 좋음

 

회귀계수 추정치의 표준편차로, 회귀 계수의 신뢰성을 평가하는데 사용.

 

 

t

: 각 독립변수와 종속변수 간의 상관관계

이 값이 클수록 종속변수와의 관계성이 높다고 해석

(Coeff. / Std Err)로 계산

 

 

 

P (P>|t|)

: t값에 대한 유의성 검정

0.05보다 작았을 때, 유의미

아니라면, 신뢰할 수 없음

 

 

 

[.025 .975] 회귀계수의 신뢰구간

coef 에 영향을 받는다.

 

 

 

Omnibus

: 잔차의 비대칭성과 첨도가 결합된 정규성 테스트

잔차가 정규분포를 따르는가?에 대한 검정으로, 값이 클수록 정규분포를 따른다.

 

여러 그룹 평균들의 전체 분산에 대한 하나의 가설 검정

 

 

P (Omnibus)

: Omnibus의 유의성 검정 P < 0.05

 

 

 

Jarque-Bera

: 자크-베라 정규성 검정. Omnibus와 유사한 해석 방법

 

 

 

Durbin-Watson

: 정규성 검정. 잔차의 독립성(정규분포성) 여부 판단

통계량은 일반적으로 0~4 사이의 값을 갖으며, 0(양의 상관관계), 2(독립적), 4(음의 상관관계)

일반적으로 [1.5~2.5]이면 잔차간 독립성 확보

 

*종속변수 내 상관관계란?

회귀분석의 중요한 가정 중 종속변수의 독립성이라는 가정이 존재한다. 이 가정은 한 관측값이 다른 관측값에 영향을 주지 않는 것을 의미한다.

EX) 예를들어, 100명을 대상으로 스트레스가 삶의 만족도를 미치는 영향에 대한 조사할 때, 첫번째 사람이 4.6, 두번째 사람이 3.4 였을 때, 두 사람의 삶의 만족도 점수는 서로 영향을 받지 않아야 한다.따라서, 개개인의 삶의 만족도 점수는 서로 상관관계가 없고, 독립적이라고 하며 일반적으로 설문조사와 같은 횡단면 연구에서 종속변수의 관측값이 독립적<-> 시간을 순서로 하는 시계열 데이터(ex> 주가지수, 일일 매출액 등) 같이 특정 시간간격으로 종속 변수를 측정하는 종단면 데이터의 경우, 종속변수의 관측값이 독립적이지 않은 경우가 대부분이다.EX) 종합주가지수를 예시로 들면, 이번달과 다음달의 주가지수는 서로 연관이 있을 수 있다. 이는 종단면 연구 관측지들을 회귀분석의 독립성 가정을 위배하여 회귀계수를 과소추정하는 문제를 발생시키며 표준 오차의 추정값, 신뢰구간, 검정내용을 왜곡시키게 된다.

 

=> 그래서 회귀분석 후에 예측된 결과항들 사이의 독립성을 검토해야하며, 이를 측정하는 방법으로 Durbin-Watson지수를 이용하는 방법이 있다.

 

 

 

Skew

: 왜도, 데이터 분포의 비대칭 정도를 나타내는 통계량

|Skew| < 0.5 왜도 없음

0.5 < |Skew| <2 적당한 왜도

2 < |Skew| 강한 왜도

 

Kurtosis

: 첨도, 데이터 분포가 뾰족하거나 완만한지의 정도를 나타내는 척도

- Kurtosis < 3 평첨

- Kurtosis = 3 정규분포

- Kurtosis > 3 급첨

 

Cond. No.

: Condition number, 다중공선성(Multicollinearity)

독립변수는 종속변수와 상관관계가 존재

독립변수 간 상관관계가 존재하면 높은 다중공선성 존재

다중공선성이 존재하면 부적합한 회귀모델 도출 가능성

 

 

 

VIFs

분산팽창계수(Variance Inflation Factors, VIFs)

이 값이 높으면(10 이상, 또는 5 이상) 독립변수간 상관관계 존재

 

: 다중 공선성을 없애는 가장 기본적인 방법은 다른 독립 변수에 의존하는 변수를 없애는 것

가장 의존적인 독립변수를 선택하는 방법으로, VIF사용

- VIF는 특정 독립변수를 나머지 독립변수로 적합했을 때, 성능

- 다른 변수에 의존할 수록 VIF 값이 높음

 

 

 

Covariance Type

: 너의 모델이 좋은 모델인지, 데이터 값을 대표해도 괜찮은지

ex) nonrobust => 좋은 모델이 아님

 

 

 

* 잔차 vs 오차

잔차 : 표본집단, 전체에서 몇명을 추정한 추정치

오차 : 모집단 모든 대상을 바탕으로, [ 회귀식 추정식(O) - 실제값(Y) ] 차이

 

 

출처 및 참고

Durbin-Watson에 대해

- https://m.blog.naver.com/pmw9440/221948209184

 

7.39 R에서 Durbin-Watson 검정 실시하기

0. 차례 1. 들어가기 2. 종속변수 내 상관관계란? 3. Durbin-Watson 지수란? 4. R에서 Durbin-Watson ...

blog.naver.com

전체적

https://speedspeed.tistory.com/70

 

회귀분석 수치해석 및 의미

안녕하세요 사회과학 연구자들이 SPSS에서 가장 중요하게 살펴봐야할 분석은 회귀분석입니다. 하지만 어떠한 수치를 중요하게 봐야하는지와 그 수치가 무엇을 봐야하는지는 잘 모르는 경우가

speedspeed.tistory.com

OLS

https://xiang32.tistory.com/13

 

Python OLS Model Summary

오늘은 파이썬의 statsmodels에 있는 OLS Model에 대해 포스트 한다. 예제는 맨 마지막에 넣었다. OLS모델을 통해 살펴볼 것들 1. OLS Model은 선형 회귀분석에 있어서 각각의 독립변수 $x_{i}$가 종속변수 y

xiang32.tistory.com

VIF

https://romg2.github.io/dss/04_%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%82%AC%EC%9D%B4%EC%96%B8%EC%8A%A4-%EC%8A%A4%EC%BF%A8-5.3-%EB%8B%A4%EC%A4%91%EA%B3%B5%EC%84%A0%EC%84%B1%EA%B3%BC-%EB%B3%80%EC%88%98%EC%84%A0%ED%83%9D/

 

[Python] 데이터 사이언스 스쿨 - 5.3 다중공선성과 변수선택

5.3 다중공선성과 변수선택

romg2.github.io

 

반응형