Regression(02) - 다중선형회귀 및 다중공선성

다중 선형 회귀

다중 선형 회귀

다중 선형 회귀의 계수 추정

다중 선형 회귀의 계수의 해석

  • 다중회귀방정식에서 회귀계수에 대한 해석은 자주 혼동되는 것 중 하나이다. 단순회귀방정식은 직선을 표현하지만 다중회귀방정식은 평면(독립(설명)변수가 두개인 경우) 혹은 초평면(독립(설명)변수가 두개보다 많은 경우)을 표현한다. 위의 예에서 회귀계수의 해석은 다른 변수들이 고정되어 있을때 TV가 1단위 증가할 때 매출액은 0.046단위 증가한다고 해석할 수 있다.

  • 회귀 계수 $\beta_{j}$는 $X_{j}$를 제외한 나머지 모든 예측 변수들을 상수로 고정시킨 상태에서 $X_{j}$의 한 단위 증가에 따른 Y의 증분으로 해석될 수 있다. 변화의 크기는 다른 예측 변수들이 어떤 값으로 고정되어 있는지에 의존하지 않는다. 또 다른 해석은 $\beta_{j}$가 다른 독립(설명)변수들에 의하여 종속(반응)변수 Y가 조정된 후에 Y에 대한 $X_{j}$의 공헌도를 의미한다. 이는 예를 들어 $Y = \beta{0} + \beta_{1}X_{1} + \beta_{2}X_{2} + \epsilon $일 때, $[Y~X_{1}로 얻은 잔차] ~ [X_{2}~X_{1}]$에서의 계수와 동일하다.

Y와 $X_{2}$ 각각으로부터 $X_{1}$의 선형효과를 제거한 후 Y에 미치는 $X_{2}$의 효과를 나타내기 때문이다.

다중 선형 회귀 계수 검정

다중 선형 회귀 계수 검정 - 01

  • 단순 선형 회귀와 동일하게 각각의 회귀계수가 통계적으로 유의미한지를 검정하는 것은 동일하다. 하지만, 다중 선형 회귀는 다음과 같이 전체 회귀계수가 의미있는지에 대한 검정도 하게 된다. 여기서 회귀계수가 0에 가깝고 standard error를 더하고 뺀 범위내에 0이 포함된다면 그 변수 또한 유의미하더라도 제거해야할 것이다. 또한 여기서 잔차의 정규성이라는 가정을 만족할 때 t 통계량의 절대값이 크거나 대응되는 p-value가 더 작다면 독립(설명)변수와 종속(반응)변수 사이의 선형관계가 더 강함을 의미한다.

다중 선형 회귀 계수 검정 - 02

  • 위에서 언급하고 있는 개별적인 회귀계수 $\beta$에 대한 검정 이외에, 여러 가지 다른 형태의 가설들이 선형모형의 분석과 관련하여 고려될 수 있다. 통상적으로 고려될 수 있는 가설들은 다음과 같다.

    • 1) 독립 변수의 모든 회귀 계수들이 0이다.

    • 2) 독립 변수의 회귀 계수들 중 일부분이 0이다.

    • 3) 회귀계수들 중 일부분이 서로 같은 값을 가진다.

    • 4) 회귀모수들이 특정한 제약조건을 만족한다.

  • 이런 가설들은 하나의 통합된 접근방법을 통해 동일한 방식으로 검정될 수 있다. 먼저, 모든 독립변수를 포함한 모형을 완전모형(FM)이라고 하자. 그리고 귀무가설에 가정된 내용들을 완전모형에 대입해서 얻은 모형을 축소모형(RM)이라고 하자. 완전모형의 변수들이 상대적으로 축소모형에 비해 많으므로 SSR값이 커져 잔차제곱합(SSE)을 감소시킬 것이므로 $SSE(RM) \geq SSE(FM)$이 된다. 따라서 차이 $SSE(RM) - SSE(FM)$은 축소모형을 적합함으로써 증가하는 잔차제곱합(SSE)을 의미한다. 만약 이 차이가 크다면 축소모형은 적절하지 않다.

  • 위의 식을 통해 다 위에서 언급했던 가설들을 모두 검정할 수 있다.

    • 가설 1)독립 변수의 모든 회귀 계수들이 0이다.의 귀무가설은 $H_{0}:\beta_{1} = \beta_{2} = \cdots = \beta_{p} = 0$이며 대립가설은 $H_{1}: 최소한 하나의 계수는 0이 아니다. $이다. 이 가설은 축소모형의 변수는 1개이므로 해당 모형을 fitting한 후에 나오는 분산분석표에서의 F 통계량 값을 보고 검정 할 수 있다.

    • 가설 2)독립 변수의 회귀 계수들 중 일부분이 0이다.의 귀무가설은 $H_{0}:\beta_{1} = \beta_{3} = \beta_{5} = 0 $ 이고, 대립가설은 $H_{1}:\beta_{1}, \beta_{3}, \beta_{5} 중 최소한 하나는 0이 아니다. $ 이다. 이 가설은 위에서 F 통계량을 구하는 방식에 변형을 주어 생각해보면 $R^{2}$값을 통해 구할 수 있음을 알 수 있다.

