본문 바로가기

Deep Learning + AI

데이터분석응용 in R_회귀분석 pt1 이론

반응형

 

# 다중선형회귀

데이터

 

# 데이터는 n개이고,

# 소문자 x값들은 실제 존재하는 컬럼 값들이다.

# X1에서 Xp의 컬럼값들이 Y에 영향을 준다고 생각하여 데이터에서 저렇게 실값을 가져와 채워놓은것.

# Y 또한 실제 데이터에서 있던 y값이다.

# 우리는 다중선형회귀모형이 Y와 X들 사이의 참 관계에 대한 좋은 근사를 제공한다고 가정한다.

 

# 단순회귀 : 예측 (설명) 변수가 1개인것

# Y는 반응(종속) 변수

 

# 주의

# 반응변수 Y와 예측값 Y hat은 다르다!!!

# y hat  : 적합값. fitted value

회귀식

 

# 최소제곱 회귀방정식

# B0는 절편항이자 상수항

 

# 잔차 ei = yi-yi^

# 잔차제곱합 : n-p-1의 자유도를 가진다.

잔차제곱합

 

# 단순회귀방정식 : 직선 표현

# 다중회귀방정식: 평면(예측변수가 2개인 경우) 혹은 초평면(예측변수가 2개보다 많은 경우)을 표현

 

# B0는 X1=X2=...=Xp=0일때 Y의 기댓값

 

# Bj: 편회귀계수(partial regression coefficient)

# Xj를 제외한 나머지 모든 예측변수들을 상수로 고정시킨 상태에서 Xj의 한단위 증가에 따른 Y의 증분

# Bj는 다른 예측변수들에 의하여 반응변수 Y가 조정된 후에 Y에 대한 Xj의 공헌도

# 변화의 크기는 다른 예측변수들이 어떤 값으로 고정되어 있는지에 의존x

# BUT.. in real life. 예측변수들은 서로 밀접하게 연관되어 있고,

# 다른 변수들이 변화할때 어떤 변수들을 상수로 고정시키는 것이 가능하지 않은 경우도 존재

 

 

# 조정된다:

# 관심있는 특정 예측 변수 하나만의 순수한 효과를 파악하기 위해

# 나머지 다른 모든 예측 변수들이 미치는 영향을 제거하거나 통제(상수로 고정)했다.

예시 모형

 

# ex1. X2에 의해 조정된 후 X1의 효과? X2의 값을 고정시키고 X1의 값 보기

 

# ex2.X1을 조정시킨 후 X2의 효과?

# X2의 계수는 X1이 고정되어 있을때 X2가 한단위 증가하면 Y가 0.7803만큼 감소

 

 

# 모형의 적합도

(회귀모형 가정사항에서 다른 형태로 재언급됨)

# 선형모형을 적합한 후 모형의 적합 정도에 대한 고려가 필요하다.

 

# 모형의 적합도는 크게 4가지 기준에서 판정한다.

# 1. 등분산 2. 독립성 3. 선형성 4. 정규성

# 등분산, 독립성, 선형성은 잔차플랏으로 검증가능하다.

# 선형성은 상관관계(cor)로도 검증가능하다.

# 정규성은 QQplot으로 검증가능하다.

 

# 잔차플랏은 구처럼 아무 패턴이 없어야 등분산/독립/선형성을 만족한다고 한다.

# QQplot은 y=x를 크게 벗어나지 않으면 정규성을 만족한다고 한다.

 

 

# 다중상관계수

# 선형성을 검증가능한 척도

# 반응변수Y와 예측변수들 X1...Xp사이의 선형관계에 대한 강도

# Y와 Y hat의 산점도를 통해 평가

y와 y hat의 상관계수

 

# 번외로 결정계수 (R^2)도 있다.

# 결정계수는 상관계수를 제곱한 값

 

# 상관계수는 선형관계의 형태와 연관정도를 -1과 1상의 수치로 나타낸다면

# 결정계수(R^2)는 예측변수에 의해 설명되는 변이의 비율을 나타낸다.

 

 

# 다중상관계수(R)는 결정계수에 루트를 씌운것인데

# 반응변수Y와 예측변수들 X1...Xp사이의 선형관계 정도를 측정하는 값이다.

 

