공부

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

na0-0 2023. 10. 15. 16:09
반응형

파이썬의 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

 

반응형