- 이 글은 유튜브 Sapientia a Del, 곽기영 교수님, 통계파랑 님을 참고하였습니다.
회귀분석 (Ordinary Least Square)
- 목적 : 주어진 독립변수로 종속변수를 예측
- 예측을 위해 필요한 합리적인 추세선을 세우는 것
- 직선의 방정식 $y=a+bx+e\ ,\ \hat{y}=a+bx,\quad a:constant\ b:slope\frac{\triangle y}{\triangle x}\ e:error=y_i-\hat{y}_i$
⇒ 오차가 가장 작은 추세선! : 오차는 +/- 혼재되어 있으므로 오차의 제곱합이 최소화 된 추세선 필요
- 최소제곱법 : a,b를 추정하는 방법, 평균을 지나는 추세선이 가장 합리적인 최소제곱법에 의해 구해짐. 평균으로 회귀
회귀분석 해석
예시) 거실의 크기(원인)가 클 수록 매매 가격(결과) 이 비쌀 것이나?
- intercept는 우리의 관심사가 아님 ⇒ 세운 가설과 관련없음
- sqft_living의 estimate와 p-value 관심
- estimate 자체가 회귀계수
- t-value : 해당 변수의 유의성 판단
- p-value : 가설 해석
- 표준오차 : 표본평균들의 표준 편차
- 모집단의 평균(알 수 없음)을 평균의 참값이라고 할때, 표본집단의 평균이 얼마나 모집단의 평균과 가까운지 계산
- 이론적으로 표본집단의 평균은 매번 다를 수 밖에 없음.⇒ 표준오차가 작으면 참값에 더 가까운 것
- 같은 회귀식이나 다른 결과 : 직선을 중심으로 퍼짐 정도의 차이 ⇒ 많이 퍼졌으면 우연일 가능성이 높다, 유의하지 않을 것, p-value > 0.05
- 회귀 방정식의 x가 1증가했을 때, y가 2.4 증가한다는 결과가 우연히 발생하지 않았을까?(통계적 사고방식) 그 우연의 확률은 어떻게 될 것인가? 최소제곱법으로는 알 수 없으므로 비교대상이 필요한다. t-test 이용
- t-test 계산
$$ t-value = \frac{\beta}{SE_{β}=\frac{2.4}{0.82}=2.93},\quad df=1,\quad t-value_{df=1}=2.93,\quad p-val=0.21 $$
- 왜 t-test?
- 회귀분석 가설 $H_0:\beta=0,\quad H_a:\beta\neq 0 $
- t-test 가설 $H_0:mean_1-mean_2=0,\quad H_a:mean_1-mean_2\neq 0 $
- t-test예제를 회귀분석으로 $t-value=\frac{기울기}{표준오차}=\frac{\frac{평균_{집단1}-평균_{집단2}}{1-0}}{표준오차} $
⇒ 실제 기울기가 0인지 아닌지 테스트, 회귀계수(기울기)는 결국 t-test 평균값 차이와 동일한 개념
- 기울기 0 : 독립변수가 증가해도 종속변수는 변화 없어 유의하지 못함(독립변수가 원인의 역할을 못하므로) → 표준오차가 아무리 작아도 의미가 없음 ⇒ 회귀분석은 산포도를 꼭 적용해보아야 함(직선형태의 데이터 분포가 나타나지 않으면 다른 방법 찾아야 함)
- 독립변수가 증가할 수록 자유도도 증가하고, t-value는 작아져서 유의하지 않아짐. (비용 개념)
- 표준화계수 $\beta$ : 종속변수에 대한 독립변수들의 단위를 통일시킨 계수
- 종속변수 : 주택가격
- 독립변수 : 거실사이즈, 주택 층수, 수영장 유무
- 모든 독립변수를 같은 단위 상에서 비교 가능
- 표준화계수 : 원점을 지나가는 회귀직선 & 절편 0
- 아예 모든 독립변수를 표준화시킨 후 회귀분석 가능
$$ 표준화계수 = 비표준화계수 / \frac{SD_y}{SD_x} $$
$$ sqft_living: 271\times(918\div367127)=0.677 $$
⇒ 세 독립변수 중 거실의 표준화계수가 가장 크므로 영향력이 가장 크다
- 표준화계수로 크기를 비교할 수 있으나, 이 표준화계수의 차이가 우연히 발생한 것인지 추가적인 테스트 필요
- 해석 방법
"거실 사이즈가 1표준편차만큼 커지면 주택가격이 1 표준편차 * 0.6773 달러 만큼 오른다. → 거실 사이즈가 918ft^2 커지면 주택 가격은 367127*0.6773=248655 달러 오른다.
⇒ 보통은 비표준화 계수로 설명하고, 표준화계수는 자세히 설명안함
- 표준화 계수를 쓰는 이유
1) 논리적으로 영점을 회귀직선이 지나가야하는 경우
- 경제학 : 수입 지출의 관계 분석 시 대부분 영점을 지나가지 않음(수입이 0인 사람이 데이터에 없으므로) ⇒ 강제로 표준화계수를 써서 지나가게 함
2) 여러 독립변수 등 가장 영향력이 큰 변수를 찾기 위해서 : 상대적 중요도
- 어떤 독립변수의 표준화 계수가 가장 클 수는 있으나, 통계적으로 가장 큰 것인지는 추가적인 테스트 필요
- 표준화계수가 비슷할 경우 약간의 크고 작음은 통계적 유의성이 없을 수 있음
R2 해석
- 회귀분석 : 종속변수와 독립변수의 인과관계를 전제하고, 종속변수의 분산을 독립변수로 설명하는 과정, 우리의 모델(독립변수)이 큰 문제가 없다면 설명하고 남은 오차는 random한 오차
$$R^2 =\frac{SSR}{SST}=1-\frac{SSE}{SST}$$
$$ SST=\sum(y_i-\bar{y_i})^2,\quad SSE=\sum(y_i-\hat{y_i})^2 $$
- R2 : 모델의 분산 설명력, 우리가 만든 모델이 얼마나 데이터를 잘 설명했는 가
- 높으면 무조건 좋은가? 잔차도가 랜덤하게 분포함을 확인해야함
- 의미없는 독립변수 추가도 R2를 약간이라도 증가시키나, 자유도를 증가시켜 이용을 발생하며, 높은 R2는 과적합문제 발생 가능
- 잔차도 (residual plot): "모델에 큰 문제가 없다면 모델로 설명하고 남은 오차는 random한 오차"라는 전제 증명용
- adj-R2
- 독립변수 증가에 따른 자유도 손실에 대한 보정 필요, 자유도 1을 잃고도 충분히 분산을 설명했는가.
- 보통 R2와 함께 리포트하며, 크기가 심하게 다르면 의미없는 독립변수를 너무 많이 넣었다는 의미
- 모델에 사용된 독립변수의 논리성과 이론적 근거 병기 필요
- 과적합 : 모델이 이번에 수집한 표본에서만 높은 R2를 보이면 우연일 수 있다.
- Cross-validation 적용 : 표본을 랜덤하게 둘로 나누어 한 표본 모델 구축 후 다른 표본에서 모델의 적합성 테스트
더미변수의 활용
- 더미변수 : 값이 오직 0,1로 이루어진 변수, 0,1에는 수리적 의미는 없고 범주의 의미만 있음
- 범주가 3개 이상이어 1,2,3 이런식으로 사용할 경우, 순수한 연속형 변수가 되어 문제가 됨(순서, 등간의미 포함)
- 필요한 변수 개수 = 범주의 개수 - 1 (변수 하나가 더 만들 시 dummy trap 발동하여 회귀분석 되지 않음)
- 해석 : 제거된 범주가 비교의 기준이 됨(reference group, 모든 더미변수에서 0인 범주)
- credit card 지불 고객과 bank transfer고객 간의 총 지불금액은 유의한 차이가 없다.
- Electronic check 지불 고객과 bank transfer고객 간의 총 지불금액은 유의한 차이가 있고, electronic check 지불고객의 총 지불금액은 bank transfer고객의 총지불금액보다 유의하게 적다 (= mail check고객도 동일)
- 만약 다른 조합을 비교하고 싶다면, 더미변수 다시 만들어야 함
다중공선성
- 상관관계가 매우 높은 독립변수들이 동시에 모델에 포함될 때 발생
- 두 변수가 완벽하게 다중공선성에 걸려 있다면, 같은 변수를 두 번 넣은 것이라 최소제곱법 계산상 어려움
- 다중공선성이 높다면 회귀계수의 표준오차가 비정상적으로 커짐→ t값이 작아짐
- 다중공선성 찾기
- 산포도 & 상관계수 : 상관계수 0.9를 넘으면 다중공선성 문제
- 허용/공차(tolerance) 확인
- tolerance : 한 개의 독립변수를 종속변수로, 나머지 독립변수를 독립변수로 하는 회귀분석을 했을 때 나오는 R2를 이용해 (1-R2)를 의미, tolerance가 0이면 완벽한 상관성에 의한 다중공선성이 심각함 의미
- 분산팽창지수 (Variance Inflation Factor) $VIF=1\div tolerance = 1 \div (1-R^2)$
- 연속형인 경우 : 일반적으로 10보다 크면 문제
- 더미형 : 3이상이면 큰 문제
- 상태지수 Condition Index : 100이상이면 심각한 다중공선성
- 다중공선성 해결
1) 다중공선성이 큰 변수가 유의한지 확인 필요 ⇒ 연구자의 의도와 변수의 유의성에 따라 결정 필요
- 다중공선성이 커도 유의하다면 → 표준오차가 비정상적으로 팽창되어도 유의하다, 그 자체로 유의하다는 의미
- 조절효과를 확인하기 위해 교호작용 변수를 추가하는 경우 연구자가 의도적으로 넣음으로써 어느정도 다중공선성 피할 수 없음
2) 해당 변수를 제거
- 가장 일반적, 해당 변수가 연구의 중심이 되는 중요변수일 경우 문제 ⇒ 근본적인 원인은 기존 연구 및 이론/논리적 구성이 사전에 부족
3) 주성분 분석으로 변수를 재조합
- 겹치는 분산을 제거하는 효과, 제거된 분산이 꼭 겹치는 것 만은 아니어서 경우에 따라 재조합 된 변수들이 이상한 결과 가능
4) 다중공선성이 발생한 독립변수 합침
- 다중공선성이 높은 변수는 결국 비슷, 합쳐서 회귀분석에 사용할 수 있으나 해석이 어려워짐
- 평균을 사용하나 완벽하진 않음
5) 능형 회귀분석
6) Mean centering
- 모든 변수를 각 변수의 평균값으로 뺀 뒤에 회귀분석
이분산성(Heteroskedasticity)
- 분산이 다르다. 회귀계수의 표준오차(분산)이 다르다는 의미
⇒ 회귀계수의 유의성 판단하기 위해서 t-값 계산하는데, 표준오차가 이분산성을 띄게 되면 하나의 수로 나타낼 수 없음
→ 거실 크기가 커질 수록, 회귀계수의 표준오차가 커짐
⇒ 표준오차는 독립변수 거실크기의 함수로 표현될 수 있음
- 이분산성을 확인하는 방법 => 이분산성이 있으면, 독립변수의 유의성에 대한 확신을 가질 수 없음
- 산포도, 잔차도
- White test / Goldfeld-Quandt test / Breusch-Pagan test : 유의하면 이분산성 존재
- 이분산성을 해결하는 방법 : 완벽한 해결이 어려움
1) (heteroskdastistic) robust standard error 사용 : 계산 복잡, 많이 사용
2) Weighted least square regression
- 이분산성 함수를 찾아서 그 역함수로 독립변수를 만들어 추가하는 OLS
- 이분산성의 역함수를 찾는 것이 쉽지않아 현실적으로 어려움
3) GLS/FGLS regression : 근본적으로 WLS 동일한 개념이나, 현실적으로는 어려움
'Today I Learned! > Data Science' 카테고리의 다른 글
통계학 (11) - 로지스틱 회귀분석 (1) | 2023.12.20 |
---|---|
통계학 (10) - 조절효과와 매개효과 (0) | 2023.12.19 |
통계학 (8) - 카이제곱 검정 (0) | 2023.12.13 |
통계학 (7) - Three-way ANOVA (0) | 2023.12.10 |
통계학 (6) - Repeated Measure ANOVA (0) | 2023.12.06 |
댓글