# Y와 예측 변수들 X1,,,Xp 사이에 선형관계가 존재한다

# = 모형이 데이터에 잘 적합됨

# = 관측값과 예측값이 서로 가까움

# = 잔차(혹은 잔차제곱합)은 작을것

# = R^2(혹은 R)은 1에 가까울것

 

 

# 수정결정계수 Ra^2

# 주로 예측변수들의 개수가 서로 다른 모형들을 비교할때 사용된다.

수정결정계수

 

# 예측변수들의 수가 다르다는 것을 조정함.

# 조정하면 전체 변이 중 예측변수들에 의해 설명되는 비율로 해석 불가

# 즉, 더 이상 순수한 설명력 비율 자체를 의미하지 않게 됨

# 비율의 의미를 잊은 대신,

# 변수 개수가 다른 여러 모형 중 어떤 모형이 더 적합한가 판별할때 상대지표로 사용

 

 

 

# 개별 회귀계수들에 대한 추론

# H0: B0=0

# H0: B1=0

# H0L B2=0....

 

# 검정통계량: 자유도가 n-p-1인 t분포

검정통계량

 

# 기각역: 

기각역

 

 

# H0: Bj=0를 기각한다.

# 예측변수 Xj는 다른 모든 예측변수들에 대하여 조정된 후 반응변수 Y에 대하여 통계적으로 유의하다.

 

 

# 신뢰구간(신뢰한계)

# 개별 계수 Bj에 대한것

신뢰구간

 

 

# 신뢰영역(confidence region)

# 모든 회귀계수들의 결합

 

 

# 회귀모형 가정사항

# 1. 모형 형태: 선형성 가정

# 2. 오차: 정규성/오차 평균0/등분산/독립성 가정

#              오차 e1...en은 서로 독립(공분산 0)이고,

#              동일한 정규확률변수로서 평균 0공통분산 시그마 제곱을 가짐 가정

#               위 가정 불만족 시 자기상관의 문제가 있음

# 3. 예측변수: 예측변수는 선형종속이 아닌것으로 가정.

#                    위반시 다중공선성 문제

 

 

# 모형 형태 가정

# QQplot(정규확률플롯)

# x축: 정규점수(이론값), y축: 순서화된 표준화잔차(실제값)

# 잔차가 정규분포를 따른다면

# 순서화된 표준화잔차는 근사적으로 순서화된 정규점수와 같아야함

# 즉 y=x형태로 그사되어야

 

# 표준화잔차? 잔차/(잔차의 표준편차)

# 잔차? y-(y hat)

# 정규점수? 표준정규분포로부터 크기 n의 표본을 취하였을때 얻을것으로 기대되는 값

 

# 오차/예측변수 가정

# 표준화잔차 vs 각 예측변수들의 산점도(일명 잔차플롯)

# 표준화 잔차는 예측변수들과 상관되어있지 않음

# 플롯에 발견할 수 있는 패턴이 존재한다면 어떤 가정이 위반되었음 의미

잔차플롯

 

 

 

 

# 질적 예측변수(Qualitative Variables as Predictors)

# 질적 또는 범주형 요인들이 회귀분석에서 반응변수의 변화를 설명하는데 사용될 수 있다.

# ex. 성별, 학년, 혈액형 등

 

# 숫자 아닌 변수들(성별, 지역 등)은 그대로 회귀식에 못넣으니까

# 0/1 숫자로 바꿔서 넣는다.

 

# 이런 요인들을 예측변수로 이용할 경우

# 지시변수(indicator variable) 또는 가변수(dummy variable) 형식으로 표현됨

 

# 가변수:

# 범주의 양적 순서를 나타내기 위한 것이 아니라

# 관측개체가 속하는 범주나 집단을 식별하는 역할

 

 

# 예시 : 급료조사 데이터 분석

# 급료(salary)의 차이를 결정하는 여러 요인을 식별하고 수량화하는 것이 목표

# 반응변수: 급료(S)

# 예측변수: 경력연수(X), 교육수준(E, 고졸=1,학부졸=2,그이상=3), 관리(M, 책임있음=1, 없음=0)

# 세 변수가 급료에 미치는 영향?

 

# 필요한 가변수의 개수는 일반적으로 가능한 범주의 수보다 하나 작게 고려