다중 선형 회귀 계수 검정 - 03

  • 여기서 주목할 점은 SST는 정해져 있어 고정되어 있는데, SSR은 변수를 추가할수록 점점 더 커지므로 귀무가설을 기각하기 더 쉬워진다는 것이며, 우리가 추후에 말할$R^{2}$값도 변수를 추가할수록 높아지므로 이값으로 모형의 성능을 평가할때 무조건 이값이 높다고 좋은 모형이라고 생각하지 않아야 한다. 또한 수정결정계수(adjusted R-squared) ${R_{adj}}^{2}$도 적합도를 평가하기 위해 사용될 수 있다. ${R_{adj}}^{2}$은 모형안에 있는 독립(설명)변수들의 수가 다르다는 것을 조정하므로 F값과 같이 서로 다른 모형들(포함된 독립변수가 다르거나 갯수가 다른)을 비교하기 위해 사용된다. 이 값은 결정계수 값과 다르게 Y의 전체 변이 중에서 독립변수들에 의하여 설명되는 비율로 해석 될 수 없다!

원점을 통과하는 회귀선

  • 일반적으로 고려되는 단순선형회귀모형은 $ Y = \beta_{0} + \beta_{1}X + \epsilon $과 같이 절편항을 가지고 있다. 그러나 원점을 통과하는 다음과 같은 모형 $ Y = \beta_{1}X + \epsilon $ 에 데이터를 적합시킬 필요가 있을 때도 있다.

  • 이 모형은 절편항이 없는 모형으로 불린다. 문제의 성격이나 외적 상황에 의해 회귀선이 원점을 지나야만하는 경우가 있다. 예를 들어, 시간(X)의 함수로서 여행 거리(Y)는 상수항을 가지지 않아야 한다. 이때는 SSE의 자유도가 확률 변수인 절편항이 하나 빠지므로 N-p(전체 확률변수가 설명변수p개 절편항 1개 이었던 N-p-1에서)로 바뀌게 된다. 또한 이때는 우리가 알고 있는 SST=SSR+SSE라는 공식이 더 이상 성립되지 않는다. 그러므로 $R^{2}$와 같은 절편항을 갖는 모형에 대한 몇몇 성능 평가 지표들은 절편항이 없는 모형에 대해서는 더 이상 적절하지 않다. 절편항이 없는 모형에 대한 적절한 항등식은 y의 평균을 0으로 대체함으로써 얻어진다.

  • 그러므로 $R^{2}$ 또한 재정의 된다.
  • 절편항을 가진 모형의 경우 $R^{2}$가 Y를 그의 평균으로 조정한 후에 Y의 전체 변동성 중에서 독립(설명)변수 X에 의하여 설명되는 비율로 해석될 수 있다. 절편항이 없는 모형의 경우에는 Y에 대한 조정이 없다.

  • 이 처럼 절편항이 없는 모형은 풀고자하는 문제와 관련된 이론 혹은 물리적 상황에 부합되는 경우에만 사용되어야만 한다! 그러나 몇몇 응용에서는 어떤 모형을 사용해야 할지가 분명하지 않을 수 있다. 이러한 경우

    • 1) 관측값과 예측값의 가까운 정도를 측정하는 것이 잔차제곱평균이므로 두 모형에 의해 산출되는 잔차평균제곱(SSE를 각각의 모형에 대한자유도로 나눈 값)을 비교하여 평가한다.
    • 2) 데이터 모형을 적합하고 절편항의 유의성을 검정하여(t통계량을 바탕으로) 검정이 유의하다면 절편항을 가진 모형을 사용하고 그렇지 않으면 절편항이 없는 모형을 사용한다. 그러나, 일반적으로 회귀모형에서는 상수항이 통계적으로 유의하지 않더라도, 강한 이론적 근거가 존재하지 않는다면, 상수항은 모형에 포함되어야 한다. 특히 분석에 사용되는 데이터가 원점을 포함하지 않는 경우 더욱 강조되는데 그 이유는 상수항이 종속(반응)변수의 기본적인 수준(평균)을을 나타내기 때문이다.
  • 참고로 필자는 ANCOVA 분석 즉, 회귀식에서 설명변수들 중 질적인 변수(혹은 더미변수)가 포함되어 있어 그런 질적인 변수와 더미변수가 절편항(상수항)을 대신해줄 것이라고 착각하여 상수항을 생성하지 않고, 모형을 적합시켰던 경험이 있다. 프로젝트였는데 멘토분께서 왜 절편항을 포함하지 않았냐고 물어보보셨는데 위와 같은 답변을 했었는데 잘못된 접근법이라고 조언을 해주셨었다. 그 당시에는 이해가 가지 않았지만 이제는 나의 접근법이 말이 안된다는 것부터 깨달았다. 왜냐하면 SGD 방법으로 확률변수인 절편항과 계수항들을 업데이트해 나가는 방식으로 회귀모형을 짜는데 필자는 이미 상수항 취급을 하는 질적변수나 더미변수 자체를 절편항이라고 생각했으니 말 자체가 안되는 것이다.

