An Introduction to Statistical Learning with Application in R
3.2 다중 선형 회귀 Multiple Linear Regression
단순 선형 회귀는 단일 입력 변수에 대한 반응, 출력을 예측하는대 유용한 방법입니다. 하지만 실제 환경에서는 입력 변수가 한개인 경우보다는 여러 개인 경우가 많겠죠. 예를들면 광고 데이터에서 우리는 TV 광고 예산과 판매량 사이의 관계만을 다루었지만, 라디오와 신문 광고 예산에 대한 데이터도 가지고 있습니다. 그래서 이 나머지 데이터와 판매량 사이 관계를 알고 싶을수도 있어요. 어떻게 두 반응 변수를 추가하여 분석을 할수 있을까요?
한가지 방법은 단순 선형 회귀를 3개로 나누어서 각각 할수도 있겠습니다. 예를 들자면 라디오 광고비에 따른 판매량을 예측하는 선형 회귀 모델을 적합 할 수있겠죠, 그 결과는 표 3.3의 위에 표에서 볼수 있습니다. 라디오 광고비를 1000달러 증가시킨 결과 판매량이 203개가 증가하였습니다. 표 3.3의 아래 표에는 신문 광고 예산으로 판매량을 추정하는 단순 선형 회귀 모델의 최소 제곱법으로 구한 계수들을 보여주고 있습니다. 신문의 경우 광고 예산이 1000달러가 증가할때 판매량이 약 55개 정도가 증가하였죠.
하지만 각 입력 변수 마다 나누어서 단순 회귀 모델을 학습시키는 방법은 만족스럽지는 않습니다. 우선 보면 각각의 광고 예산들을 각각의 회귀 모델과 연관되어있다보니. 세 광고 매채 비용이 주어질때 단일한 판매량을 예측하는 방법이 명확해 보이지가 않습니다. 두번째는, 각각의 회귀 방정식들은 다른 두 미디어를 무시하고 회귀 계수를 추정하였습니다. 만약 매체 광고 예산이 서로 상관관계가 있다면, 각 미디어들의 영향력으로 인해 판매량에 대한 추정량을 잘못 구해질 수도 있을 겁니다.
그래서 개별적인 단순 회귀 모델로 학습하는게 아니라, 더 나은 방법은 식 (3.5)의 단순 회귀 모델을 확장시켜 여러개의 입력 변수를 다룰수 있는 다중 회귀 모델로 확장하는것입니다. 우리는 그냥 단일 선형 회귀 모델에다가 각 입력 변수와 기울기 계수들을 각각 추가하면 만들수 있어요. 일반적으로 p개의 서로 구분되는 입력변수가 있다고 가정할때 다중 선형 회귀 모델 multiple linear regression model은 아래의 형태가 된다고 할수 있겠습니다.
여기서 $X_{j}$는 j번째 입력 변수, $\beta_{j}$는 해당 변수와 반응 변수 사이의 연관성 정도를 나타냅니다. 우리는 $\beta_{j}$를 (다른 모든 입력 변수들이 고정되었다고 할때) $X_{j}$가 한 단위 증가할때 Y에 대한 평균적인 영향정도로 생각하면 됩니다. 그러면 광고 예시는 식 (3.19)를 이용해서 아래와 같이 정리 할 수 있어요.
3.2.1 회귀 계수들을 추정해보자 Estimating the Regression Coefficients
단순 회귀 모델을 다루었을때 처럼, 식 (3.19)에서의 회귀 계수 $\beta_{0}$, . . . , $\beta_{p}$들도 알수 없다보니 이 값들을 추정해 내야 합니다. 그래서 추정값들 $\widehat{\beta}_{0}$, . . ., $\widehat{\beta}_{p}$이 주어진다면 아래의 식을 이용해서 반응 변수의 예측치를 만들수가 있어요.
위 파라미터는 단순 선형 회귀에서 봤던것 처럼 똑같이 최소 제곱법으로 추정을 하는데, 우리는 제곱 잔차 합 sum of squared residuals를 최소화 시키는 $\beta_{0}$, . . . , $\beta_{p}$들을 구하면 되겠습니다.
식 (3.22)를 최소화 시키는 $\beta_{0}$, . . . , $\beta_{p}$들은 최소 제곱법으로 구한 다중 선형 회귀 모델의 추정 계수값들이라고 할수 있어요. 식 (3.4)에서 본 단순 선형 회귀 추정량들과는 다르게, 다중 회귀 계수 추정량들은 조금 복잡한 형태를 가지고 있어, 행렬 대수 matrix algebra 그러니까 행렬 표현을 사용하여 좀더 간편하게, 쉽게 나타낼수가 있어요. 복잡하다보니 여기다가는 적지 않을거고, 다른 통계적 소프트웨어 패키지들은 이런 계수 추정치들을 계산할 수 있으니 이 챕터 뒤에 R로 어떻게 되는지 한번 봅시다.
그림 3.4는 p = 2 인경우 ( 입력 혹은 특징이 2개인 경우) 토이 데이터셋, 연습용 데이터셋을 최소 제곱법으로 학습 시킨 예제를 보여주고 있습니다.
표 3.4는 다중 회귀 모델의 계수 추정량들을 보여주고 있습니다. 이 회귀 모델은 광고 데이터를 사용해서 제품 판매량을 추정하는데 쓸수 있어요. 이 결과를 다음과 같이 해석할수 있겠습니다. TV, 신문 의 광고 비가 정해지고, 라디오 광고 예산을 1000달러 늘릴때, 판매량이 약 189개 정도 증가한다고 합니다.
표 3.1과 3.3에서 본 계수 추정량들을 비교해봅시다. 그러면 우리는 다중 회귀 계수 추정량들이 TV와 라디오는 단순 선형 회귀 모델에서 했던것과 거의 비슷한걸 알수 있어요. 하지만 신문에 대한 회귀 계수 추정량은 표 3.3에서는 0에 덜 가까운 편이었으나 다중 회귀 모델에서 신문의 회귀 계수 추정량을 보면 0에 가까워진것을 볼수 있으며 p-value가 0.8599로 더이상 의미없는 값이 되었습니다.
------
*가설 검정과 p value
가설 검정은 통계학에 나오는 내용으로 제가 아는 정도로 정리하겠습니다. 우선 p-value는 유의 확률 = 한계 유의 수준으로 귀무 가설을 대립할지 기각할지 여부를 결정할때 사용하는 값입니다. p value가 낮은 경우 귀무가설 $H_{0}$을 기각하고, 대립가설을 채택하는데 이 상황에서 대립가설은 입력 변수 X와 출력 변수 Y는 서로 상관 관계가 존재한다는게 대립가설이었어요. 보통 p value가 0.05?인가 이 정도를 기준으로 이보다 작으면 귀무 가설을 기각하고, 아닌 경우 귀무가설을 채택하게 됩니다.
신문을 제외한 다른 변수들의 경우 p value가 매우 작으므로 귀무 가설(각 입력 변수와 Y는 상관관계를 갖지 않는다)을 기각하여, 상관 관계가 있음을 검정하였습니다. 하지만 신문의 경우 유의 확률이 매우 크므로 귀무가설을 채택하게 됩니다. 세 입력을 사용하는 경우 신문은 Y를 추정하는데 유의미한 영향을 주지않는다고 볼수 있어요.
--------
이것은 단순 선형 회귀 계수와 다중 회귀 계수가 달라질수 있다는걸 보여주고 있어요. 이 차이점은 단순 회귀에선 TV와 라디오 같은 다른 입력 변수를 무시한채, 기울기항이 신문 광고 예산을 1000 증가시킬때의 평균적인 효과의 정도를 나타낸다는 사실에서 비롯되었습니다. 반대로 다중 회귀에서는 신문의 계수는 TV와 라디오를 고정 시킨 상태에서 신문의 광고 비용을 증가시킬때 평균 영향을 나타내고 있어요. (정리하면 단순 회귀에서는 타 항의 영향력이 존재하지 않아 0이아닌 값이 나왔지만, 다중 회귀에서는 타 항의 영향을 받아 0에 가까운 값이 나왔다는 소린것 같습니다.)
다중 회귀 문제에서 판매량과 신문 사이에 아무런 상관관계가 없다는 것이 말이 되는것일까요? 단순 회귀문제에서는 상관 관계가 있었음에두요. 표 3.5에 있는 세 입력 변수와 반응 변수의 상관계수 행렬 correlation matrix를 생각해봅시다. 여기서 라디오와 신문의 상관계수가 0.35인것을 볼수 있어요. 이것으로 라디오 광고 예산을 늘리는 시장에서 더 많이 신문 광고를 하는것을 보여줍니다.
이번에는 다중 선형 회귀 모델이 올바르게 만들어 졌고, 신몬 광고가 판매량에 영향을 주지 않는다고 해봅시다. 하지만 라디오 판매량은 여전히 증가하고 있어요. 라디오 광고 예산을 더 많이 할수록 판매량은 더 증가하게 될것이고, 공분산 행렬은 우리가 신문 광고 또한 더 많이 하는 경향이 있는 것을 보여줘요.
그래서 신문 광고가 실제 판매량에 영향을 주지 않았음에도 신문과 판매량만 보는 단순 선형회귀에서는, 신문과 판매량이 큰 상관 관계를 가지는것 처럼 보이게 된거죠. 그래서 신문 광고에 따른 판매량은 라디오 광고에 따른 판매량의 일부가 되어, 신문은 라디오에 의한 영향이 판정받습니다.
* 좀 정리하기가 이상한데, 라디오에 의한 판매량이 증가함에 따라, 신문에 의한 판매량도 증가함. 그래서 신문 자체에 의해 판매량이 증가하는건 크지 않음. 으로 이해가 된다. 억지스럽긴한데
이 사소한 직관에 어긋나는 결과는 실제 상황에서 매우 흔하게 일어납니다. 한번 어의없는 예시로 생각해봅시다. 일정 기간 동안 해변가에서 상어의 공격과 아이스크림 판매량 사이 회귀 모델을 만들었는데, 이 모델이 양의 상관관계를 보일수도 있습니다. 신문 광고 예산과 판매량 사이 관계를 봤던것 처럼요. 하지만 상어들의 공격을 줄이기 위해 아이스크림을 금지해야한다는 사람은 아직까지는 없습니다.
현실에선 날이 더우면 사람들이 해변에 방문하게 만들고, 이것 때문에 아이스크림 판매량이 늘고, 상어의 공격이 늘어나는 것임에두요. 상여의 공격과 아이스크림 판매량 그리고 온도에 대한 다중 회귀를 이용하면, 온도, 이전의 입력 변수 상어의 공격이 크게 중요하지 않다는것을 알수 있게 되요.
3.2.2 중요한 질문들
그러면 우리가 다중 선형 회귀를 할때 다음의 질문들을 할수 있을것 같아요.
1. 반응을 예측하는데 유용한 입력 변수, 특징들 $X_{1}$, $X_{2}$, . . .,$X_{p}$가 적어도 1개는 존재하나요?
2. 모든 입력 변수가 Y를 설명하는데 사용할수 있나요? 아니면 유용한 입력 변수 일부만 사용할 수 있나요?
3. 다중 선형 회귀 모델이 데이터를 얼마나 잘 적합하고 있나요?
4. 입력 값딜이 주어질때, 우리가 예측해야하는 반응값은 무엇이고, 예측치는 얼마나 정밀해야하나요?
각 질문들을 생각해봅시다.
질문 1 : 입력 변수와 반응 변수 사이 관계가 존재하나요?
단순 선형회귀를 다시 생각해봅시다. 여기서는 입력 변수와 반응 변수 사이에 관계가 존재하는지 아닌지 알기위해, $\beta_{1}$ = 0인지 확인하였었습니다. 다중 회귀 문제의 경우 p개의 입력변수가 있으니 우리는 모든 회귀 계수들이 0인지 $\beta_{1}$ = $\beta_{2}$ = . . . = $\beta_{p}$ = 0확인하면 됩니다. 가장 간단한 선형 회귀 모델에서는 우리는 가설 검정 hypothesis test를 사용하여 이 질문(가정)에 대한 답을 구하였는데요. 다음의 귀무 가설 null과
아래의 대립 가설 alternative를 사용하여 검정하겠습니다.
이 가설 검정은 F 통계량 F-statistic으로 할수 있어요.
만약 선형 모델의 가정이 옳다면,
주어진 귀무가설 $H_{0}$이 참인 경우 아래가 성립합니다.
하지만 반응 변수와 입력 변수간에 상관관계가 존재하지 않을때는 F 통계량은 1에 가까운 값이 됩니다. 반대로 $H_{a}$ 가 참인 경우에는(입력 변수들과 반응 변수 간에 상관관계가 존재하는 경우), E{(TSS - RSS)/p} = $\sigma^{2}$가 되며, F는 1보다 큰 값이 됩니다.
F 통계량은 표 3.6에서 라디오, TV, 신문으로 판매량을 회귀하는 다중 선형 회귀 모델로 구할수 있습니다. 여기서 F-통계량은 570으로, 이 값은 1보다 훨씬 크기 때문에, 귀무가설 $H_{0}$는 기각하게 되요. F 통계량이 아주 크게 나왔다는것은 적어도 광고 매체들 중 적어도 1개는 판매량과 관계를 가진다는것을 보여주고 있습니다.
하지만 왜 F 통계량이 1에 가까워져야하나요? 그리고 $H_{0}$를 기각하여 관계가 있는지 결론짓기전에 F 통계량은 얼마나 커야 할까요? 이것에 대한 대답은 관측치의 갯수 n과 입력 변수의 갯수 p에 달려 있습니다. n이 클떄는 F는 1보다 약간 커다보니 $H_{0}$을 채택하게 될 수도 있습니다. 그래서 귀무가설 $H_{0}$을 기각하기 위해선 아주큰 F 통계량이 필요하며 n은 작아야 합니다.
$H_{0}$가 참이고, 오차항 $\epsilon_{i}$가 정규 분포를 따를때 F 통계량은 F 분포를 따르게 됩니다. 어느 n과 p 값이 주어질때 통계 소프트웨어 패키지로 F 분포를 사용하여 F통계량과 관련된 p value를 계산할 수 있습니다. 우리는 이 p value를 이용하여 귀무 가설을 기각할지 말지를 정하는데, 광고 데이터의 경우 표 3.6에서 F통계량과 연괸된 p value는 반드시 0이 되어야 하며, 적어도 매체 중 하나가 판매량 증가에 영향력을 가진다는 사실을 강하게 증명 할 수 있습니다.
[F 통계량에 관한 추가적인 내용은 생략]
2. 중요한 변수들을 선택하자
이전 섹션에서 예기했다시피 다중 회귀 분석에서 첫 번째로 할 일은 F통계량을 계산하고 p value를 확인하는것입니다. p value를 통해서 적어도 하나의 입력 변수가 반응 변수와 연관성이 있는것을 검증하였다면, 그 다음으로 할 일은 그 변수가 어느것인지 찾아내야겠습니다. 표 3.4에서 각각의 p value들을 확인할수도 있습니다. 하지만 얘기했던 데로, p(p value가 아니라 특징, 입력개수 p)가 크다면 잘못된 발견을 할수도 있습니다.
모든 입력 변수들이 반응 변수와 연관되는게 가능하지만 입력 변수 중 일부에만 반응 변수가 연관되는 경우가 더 많습니다. 단일 모델에 다른 변수들을 포함하여 학습 할수 있도록, 반응 변수에 연관되는 입력 변수를 찾는 것을 변수 선택 variable selection이라고 부릅니다. 변수 선택 문제는 6장에서 깊이 다룰것이므로 여기서는 고전적인 방법으로 간단하게만 보겠습니다.
이상적로, 서로 다른 입력 변수들로 이루어진 다양한 모델로 변수 선택을 할수도 있습니다. 예를 들어 p = 2라면 다음의 4 모델의 경우를 생각해볼수 있어요. (1) 모델이 입력 변수를 갖지 않는다. (2) 모델이 $X_{1}$만 갖는다. (3) 모델이 $X_{2}$만 갖는다. (4) 모델이 $X_{1}$, $X_{2}$ 둘다 갖는다.
그러면 어떻게 어떤 모델이 최고인지 알수 있을까요? 다양한 통계량들이 모델의 품질을 판단하는데 사용할수 있겠습니다. 이런 것들로 말로우의 $C_{p}$, 아카이케 정보 기준(Akaike information criterion; AIC), 베이지안 정보 기준(Bayesian information Criterion), 그리고 조정된 결졍계수 $R^{2}$가 있습니다. 이들에 대해서는 6장에서 자세히 다룰것이고, 다양한 모델들을 직접 그려서 결정할 수도 있겠습니다.
불행히도 p개의 변수들을 가지고 있는 경우, 총 모델은 $2^{p}$가 있다보니, 모든 가능한 입력 변수들의 부분집합 모델들을 사용할수 없습니다. 예를들어 p = 2인 경우 $2^{2}$ = 4로 해볼수는 있겠지만 p = 30인 경우 $2^{30}$ = 1,073,743,824개의 모델들을 고려해야합니다! 이건 정말 실용적이지 못한것이니 p가 너무 작은게 아니라면 $2^{p}$개의 모델을 고려해볼수가 없습니다. 대신 적은 입력변수로 이루어진 모델을 구하는 효율적이고, 자동화된 방법이 필요합니다. 이를 위한 3가지 고전적인 방법들이 있어요.
- 전진 선택법 Forward Selection : 널 모델 null model에서 시작합니다. 널 모델은 입력 변수 없이 절편만 가지고 있어요. 그리고 p개의 단순 선형 회귀를 해보고, 그 중에서 RSS가 가장 낮은 변수를 널 모델에다가 추가 합니다. 그다음 변수를 반복해서 추가하는 식이에요. 어느 기준에 도달할떄까지 반복하게 됩니다.
- 후진 선택법 backward selection : 우선 모든 변수를 가진 모델에서 시작하는데, 가장 큰 p value를 가진 변수를 제거해요. 가장 큰 p value를 갖는 변수는 통계적으로 덜 중요한 변수겟죠. 그 다음 변수가 (p - 1)개인 모델을 학습하고 가장 큰 p value를 제거합니다. 이를 지정한 기준까지 반복하게 됩니다.
- 혼합 선택법 mixed selection : 전진 선택법과 후진 선택법을 혼합한 방법으로, 전진 선택법처럼 처음에는 변수가 없는 모델에서 시작하고, 최적의 변수를 추가합니다. 이를 한 번 한번씩 추가해나가요. 그러다가 새 변수가 모델에 추가되었을때 p value가 커질수 있는데 이때 임계치를 넘은 경우 모델에서 제거합니다. 이런 전진과 후진을 모델이 p value가 낮은 변수들로만 이루어질떄까지 계속합니다.
후진 선택법은 p > n 경우에사용 할수 없고, 전진 선택법은 항상 사용할 수 있습니다. 그리고 전진 선택법은 탐욕적 방법 greedy approach로 처음에 포함시킨 변수가 후에 필요없어 질수도 있습니다. 그래서 혼합 방법이 이 문제를 개선해 줍니다.
'번역 > 통계적학습법개론' 카테고리의 다른 글
[통계기반학습개론] 3.4 마케팅 전략/3.5 KNN과 선형 회귀 모델 비교 (0) | 2021.02.06 |
---|---|
[통계기반학습개론] 3.2.2 & 3.3 회귀 모델에 대한 중요한 질문들과 다른 고려사항들 (0) | 2021.02.06 |
[통계기반학습개론] 3. 선형 회귀 Linear Regression (0) | 2021.01.30 |
[통계기반학습개론] 2.1.5 회귀 문제와 분류 문제 (0) | 2021.01.28 |
[통계기반학습개론] 2. 통계적 학습 Statistical Learning (0) | 2021.01.28 |