Data Science

[회귀분석-4]변수 선택 및 모델의 진단

Author
Irealist
Date
2016-12-03 06:44
Views
2103

『Disclaimer: 본 글은 대학원의 회귀분석 수업 및 회귀분석 서적에 관한 공부 내용을 정리하는 시리즈입니다. 

본 내용은 필자가 전부 직접 요약하여 적은 개인 노트이며, 개인 공부 및 복습이 주목적일 뿐, 상업적 의도는 없습니다. 

Source: Regression Modeling with Actuarial and Financial Applications by Edward W. Frees


4-1. Iterative Approach to Data Analysis and Modeling


01.jpg



4-2. Automatic Variable Selection Procedures


Forward Selection: k = 0에서 시작하여, 전체 t-ratio ≥Forward Selection: k = 0에서 시작하여, 전체 t-ratio ≥ threshold가 될 때까지 개별 t-ratio가 큰 순서대로 변수를 하나씩 추가.

Backward Elimination(Selection): k = p (전체)에서 시작하여 t-ratio < threshold인 변수들을 하나씩 제거.

위 두 방법의 단점은, 둘다 optimal model에 다다르지 않는다는 것이다.


Best Regression: 모든 방법을 다 해본다. 하지만 p > 40일 때 computationally 불가능.

Stepwise Selection: 처음 2개의 변수를 선택. 3번째를 선택할 때, 앞에 2개를 하나씩 제거해봐서 significant 안한 변수는 제거한다.

02.jpg


이 모든 방식들은 t-ratio, 즉 marginal value를 사용한다. 따라서 joint effect를 고려하지 않는다.

가끔 어떤 package에서는 F-ratio를 사용하기도 하는데, one variable을 고려할 때 F-ratio는 단순히 t-ratio의 제곱이다.


이 방식의 단점은 아래와 같다.

03.jpg

단점 6번에서, suppressor variable은 individual effect는 적지만 joint effect이 큰 변수를 말한다. Backward selection의 경우 이를 detect가능하다.



4-3. Residual Analysis


Residual analysis를 통해 발견할 수 있는 문제는 다섯 가지가 있다.

1) Unusual points (4-4)

2) Residuals related to other explanatory variables (4-2-3)

3) Heteroscedasticity (4-9)

4) Lack of independence (Serial Correlation) (4-5)

5) Non-normality (4-6)


4-3-1. Standardized Residual

우선, standardized residual을 구하는 방법은 크게 세 가지가 있다.

04.jpg

a는 intuitive하지만, b가 더 정확하고, c는 studentized residual로서, 어떤 ith unusual point가 s에도 영향을 줘 detect가 잘 안될수도 있으므로 i를 빼고 s를 구한 s(i)를 사용한다.

Studentized residual은, error가 normal이면 t-distribution with n - (k + 1) df를 따른다.


b에서, h는,

yhat = X(XTX)-1XTY = Hy에서 H를 의미하고,

이를 사용하면,

εhat = y - yhat = (I - H)y = (I - H)Xβ + (I - H)ε = 0 + (I - H)ε

Var(εhat) = Var[(I - H)ε] = (I - H)σ2


Matrix notation이 아닌걸로 표현하면,

Var(ei) = σ2(1 - hii), se(ei) = s(1 - hii)1/2

이다.


4-3-2. Explanatory Variable Selection

이상적인 경우 residual은 random error로 패턴이 없어야 한다. 

Residual과 additional explanatory variable 사이에 correlation은 0여야 하고, scatter plot도 확인하는 것이 좋다.

하지만 relationship이 있다고 해서 additional variable을 넣는게 model specification을 항상 개선하지는 않는다. 이를 확인하려면 added variable plot을 본다.

(이미 포함된 explanatory variable들과 새로운 variable의 linear relationship이 강할 경우)


요약하면, preliminary model fit 후에 다음을 행한다.

1) Summary statistics를 계산 후 standardized residual의 distribution을 display한다.

2) Standardized residual과 additional explanatory variables 사이 correlation을 계산하여 linear relationship을 확인한다.

3) Standardized residual과 additional explanatory variables 사이 scatter ploy을 계산하여 nonlinear relationship을 확인한다.



4-4. Unusual Points


Outlier는 y축, high leverage point는 x축으로 unusual한 것을 말한다. 

이들 중 model의 parameter에 큰 영향을 주는 point를 Influential point라 한다.

Influential point면 보통 high leverage를 갖지만, high leverage point라고 해서 반드시 influential point인 것은 아니다.


4-4-1. Outlier