모형에서 중심화(centering)와 척도화(scaling)

  • 회귀분석에서는 회귀계수의 크기가 변수의 측정 단위에 영향을 받게 되므로 중심화와 척도화를 해야한다.예를 들어 달러 단위로 측정된 소득의 회귀계수가 5.123이라면, 소득이 1,000달러 단위로 측정 되었을때는 5123으로 바뀌게 된다. 절편항(상수항)이 있는 모형을 다룰 때는 변수에 대한 중심화와 척도화가 필요하지만, 절편이 없는 모형을 다룰 때는 변수의 척도화만 필요하다. 또한 이는 다른 선형성을 가정하는 모델(RBF kernel을 사용하는 SVM, logistic regression)에선 피처를 정규성을 띄게 해주어야하는 모형 뿐만아니라 피처 scaling을 하여 과적합을 방지하는 방법이므로 알고있어야한다.

  • 중심화(centering) 변수는 각 관측값에서 모든 관측값의 평균을 빼는 것으로 얻어진다. 중심화된 변수 척도화 또한 가능하다. 두 가지 형태의 척도화(scaling)가 통상적으로 가능한데, 단위 길이 척도화(unit length scaling or normalization)표준화(Standardization)이다. 단위길이 척도화는 피처 벡터의 길이로 나누어주거나 min-max scaling 같은 것을 의미한다. 표준화는 말 그대로 편차를 표준편차로 나누어 표준정규분포를 띄게끔해주는 작업을 의미한다.

다중 공선성(Multi-collinearity)

다중 공선성 - 01

다중 공선성 - 02

