선형 회귀 (Linear Regression)
# 개요
Y를 X의 선형결합으로 표현한 모델
- 선형 결합이란 변수들을 더하기 빼기를 통해서 결합하는 것을 뜻한다.
- X와 Y의 관계를 설명하고 더 나아가 예측한다.
x로 설명할 수 없는 부분을 표현하기 위해 ε이 필요하다.
- ε은 확률오차(random error)라고 부른다.
- ε은 정규 분포를 따른다는 가정이 필요하며 그렇지 않으면 올바른 모델이 아니다.
- 마찬가지로 Y도 정규분포를 따른다. (상수+ε이 되므로)
# 파라미터 추정
우리는 아래와 같이 실제 점과의 거리가 가장 가까운 직선을 찾아야 한다.
거리 차이의 합이 0이 되지 않게 하기 위해 제곱을 해서 더한다.
이 거리를 최소화하는게 최종 목적인데 수식으로 표현하면 아래와 같다.
선형 회귀는 이차식이므로 전역 최적해 (globally optimal solution)이 존재한다.
(사실 지역 최적해가 존재할 때 문제가 까다로워지는데 일단은 패스한다.)
파라미터인 β값 2개를 구하는 방법은 아래와 같이 미분해서 0이 되는 지점을 찾는 것이다.
이를 Least Squares Estimation Algorithm이라 부른다.
(우리말로는 최소제곱법, 최소자승법으로 쓰인다.)
# 잔차 (Residual)
잔차(e)와 확률오차(ε)는 다르다.
확률오차에서 β는 아직 확정되지 않은 상태이고 확률오차는 정규분포를 따른다.
잔차는 확률오차가 실제로 구현된 값이다. (hat을 꼭 씌운다.)
# 파라미터 추론 (통계적 접근)
위의 추정에서 Estimator(추정량)라는 용어가 나온다.
추정량은 알려지지 않은 파라미터인 β를 추정하기 위한 용도로 쓰인다.
추정량의 종류로는 점추정(point estimator)과 구간추정(interval estimator)가 있다.
## 점추정
점추정은 파라미터를 특정 값으로 추정하는 방법이다.
선형 회귀의 파라미터로는 β0, β1이 있고 추가로 확률오차(ε)의 표준편차인 σ가 있다.
각 파라미터의 점추정식은 아래와 같다.
σ에 대한 점추정 식에서 n은 샘플 수를 뜻하고 e는 잔차(residual)를 뜻한다.
추정량에 대해 좋은 성질이 있는지를 나타내는 Gauss-Markov Theorem이라는게 있긴한데 일단 패스!
## 구간추정
구간 추정은 점추정과 달리 유연한 정보를 제공할 수 있다.
일반적으로 구간 추정은 아래와 같은 형태로 표현한다.
즉, 구간 추정은 점추정량에서 상수배만큼 빼고 더한것으로 정의할 수 있다.
이를 선형회귀에 대해 적용해보면 β1(기울기)에 대한 신뢰구간은 아래와 같다.
(n은 관측치의 수)
1번은 위에서 최소제곱법으로 구한 점추정량이다.
2번은 상수값에 해당하는데 일단은 β1은 t분포를 따른다는 것이 이미 알려져 있다고만 알고 넘어가자.
3번은 점추정량에 대한 표준편차이다.
많이 쓰이는 방식은 아니니 참고만 해두자!
# 기울기에 대한 가설검정
α의 기울기가 0인지 아닌지 검정한다.
귀무가설로 기울기가 0이라고 가정한다.
점추정으로 나온 β hat과 0의 차이를 관찰한다.
이것보다 더 많이 쓰이는 방식이 p-value이다.
# 예제
소프트웨어에서 위와 같이 output이 나왔을 때 아래의 질문들에 답해보자.
Q. 파라미터는 무엇인가?
β0, β1
Q. 파라미터에 대한 점추정치(point estimates)는 무엇인가?
※ estimator는 함수, estimates는 함수를 통해 나온 값을 뜻한다.
최소제곱법으로 구할 수 있다.
Q. 파라미터에 대한 표준 편차 (표준 오차)는 무엇인가?
신뢰구간을 구할 떄 점추정량에 더하거나 빼는 방식으로 사용되었다.
Q. 검정통계량 (T)는 무엇인가?
귀무가설은 β1=0 이다.
Q. p-value(P)는 무엇인가?
아래와 같이 계산하고 위의 표에서도 확인할 수 있다.
t 통계량이 매우 크므로 확률은 거의 0에 가깝다.
p값이 매우 작으므로 귀무가설을 기각한다. 즉 기울기는 0이 아니다.
Q. S는 무엇인가?
S는 σ에 대한 점추정량을 뜻한다.
# 결정 계수 (Coefficient of Determination: R²)
위의 그림에서 세 점은 각각 다음을 나타낸다.
- 맨 위: 실제 y값
- 가운데: 회귀 직선 위의 y값
- x로 얼마나 설명할 수 있는가
- 맨 아래: y값의 평균
- x와 상관없이 y의 평균만으로도 이정도는 설명 가능
## SSE, SSR, SST
각 점들간의 차이는 아래와 같은 지표들로 표현할 수 있다.
SSE
실제 y값과 직선 위의 y값의 차이의 제곱 합
x로 설명할 수 없는 부분
이게 0이면 확정적인 관계를 뜻한다. (f=ma 같은)
SSR
직선 위의 y값과 y 평균의 차이의 제곱 합
x로 얼마나 설명할 수 있는지
이게 0이면 x를 이용해봐야 효과가 없다는 뜻
SST
실제 y값과 y 평균 차이의 제곱 합
R²
SST = SSR + SSE를 기반으로 분수로 나타낸 지표를 R²라고 부른다.
0과 1사이에 존재하며 아래와 같은 의미를 가지고 있다.
- 1이면 현재 가지고 있는 X변수로 Y를 100% 설명할 수 있다는 뜻.
(모든 관측치가 회귀 직선 위에 있다) - 0이면 현재 가지고 있는 X변수가 Y를 설명(예측)하는데 전혀 도움이 되지 않는다는 뜻.
- 사용하고 있는 X변수가 Y변수의 분산을 얼마나 줄였는지 정도
- 단순히 Y의 평균값을 사용했을 때 대비 X정보를 사용했을 때 얻는 성능 향상 정도
- 사용하고 있는 X변수의 품질
예시로, R²의 값이 0.683인 선형회귀 모델이 있다면 아래와 같이 해석할 수 있다.
(X₁: 판매원 수, X₂: 광고비, Y: 매출액)
- 판매원 수와 광고비 변수에 의해 매출액의 변동성을 68.3% 감소
- 매출액의 (단순)평균 대비 판매원 수와 광고비를 이용하면 설명력이 68.3% 증가
- 현재 분석에 사용하고 있는 판매원 수와 광고비의 "변수 품질" 정도가 68.3 (100점 기준)
Adjusted R²
R²는 유의하지 않은 변수가 추가되어도 증가한다는 단점이 있다.
이를 보완하기 위해 Adjusted R²가 고안되었다.
위의 식에서 n은 관측치의 갯수로 고정이고, p는 변수의 갯수인데 커질수록 전체 값이 작아진다.
즉, 수정 R²는 앞에 특정 계수를 곱해서 유의하지 않은 변수가 추가되면 증가하지 않게 한다.
# 선형회귀 모델에서의 분산 분석(ANOVA)
위에서 정리한 SSE, SSR, SST는 일종의 분산이라고 볼 수 있다. (차이의 제곱 합)
그러므로 분산 분석 (ANOVA)를 통해 기울기에 대한 가설 검정을 할 수 있다.
분산 분석을 위해 주의깊게 살펴볼 지표는 다음과 같다.
이 비율을 두 가지 케이스로 나누어 살펴보면 다음과 같다.
①1보다 크다면
X 변수에 의해 설명된 양(SSR)이 에러에 의해 설명된 양(SSE)보다 크다.
즉, X변수가 Y를 설명(예측)하는데 유의미하다.
그러므로 X변수의 계수 (기울기)가 0이 아니다.
②0이상 1이하라면
X 변수에 의해 설명된 양(SSR)이 에러에 의해 설명된 양(SSE)보다 작다.
즉, X 변수가 Y를 설명(예측)하는데 영향을 끼치지 못한다.
그러므로 X변수의 계수 (기울기)가 0이라고 할 수 있다.
그러면, 1보다 얼마나 커야 유의미하게 크다고 할 수 있을까?
매우 중요한 질문이다.
하지만 통계적으로 봤을 때 분포를 안다면 판단이 가능한데 분포를 모른다.
다행히 SSR, SSE가 카이제곱 분포를 따른다는 것은 알고 있다.
그러므로 수리 통계학에 따라 F분포를 가정할 수 있다.
단순 선형 회귀모델의 경우 다음과 같은 자유도를 가진다.
그러므로 아래와 같은 F분포를 따른다.
결과적으로 아래와 같이 p-value를 구해서 가설 검정을 할 수 있다.
예시로 F값을 구했는데 아래와 같이 나왔다면
이렇게 P값을 구해서 귀무가설을 기각할 수 있다.
(적어도 하나의 β값이 0이 아니므로, 판매원 수 혹은 광고비 중 적어도 하나는 유의미하다.)
ML, 사용 관점에서 선형회귀는 이렇게 어렵지 않았는데 통계적으로 접근해보니 어려운 부분이 많다.
실제로 어떻게 쓰일지는 모르겠지만 기초에 해당하니 틈틈이 다시 보도록 하자.
참고: 김성범 교수님 유튜브 강의