Rule of thumb은 standardized residual의 절대값이 2를 넘으면 Outlier란 것이다. (교수님은 3 이상이 넘어야만 examine하심)

Outlier들을 다루는 방법은 크게 세 가지가 있다.

1) Observation을 summary statistics에 포함하고 그에 대해 comment를 한다. 특히 특별한 설명을 할 수 없을 경우.

2) Dataset에서 observation을 삭제한다. Summary statistics에서 제외하고 별도의 case로 다룬다. Population에 관련해 unrepresentative라 판단할 경우.

3) Outlier의 presence를 indicate하는 binary variable을 포함한다. 해당 outlier 집단에 대한 special cause를 설명할 수 있을 경우.

주의할 것은 절대로 automatic procedure를 둬서는 안된다는 것이다.


4-4-2. High Leverage Point

Leverage를 정의하려면, 4-2-1의 Hy를 자세히 보자.

05.jpg

여기서 matrix H는 vector of responses y를 vector of fitted values vhat으로 project한다고 생각할 수 있다.

06.jpg

07.jpg08.jpg

즉, hii를 i번째 observation의 leverage로 해석할 수 있다. 계산식에서 알 수 있듯이 response variable의 값은 leverage의 계산에 영향을 주지 않는다.


그럼 얼마나 leverage가 커야 high leverage point인가? 행렬을 계산하면, 

09.jpg

10.jpg

위 두 결과를 알 수 있으며, convention에 따라 평균의 3배가 넘으면 high leverage point라고 한다.

11.jpg

High leverage point를 특정하면, outlier와 마찬가지로 그 원인을 검색하는 것이 타당하다.


High leverage point들을 다루는 방법은 크게 세 가지가 있다. 1-3번은 outlier와 동일하다.

1) Observation을 summary statistics에 포함하고 그에 대해 comment를 한다. 특히 특별한 설명을 할 수 없을 경우.

2) Dataset에서 observation을 삭제한다. Summary statistics에서 제외하고 별도의 case로 다룬다. Population에 관련해 unrepresentative라 판단할 경우.

3) HLP의 presence를 indicate하는 binary variable을 포함한다. 해당 HLP 집단에 대한 special cause를 설명할 수 있을 경우.

4) 설명변수에 nonlinear transformation을 적용한다. 

어떤 이들은 least squares estimation대신 robust estimation 방식을 사용하기도 한다.

이 방법은 어떤 특정 observation의 영향을 줄이는 것이다.


4-4-3. Influence

Influence를 알려면, 그 point를 없앴을 때 parameter가 얼마나 영향을 받는지를 보면 된다.

어떤 point의 influence를 quantify하기 위해 Cook's distance를 사용한다.

13.jpg

여기서 yhatj(i)는, ith 번째 observation을 제외하고 예측한 jth observation의 값이다.

두번째 식을 보면 앞의 항은 standardized residual의 제곱이고, 뒤의 항은 레버리지값에 의해 결정된다.

즉, Cook's distance는 outlier의 measure 곱하기 leverage의 measure이다.


일반적인 값의 D값의 경우, standard residual이 일반적으로 1, leverage hii가 일반적으로 (k + 1) / n임을 생각하면 D는 1/n 정도이다.

또 다른 rule of thumb은 Di를 F(df1 = k+1, df2 = n-(k+1))에 비교하여 이 F보다 큰 Di는 좀더 분석하는 것이다.


12.jpg

위에서, A, C는 outlier다.

그리고 n=20이므로 leverage의 bound는 0.05에서 1사이, k=1이므로 평균 leverage는 0.10, cutoff는 그 세 배인 0.3이므로 B, C는 high leverage point다.

Typical value of D는 1/n인 0.05인데, 95th percentile F(2, 18)은 3.555이므로 C는 매우 큰 influence를 갖고 있다.



4-5. Independence (Serial Correlation = Autocorrelation)


Residual들내 independence를 체크하려면, residual vs any variable을 plot하여 serial correlation을 확인한다.

또한 D-W Test를 구해, 클수록 serial correlation이 있음을 확인할 수 있다.

14.jpg

(et = εthat)

만약 d=2면 no autocorrelation, d<2면 positive 반대면 negative autocorrelation이다. (1이하 3이상이면 alarm)



4-6. Non-normality


Residual과 N(0, 1)을 plot하는 Q-Q plot을 사용하여 확인한다.

두 샘플이 같은 distribution에서 오는지 확인하는 방법은 Kolmogorov-Smirnov Test를 사용하는 것이다. (K-S Test)



4-7. Collinearity(=Multicollinearity)


Collinearity는 한 설명변수가 다른 설명변수들의 linear combination일 때 일어난다.