다중 공선성 - 03

  • Ordinary Least Squares(OLS) 즉 최소 제곱법 기반의 회귀 계수 계산은 독립 변수(입력 피처)의 독립성에 많은 영향을 받는다. 피처간의 상관관계가 매우 높은 경우 분산이 매우 커져서 오류에 매우 민감해지며 선형대수의 관점에서 보면, 모든 컬럼들이 linearly independent해야 최소한 하나 이상의 해가 존재하기 때문이다. 만약 위의 말이 이해가 가지 않는다면, 필자가 추전하는 선형대수학 강의를 듣는 것을 권한다. 다음 페이지를 가면 찾을 수 있다. 선형대수학 강의 추천

  • 위와 같은 다중 공선성 문제가 있을 경우, 일반적으로 상관관계가 높은 독립 변수(입력 피처)가 많은 경우 독립적인 중요한 독립 변수(입력 변수)만을 남기고 제거하거나 규제를 적용한다. 또한 매우 많은 피처가 다중 공선성 문제를 가지고 있다면 PCA를 통해 차원 축소를 수행하는 것도 고려해 볼 수 있다.

다중 공선성 검사하는 방법들

VIF

  • 위에서 VIF가 10이상인 경우 다중공선성이 있는 변수라고 판단할 수 있다고 했는데, 그렇다면 다중공선성이 있다고 판단되는 변수를 무조건적으로 제거해야 하나라는 의문이 들 수 있을 것이다. 그에 대한 답은 무조건적으로 제거하면 안된다라는 것이다. VIF가 높더라도 통계적으로 유의미한 변수(p-value가 유의수준 보다 낮은 변수)라면 제거하지 않는 것이 적절하다. 추가적으로 다른 변수들 중에 VIF가 높고, 유의미하지 않은 변수가 있다면 그 변수들을 제거해 본 뒤 VIF를 계산해 보아야 할 것이다. 이 과정을 거쳐서도 아마도 VIF는 높은 수치이겠지만, 제거를 해서는 안된다.

상관 행렬

  • 다중 공선성을 검사하는 방법에는 VIF외에도 상관계수 행렬을 구해서 위와 같이 산점도와 같이 그려서 보아야한다. 상관계수는 공분산을 각각의 표준편차로 나누어준 수치인데, 공분산은 예를 들어 두 변수 X와 Y가 있다면, Y와 X 사이의 선형 관계에 대한 방향을 나타낸다. Cov(X, Y)는 측정단위의 변화에 영향을 받기 때문에 우리에게 관계의 강도가 얼마나 되는 지를 알려주지는 않고 방향만을 알려준다. 이러한 문제를 해결하기 위해 표준편차로 나누어 Standardization을 해주어 단위에 대한 영향을 없애준 것상관계수이다. 참고로 여기서 Corr(X, Y)=0 가 반드시 Y와 X 사이에 관계가 없음을 의미하는 것이 아님을 주의하자! 상관계수는 오직 선형 관계를 측정하기에 선형적으로 관계가 없음을 의미한다. 즉, X와 Y가 비선형적으로 관련되어 있을 때에도 Corr(X, Y)가 0이 될 수 있다.
    또한 상관계수도 평균과 분산과 마찬가지로 극단값에 민감하다. 그러므로 이러한 요약 통계량에만 의존하는 분석으로는 전체적인 패턴을 보는데에 있어서 차이를 발견할 수 없게 할 것이다. 따라서 필자는 개인적으로 데이터 EDA 과정에서 독립(설명)변수들과 반응 변수 사이의 관계를 꼭 산점도로 그려 확인한 뒤, 상관계수와 의미가 일치하는지 확인해보는 작업이 필수라고 여긴다.

  • 통계를 공부하는 Beginner들이 많이들 오해할 만한 사실은 Corr(X, Y)는 한 변수의 값이 주어졌을 때 다른 변수의 값을 예측하기 위해서 사용할 수 없다. 단지 대응(pairwise)관계만 측정한다. 예측을 하고 관계를 설명하기 위해서 우리는 회귀분석을 하는 것!!!!

다중 공선성을 완전히 해소하는 방법은 없다!