# 교육수준 변수(E)의 3개 범주를 위해 2개의 가변수(E1,E2)를 가정

# E1=E2=0이면 대학원 이상

# E3을 지정하면 E3=1-E1-E2와 같은 관계 형성되어 어느 하나는 불필요

범주수보다 한개 적은 가변수

 

# 관리(M)도 2개 범주를 나타내는 가변수로서 표현 

 

 

 

# 기저범주(base category) 혹은 대조그룹(control group):

# 지시변수에 의해 표현되지 않는 범주

# 즉, 앞의 예시에서와 같이 빠진 범주 하나가 기저 범주 혹은 대조그룹이 된다.

# 지시변수의 회귀 계수를 대조그룹에 대한 상대적인 값으로 해석한다.

 

# 위 문제에서 가변수들을 사용해 표현한 회귀모형은 다음과 같다.

가변수 사용한 회귀모형

 

 

# 두 범주의 가변수 값에 따라 6개의 가능한 범주 조합에 의한 회귀모형으로 구분가능하다.

범주 6개

# case1. E1, 책임 x

# E1=1, E2=0, M=0이라서 대입하면 회귀방정식 1과 같이 나온다.

# 이후 생략

 

 

 

# 변수 변환

# 데이터가 분석에 적합하지 않은 경우,

# ex. 평균보다 표준편차가 더 크다.(3기준으로 +-10 움직인다 등)

# ex. 한쪽 꼬리가 긴 분포?

# 분석 수행에 앞서 변수들을 변환함

 

# 선형성 or 정규성의 확보, 분산의 안정화 등의 목적

 

# 다중회귀는 예측변수가 여러 개이므로 어떤 변수는 변환이 필요하고 다른 변수들은 안필요할수도,,

 

 

# 선형성 확보

# 다음과 같이 i가 변수면 로그를 양변에 취해줘야 선형관계된다.

비선형관계

 

# 이 변수들은 비선형 관계지만 변화된 변수들 사이는 선형 관계가 된다.

로그변환 이후

 

 

 

# 박테리아 예제

# 노출시간 t 후에 생존한 박테리아수 nt의 관계가 다음과 같다.

원형식

# 이 데이터에 단순선형모형을 적합하면

단순선형모형
R^2과 p-값만 보면된다.

 

# 설명력은 높고,

# p-value값에 의하면 변수는 모형에 유의하다.

 

 

# 그러나..

plot

 

# 예측변수와 반응변수가 선형성 만족하지 않는다.

# 잔차플롯도 패턴을 보인다.

# 전체 모형으로 보면 위 모형은 적합하지 않다.

 

 

# 양변에 로그를 취하는 변수 변환을 하자.

로그변환
회귀모형
R^2과 p-만 봐도 됨

# 설명력 높고, 변수도 유의하다.

 

 

회귀모형 적합성 판정 plot

 

# 회귀 모형은 선형성이 있으며 잔차플롯은 패턴이 없다.

# 따라서 회귀모형은 적합하다.

 

# 분석 대상 변수가 평균에 비해 큰 표준편차를 가지는 경우 이러한 로그변환은 특히 유용하다.

 

 

 

# 추가적으로,, plot만 보고 가장 옳은 변수변환은 뭘지 찾아보자.

plot

 

# 좌우위아래 순서로 볼때,

# 1번빼고는 모두 선형성이 존재하지만,

# 선형성도 골고루 다 퍼져있어야 좋다.

# 따라서 best 모형은 2번째, 즉 오른쪽 위 모형.

 

 

 

# 다중공선성

# 먼저 한개의 그림부터 보자

선형회귀 이상적 상태

 

# 위와 같은 형태가 이상적인 상태이다.

# 예측 변수간 상호의존관계, 즉 겹침이 존재하지 않는 상태이다.

 

# 반면,

다중공선성 존재

 

# 위는 겹치는게 존재한다.

 

# 위에서 각각 표시되어 있는 빨강 세모는

# X1, X2,.. 순서대로 각 변수가 Y를 설명할 수 있는 양들이다.

# 다중공선성이 존재하는 경우 겹치는게 있는 X2와 X3는 앞에서 이미 차지했던 부분을 제외하고 설명할 수 있다.

# 즉 Y를 설명할 수 있는 양이 많은데, 실제로 설명할 수 있는게 적은 것이다.

 