βhat = (XTX)-1XTy 에서 (XTX)가 singular, 즉 full rank가 아니면 0으로 나눈 것과 같은 효과가 일어난다. 

(XTX)가 singular(0)에 가까우면, x의 작은 변화가 y의 큰 변화로 이어진다. 즉, βhat의 variance가 커져서 +, - 부호마저 바뀔 수 있다.

다시 말해 OLS를 한번 실행했을 때 β1, β2의 값과, 두번째 실행했을 때 β1, β2의 값이 극적으로 다를 수 있다.

(Full rank가 아니면 unique solution이 존재하지 않으므로)


15.jpg

4-7-1. Collinearity의 식별

1) Predictor들의 correlation matrix를 관찰한다. 일반적으로 pairwise corr의 절대값이 0.9이상이면 문제가 있다.

2) 더 좋은 방법은, Xi를 다른 모든 predictor에 대해 regression을 행한다. 이 regression의 R2가 1에 가까우면 collinearity가 있다.

3) XTX의 eigenvalue들, λ1≥λ2≥...λk+1>0을 관찰한다. 만약 C=(λ1k+1)1/2≥30 이면 collinearity가 있다. (가장 큰 eigenvalue와 작은 eigenvalue 비교)


4-7-2. Collinearity의 측정

Variance Inflation Factor(VIF)는 아래와 같이 측정한다.

16.jpg

여기서 Rj2는 4-7-1의 2)에서 계산한 R2이다. (xj에 대해 다른 모든 설명변수로 regression하였을 경우)

그러면,

17.jpg

혹은 Var(βjhat) = σ2(VIFj)/(Σxij-xjbar)2이다. 분모의 항은, xij가 얼마나 spread out인가를 말하고,

se(bj)는 standard error, s는 residual standard deviation from a full regression fit을 말한다. 그리고, 

18.jpg

해석은, Rj2가 클수록, xij가 모여있을 수록 estimate의 variance가 크다는 말이다. 

즉, VIF가 클수록, 설명변수가 중요하더라도 t-statistics가 작다. 

Rule of thumb으로 VIF가 10 이상이면 심각한 collinearity가 존재한다.


4-7-3. Collinearity와 Leverage

High leverage point는 collinearity를 감추기도하고, 생성하기도 한다.

19.jpg


4-7-4. Suppressor Variable

만약 어떤 설명변수가 다른 설명변수들의 linear combination이라 하더라도, 그것이 반드시 불필요한 것은 아니다.

어떤 경우에는, x1과 x2가 혼자서는 y와의 R2이 10%이하인데, 둘다 y에 대해 regression을 하면 80%이상에 뛰는 등의 예가 있다.

Suppressor variable은 포함되었을 때 다른 설명변수들의 중요도를 높여주는 역할을 한다.


4-7-5. Collinearity의 해결 (Shrinkage Method)

Ridge regression은 OLS(ordinary least squares)의 modification이다. 이는 size of estimates of the parameters에 penalty를 강제한다.

Ridge regression은 OLS처럼 BLUE는 아니며, biased인 대신 더 작은 variance를 가진다.

20.jpg


Ridge regression이 하는 일은, β1, β2의 R2 평면으로 비유하면(주의점은 실제론 최소한 coefficient가 3개 이상일때만 Ridge가 가능하다) 반지름 t1/2의 원을 그려 그 안에 β값들을 제한하는 것이다.

즉, subject to 뒤에 오는 β들의 제곱의 합은 결국 원/구 등등의 제한을 말한다.

맨 처음 줄은 이를 Lagrange multiplier를 이용해 만든 식이다. 사실은 -λt 값이 들어가지만 이는 상수므로 최소화식에서 제외된다.


만약 λ가 0이면 OLS고, λ가 너무 크면 minimization 식에서 λ항의 비중이 너무 커지면서 β값들이 지나치게 작아진다. λ를 키울수록 우리는 df를 줄인다.

Rule of thumb으로는, λ를 F로 둔다. 정확하게 하려면 OLS처럼 미분하여 0으로 두고 풀던지, 아니면 numerical method으로 λ를 바꿔가며 R2이 최대가 되는 λ를 찾는다.

만일 β2값이 아닌 |β|를 사용하면 Lasso 방식이 된다.

(좋은 소스: )


4-8. Selection Criteria


4-8-1. Goodness of Fit

Nonlinear 모델의 경우, R2 외의 measure들이 더 필요하다.

대표적인 것은 AIC, BIC, Cp이다.

21.jpg

