파이썬의 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
전체적
https://speedspeed.tistory.com/70
OLS
https://xiang32.tistory.com/13
VIF
'공부' 카테고리의 다른 글
[하향식 네트워크] 4-2. Web and HTTP (0) | 2023.10.25 |
---|---|
언제 MSE, MAE, RMSE를 사용해야 하는가? (1) | 2023.10.21 |
워드투벡터(Word2Vec) (1) | 2023.10.04 |
채널톡 챌린저스 1기 해커톤 (0) | 2023.03.04 |
SVM model에서 proba 값의 threshold != 0.5? (0) | 2022.12.28 |