# 그림을 못그리는 관계로 세모들의 양이 밑에서 더 커보인다.

# 그러나 이와 같은 설명에서 알 수 있듯,

# 겹치는게 클수록 모형은 굉장히 비효율적이게 된다.

 

# 이러한 다중공선성이 없도록

# 우리는 변수간 상관관계(즉, 연관성)를 따져 봐야 한다.

 

 

# 다중회귀방정식은 기본적으로 예측변수간 상호의존관계가 심각하지 않다고 가정한다.

 

# 직교: 예측변수 간에 선형적인 연관관계가 전혀 없는 경우

# 현실에서는 예측변수들이 직교하지 않는 경우가 대부분

# 예측변수들이 너무 강하게 연관되어 있으면 회귀분석의 결과가 부정확할 수 있음

 

 

# 예시를 하나 보자.

# 표를 보면 변수들이 죄~다 유의하지 않다.

# 와중에 설명력도 약하다.

# 그러나 전체 모형과 잔차간의 그래프, 즉 잔차플롯을 보면 

# 모형은 적합하다고 나온다.

 

# 즉, 3개의 예측변수가 모두 함께 사용되었을때 전체적으로 유의하나,

# 개별적으로 보았을때는 유의하지 않다.

# 즉 어느 한 예측변수는 나머지 두 변수가 모형에서 보유될 경우 모형으로부터 제거해도 괜찮다.

 

 

# 실제로 변수들간 cor를 보자.

변수들간 cor

 

# 위는 다중공선성이 존재하는 전형적인 상황

# 예측변수들이 매우 높은 상관관계를 가짐

 

# 각 예측변수는 전체 설명력에 거의 영향을 끼치지 않고

# 회귀방정식에서 다른 변수의 대리 역할을 한다.

# 즉 예측변수간에 큰 상관계수를 가질 경우 3개의 변수가 사용되었다기 보다

# 실제로는 단 하나의 예측변수만 있다고 결론지어도 무방

 

# 분산확대인자 VIF

VIF

 

# Rj^2은 다중상관계수의 제곱

# VIF_j가 10보다 크면 데이터에 공선성 있다.

# 값이 1이면 선형적 연관관계가 없다.

# -고 판단하자.

 

 

# 변수선택 Variable Selection

# 회귀모형에 포함된 변수들은 보통 사전에 미리 결정되는게 아님 

# 예외> 변수들이 연구에 관한 이론이나 다른 고려에 의해 결정된 경우

 

# 변수 선정 자체가 분석의 첫 단추

# 변수 결정 > 적절한 함수 형태 결정

# ex. X, X2, logX등 변환된 형태 고려

 

# 1) 전진선택법(Forward selection, FS)

# 2) 후진제거법(Backward Elimination, BE)

# 3) 단계적방법(Stepwise)

 

# 1,2)는 일단 한번 빠져나간 변수가 있다면

# 그 변수를 다시 보지 xx

 

# 1)은 첫 예측 변수는 반응변수와 가장 큰 상관계수 가지는게 선택됨

# 이후엔 첫 예측변수 조정 후 최대상관을 가지는 변수 찾기

# 비유의적인 변수나오면 stop. 그전의 변수까지 가져가기

 

# 2)는 회귀식으로부터 제거되는 첫 변수는 공헌도가 가장 작은것

# 1)과 마찬가지로 비유의적인 변수 나오면 stop.

 

# 3)은 시작은 전진 선택법.

# 설명력이 줄어들면 그걸 제외. 늘어나면 추가

# 최고 설명력이 생길때까지,,

# 적절한 코드 돌리면 알아서 도출됨

# 앞 단계에서 이루어진 선택에 따라 회귀모형에 일단 포함된 예측변수라 해도

# 나중 단계에서 제거될 가능성 있음.

 

# 여유가 있으면 셋다 하기

# 1,2가 결과가 너무 상이하면 들여다보아야한다.

 

 

 

# 회귀모형 평가 기준: AIC/BIC

 

# AIC는

# 감소 많이 되는 얘를 선택해 추가/제거 

# 감소가 없으면 중단

# 만약 0.1정도만 줄어드는게 최고면 가져갈지말지 본인이 결정하기 

AIC/BIC

 

# BIC도 마찬가지

반응형