BIC는 AIC에 비해 complexity에 대한 패널티가 적다.

22.jpg

세 가지 모두 값이 작을수록 좋은 모델이며, 셋다 complexity와 model fit의 trade-off를 요약한다.


4-8-2. Model Validation

많은 경우 모델링의 문제는 data snooping이며 overfitting이 될 수 있다. 

따라서 데이터를 model development subsample과 validation subsample(혹은 training/testing sample)로 나누는 방법이 있다.

23.jpg


4-8-3. Cross-Validation

PRESS(predicted residual sum of squares)는 하나씩 빼보는 것이다.

24.jpg

하지만 이는 많은 계산을 필요로 하고, 계산을 해보면

25.jpg

이기에 아래의 간단한 식으로 계산할 수 있다.

26.jpg



4-9. Heteroscedasticity


Heteroscedastic 설명변수들이 있으면, Gauss-Markov theorem이 더 이상 유효하지 않고, least squares estimator들이 optimal하지 않을 수 있다.

이 경우 variance가 큰 부분의 point들이 모델에 더 큰 영향을 준다.


4-9-1. Heteroscedasticity의 식별

Residual과 yhat을 plot해서 variance가 constant한지 눈으로 체크하는 것이 좋다.

수학적으로 계산하려면, 아래의 과정을 거친다.

29.jpg 28.jpg

27.jpg


이 문제를 해결하려면 variance와 inversely related한 weights를 설정하는 weighted least squares 방식을 사용한다.

30.jpg

또 다른 방법은 logarithmic transformation을 하는 것이다. 하지만 이는 nonmonotonic variability에는 효과가 없다.

Transformation을 할 때는 nonnegative일 경우 이를 유지하기 위해 상수를 더하거나 곱할 수 있다.

Total 0

Total 38
Number Title Author Date Votes Views
Notice
[공지]Data Science 게시판의 운영에 관하여
Irealist | 2020.05.18 | Votes 0 | Views 1240
Irealist 2020.05.18 0 1240
22
[강화학습-2]Sutton 교과서 챕터 3: Finite Markov Decision Processes
Irealist | 2020.05.15 | Votes 0 | Views 1391
Irealist 2020.05.15 0 1391
21
[강화학습-1]Sutton 교과서 챕터 1: 강화학습이란?
Irealist | 2020.05.15 | Votes 0 | Views 2170
Irealist 2020.05.15 0 2170
20
[일반]데이터 과학 공부 방법 - 머신러닝, 딥러닝, 강화학습
Irealist | 2020.05.15 | Votes 0 | Views 2632
Irealist 2020.05.15 0 2632
19
[일반]데이터 과학 공부 방법 - 선행 과목 및 유용한 사이트 정리 (1)
Irealist | 2020.05.15 | Votes 0 | Views 4946
Irealist 2020.05.15 0 4946
18
[계산통계학]Automatic Differentiation
Irealist | 2017.01.23 | Votes 0 | Views 1128
Irealist 2017.01.23 0 1128
17
[시계열분석-8]시계열 모델과 예측
Irealist | 2016.12.04 | Votes 0 | Views 990
Irealist 2016.12.04 0 990
16
[시계열분석-7]자기상관과 AR모델
Irealist | 2016.12.04 | Votes 0 | Views 2038
Irealist 2016.12.04 0 2038
15
[시계열분석-6]추세의 모델링
Irealist | 2016.12.04 | Votes 0 | Views 1287
Irealist 2016.12.04 0 1287
14
[회귀분석-5]회귀분석 결과의 해석
Irealist | 2016.12.03 | Votes 0 | Views 630
Irealist 2016.12.03 0 630
13
[회귀분석-4]변수 선택 및 모델의 진단
Irealist | 2016.12.03 | Votes 0 | Views 2103
Irealist 2016.12.03 0 2103
12
[회귀분석-3]다중 회귀 분석 II
Irealist | 2016.10.12 | Votes 0 | Views 973
Irealist 2016.10.12 0 973
11
[회귀분석-2]다중 회귀 분석
Irealist | 2016.10.09 | Votes 0 | Views 1702
Irealist 2016.10.09 0 1702
10
[알고리즘-7]그래프의 최단 거리
Irealist | 2016.10.09 | Votes 0 | Views 561
Irealist 2016.10.09 0 561
9
[알고리즘-6]DFS의 응용
Irealist | 2016.09.29 | Votes 0 | Views 1240
Irealist 2016.09.29 0 1240
8
[회귀분석-1]기본 회귀 분석
Irealist | 2016.09.25 | Votes 0 | Views 1131
Irealist 2016.09.25 0 1131