Linear Model Spring 2015 다중회귀모형
다중회귀모형 개념
(1)설명변수 하나만으로 설명력이 부족하고 (2)유의한 설명변수간 영향력 비교가 요구하나의 종속변수의 변동을 두 개 이상의 설명변수가 동시에 설명함
•종속변수는 정량적 QUANTITATIVE 변수
•설명변수들 모두 정량적 변수 - 회귀분석 모형
•설명변수들 모두 정성적 QUALITATIVE 변수 - 분산분석 모형
•설명변수들이 혼합형 - (회귀분석 측면) 지시변수가 있는 회귀모형 (분산분석 측면) 공분산분석
1) 선택한 설명변수들이 유의한가? <=> 설정한 예측모형 - F 검정 & t 검정
2) 유의한 설명변수 중 가장 영향력이 큰 설명변수는? 표준화 회귀계수
3) 종속변수 변동을 충분히 설명하나? 결정계수
4) 설명변수 값이 주어진 경우 종속변수 예측값? 최종 적합회귀모형
(예제 데이터) 💾 SMSA.csv
•설명변수 개수 , 데이터 개수 p = 13 n = 60
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page1 18
Linear Model Spring 2015 다중회귀모형
모형 및 가정
모형 model
설명변수의 개수가 이고 관측치 개수가 인 경우 다중회귀모형은 다음과 같다.
,
가정 assumption
• : 오차항 는 (1)독립성 (2)정규성 (3)등분산성 (단순회귀분석과 동일)
• 는 회귀계수이며 모수(parameter)이다. 는 i-번째 설명변수의 편미분계수로 다른 설명변수의 값이 고정일 때 영향력을 의미한다.
•설명변수 는 deterministic이고(확률변수가 아니다, 그러므로 종속변수의 분포는 오차항의 분포와 동일하다) 적어도 하나 이상은 측정형(정량적) 변수
행렬 표현
,
• : 종속변수 벡터(차수 )
• : 데이터 행렬(차수 )
• : 회귀계수 벡터(차수 )
• : 오차 벡터(차수 )
종속변수 분포 : , 이고 정규분포의 선형결합
이므로
)2(≥p n
yi = β0 + β1xi1 + β2xi2 + ...+ β pxip + ei i = 1,2,...,n
),0(~ 2σiidNei ie
pβββ ,...,, 10 iβ
piii XXX ,...,, 21
eXy
e
ee
xxx
xxx
xxx
y
yy
npnpnn
p
p
n
+=⇒
"""""
#
$
%%%%%
&
'
+
"""""
#
$
%%%%%
&
'
"""""
#
$
%%%%%
&
'
=
"""""
#
$
%%%%%
&
'
β
β
β
β
!!
!!
!
!
!2
1
1
0
21
22221
11211
2
1
1
1
1
),0(~ 2 INe σ
y 1×n
X )1( +× pn
β 1)1( ×+p
e 1×n
E(y) = E(Xβ + e) = Xβ V (y) =V (Xβ + e) =σ 2In
y ~ MN(Xβ,σ 2In )
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page2 18
Linear Model Spring 2015 다중회귀모형
분석 전 작업
1) 정규성 체크 http://wolfpack.hnu.ac.kr/2015_Spring/LM/LM_정규변환.pdf
개념
•사용되는 데이터가 치우침이 있는 경우 종속변수와 설명변수의 선형 관계 linear relationship를 왜곡 시킬 수 있음
•설명변수가 하나인 단순회귀에서는 종속변수와 설명변수의 선형변환 linear transformation 적용하면 되지만 - 다중회귀에서는 선형변환이 종속변수 변환을 요구하는 경우 종속변수와 다른 설명변수와의 관계에 영향을 미치므로 1) 정규성 검정 후 2) 선형성 체크에서 문제가 있으면 설명변수를 변환하여 선형성을 맞추는 것이 적절함
진단도구
•그래프 : Q-Q plot, 히스토그램
•통계량 : , Shapiro Wilk W-통계량, Kolmogorov D-통계량, Anderson-Darling AD 통계량
해결 : 정규변환
Power Transformation
2) 선형성 체크 http://wolfpack.hnu.ac.kr/2015_Spring/LM/LM_선형성파괴.pdf
개념
•종속변수와 설명변수가 선형이 아닌 경우 - 선형회귀모형이므로 문제 해결 필요
진단도구
•산점도 행렬 : 종속변수와 설명변수 간 개별 산점도 - 직선관계 발견
•R 활용 시 - 잔차+성분 산점도
Y * =
Y 3, leftY 2, mild left
Y , mild rightln(Y ), right
1/Y , severe right
⎛
⎝
⎜⎜⎜⎜⎜⎜⎜
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page3 18
Linear Model Spring 2015 다중회귀모형
3) IN R
Method Transformation(s) Regression equation 다중회귀 시
Exponential model Dependent variable = log(y) log(y) = b0 + b1x exp(x)
Reciprocal model Dependent variable = 1/y 1/y = b0 + b1x x^2항 삽입
Logarithmic model Independent variable = log(x) y= b0 + b1log(x) log(x)Power model Dependent variable = log(y)
Independent variable = log(x)
log(y)= b0 + b1log(x) -x^2 항 삽입
ds=read.csv("smsa.csv") names(ds); attach(ds)
library(nortest) ad.test(Mortality);ad.test(JanTemp) #정규성검정
library(car) scatterplot.matrix(~Mortality+JanTemp+JulyTemp+RelHum+Rain+Education+PopDensity+NonWhite+WC+pop.house+income+HCPot+NOxPot+S02Pot) #산점도 행렬, 정규성그림
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page4 18
Linear Model Spring 2015 다중회귀모형
종속변수 Mortality - 정규분포 따름
설명변수 Jan_Temp - 정규분포 따르지 않음 - 다음 히스토그램 (Kernel) 참고 변환 필요
정규분포를 따르지 않아 보이는 변수 (히스토그램만 활용한 시각적 판단) - 최종적으로는 모수적 정규성 검정이 필요함
•우로 치우침 : Jan_Temp, Po.Density, income, 오염관련 3개 변수 (모두 Log), Non-White (제곱근 변환)
•좌로 치우침 : Education (검정결과 문제 없음), pop.house (좌로 치우침, 왼쪽 끝 부분에 봉우리가 있는 이상치, 해결방법 없음)
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page5 18
Linear Model Spring 2015 다중회귀모형
Mortality
10 60 40 70 9.0 0 30 2.8 0 600 0 250
800
1060 JanTemp
JulyTemp
6585
4070 RelHum
Rain
1060
9.0
Education
PopDensity
2000
030 NonWhite
WC
3560
2.8
pop.house
income
25000
0600
HCPot
NOxPot
0300
800
0250
65 85 10 60 2000 35 60 25000 0 300
S02Pot
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page6 18
Linear Model Spring 2015 다중회귀모형
ds2=cbind(ds,log(JulyTemp),log(PopDensity),sqrt(NonWhite),log(income),log(HCPot),log(NOxPot),log(S02Pot)) #정규변환 변수 첨가 ds2=ds2[c(-4,-8,-9,-12,-13,-14,-15)] #불필요 변수 제거
library(Hmisc) rcorr(as.matrix(ds2[2:15]),type="spearman") #상관계수 행렬
attach(ds2) names(ds2)
library(car) scatterplotMatrix(~Mortality+JanTemp+log(JulyTemp)+RelHum+Rain+Education+log(PopDensity)+sqrt(NonWhite)+WC+pop.house+log(income)+log(HCPot)+log(NOxPot)+log(S02Pot)) #산점도 행렬, 정규성그림
library(Hmisc) fit=lm(Mortality~JanTemp+log(JulyTemp)+RelHum+Rain+Education+log(PopDensity)+sqrt(NonWhite)+WC+pop.house+log(income)+log(HCPot)+log(NOxPot)+log(S02Pot))
library(car) crPlots(fit) #성분-잔차 그래프 - 선형성
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page7 18
Linear Model Spring 2015 다중회귀모형
1) “종속변수” 독립적으로 영향을 미치는 설명변수 사전 진단 - 개별적으로 영향을 미치는 변수는 최종 다중모형에도 삽입 가능성 높음. - Rain, Education, WC, log(July_temp), pop.house, log(Pop.Density), sqrt(NW), log(income), log(공해변수 3개 모두)
2) 설명변수 간 상관관계가 높아 발생하는 다중공선성 문제 사전 진단 - july_temp -> Rel.Hum, Education, log(Jan,temp), sqrt(NW), log(income), log(환경변수 3개) 상관관계가 높으므로 최종 모형에 7월기온이 열거된 설명변수들과 함께 있다면 상관관계가 높아 발생하는 다중공선성 문제 진단 필수
Mortality
10 60 40 70 9.0 1 4 2.8 0 4 0 4
800
1060 JanTemp
log.JulyTemp.
4.15
4070 RelHum
Rain
1060
9.0
Education
log.PopDensity.
7.5
14
sqrt.NonWhite.
WC
3560
2.8
pop.house
log.income.
10.2
04
log.HCPot.
log.NOxPot.
04
800
04
4.15 10 60 7.5 35 60 10.2 0 4
log.S02Pot.
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page8 18
Linear Model Spring 2015 다중회귀모형
10 20 30 40 50 60
-100
-50
050
100
JanTemp
Component+Residual(Mortality)
4.15 4.25 4.35 4.45
-60
-20
2060
log(JulyTemp)
Component+Residual(Mortality)
40 50 60 70
-50
050
RelHum
Component+Residual(Mortality)
10 20 30 40 50 60
-50
050
100
Rain
Component+Residual(Mortality)
9.0 10.0 11.0 12.0
-50
050
100
Education
Component+Residual(Mortality)
7.5 8.0 8.5 9.0
-50
050
log(PopDensity)
Component+Residual(Mortality)
1 2 3 4 5 6
-100
050
150
sqrt(NonWhite)
Component+Residual(Mortality)
35 40 45 50 55 60
-50
050
WC
Component+Residual(Mortality)
2.8 3.0 3.2 3.4
-50
050
pop.house
Component+Residual(Mortality)
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page9 18
Linear Model Spring 2015 다중회귀모형
4) IN SAS
포
PROC IMPORT DATAFILE="C:\₩DATA\₩SMSA.CSV" OUT=SMSA DBMS=CSV; GETNAMES=YES; RUN; /*CSV 데이터 SAS 데이터 만들기 */
PROC UNIVARIATE DATA=SMSA NORMAL; VAR MORTALITY JanTemp JulyTemp RelHum Rain Education PopDensity NonWhite WC pop_house income HCPot NOxPot S02Pot; RUN; /*정규성 검정 */
PROC SGSCATTER DATA=SMSA; MATRIX MORTALITY JanTemp JulyTemp RelHum Rain Education PopDensity NonWhite WC pop_house income HCPot NOxPot S02Pot /DIAGONAL=(HISTOGRAM KERNEL); RUN; /*산점도 행렬 WITH 히스토그램 & KERNEL 분포
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page10 18
MORTALITY
JAN_TEMP
Linear Model Spring 2015 다중회귀모형
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page11 18
Linear Model Spring 2015 다중회귀모형
•“종속변수” 독립적으로 영향을 미치는 설명변수 사전 진단 - 개별적으로 영향을 미치는 변수는 최종 다중모형에도 삽입 가능성 높음. - Log(July_temp), Rain, Education, WC, pop.house, log(Pop.Density), sqrt(NW), log(income), log(공해변수 3개 모두)
•설명변수 간 상관관계가 높아 발생하는 다중공선성 문제 사전 진단 - july_temp -> Rel.Hum, Education, log(Jan,temp), sqrt(NW), log(income), log(환경변수 3개) 상관관계가 높으므로 최종 모형에 7월기온이 열거된 설명변수들과 함께 있다면 상관관계가 높아 발생하는 다중공선성 문제 진단 필수
DATA SMSA0; /*정규변환 */ SET SMSA; LJT=LOG(JULYTEMP); LPD=LOG(PopDensity); SNW=SQRT(NonWhite); LIN=LOG(INCOME); LHC=LOG(HCPot); LNO=LOG(NOxPot); LS0=LOG(S02Pot); RUN;
PROC CORR DATA=SMSA0 nosimple; VAR MORTALITY JanTemp LJT RelHum Rain Education LPD SNW WC pop_house LIN LHC LNO LS0; RUN; /*상관계수 행렬 구하기 */
PROC SGSCATTER DATA=SMSA0; MATRIX MORTALITY JanTemp LJT RelHum Rain Education LPD SNW WC pop_house LIN LHC LNO LS0; /DIAGONAL=(HISTOGRAM KERNEL); RUN; /*산점도 행렬 WITH 히스토그램 & KERNEL 분포
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page12 18
Linear Model Spring 2015 다중회귀모형
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page13 18
Linear Model Spring 2015 다중회귀모형
회귀계수 OLS 추정http://wolfpack.hnu.ac.kr/2015_Spring/LM/LM_matrix.pdf
•다중회귀모형 : ,
->
•OLS 추정치 : 오차항의 제곱합( )을 최소화 하는 추정치
•행렬 표시 :
• =>
•정리하면 => 만약 의 역행렬이 존재하면 (<=> full rank 이면 <=> X
들이 상관계수가 서로 0이 아니면 => OLS 추정치
•Hat 행렬 : - 멱등행렬 (Idempotent)
•종속변수 적합치 :
오차 추정치
Gauss Markov Theorem
��� 는 BLUE(Best Linear Unbiased Estimator)이고 ��� 이고
��� 이다. 의 추정치는 ��� 이다.
yi = β0 + β1xi1 + β2xi2 + ...+ β pxip + ei
y1y2!yn
⎛
⎝
⎜⎜⎜⎜
⎞
⎠
⎟⎟⎟⎟
=
1 x11 " x1p1 x21 " x21! ! ! !1 xn1 " xnp
⎛
⎝
⎜⎜⎜⎜⎜
⎞
⎠
⎟⎟⎟⎟⎟
β0β1!β p
⎛
⎝
⎜⎜⎜⎜
⎞
⎠
⎟⎟⎟⎟
+
e1e2!en
⎛
⎝
⎜⎜⎜⎜
⎞
⎠
⎟⎟⎟⎟
y = Xβ + e
∑=
n
iie
p 1
2,.., 10
minβββ
)()(minminmin1
2,...,, 21
βββββββα
XYXYeeen
ii
p−$−=$=∑
=
minβ Q = (y 'y − β 'X 'y − y 'Xβ + β 'X 'Xβ ) ∂Q
∂β= −X 'y − X 'y + 2(X 'X)β = 0
(X 'X)β = X 'y (X 'X)
β = (X 'X)−1X 'y
H = X(X 'X)−1X '
y = X β = X(X 'X)−1X 'y = H y
e
e = y − y = (I − H )y
yXXX !!= −1)(β ββ =)ˆ(E
12 )()ˆ( −"= XXV σβ )ˆ(βV 12 )()ˆ( −"= XXMSEs β
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page14 18
Linear Model Spring 2015 다중회귀모형
In R
ds3=ds2[-21,] #결측치 있는 Fort Worth, TX 삭제 attach(ds3) fit=lm(Mortality~JanTemp+log(JulyTemp)+RelHum+Rain+Education+log(PopDensity)+sqrt(NonWhite)+WC+pop.house+log(income)+log(HCPot)+log(NOxPot)+log(S02Pot)) summary(fit)
y=as.matrix(ds3[,2]) #종속변수 n=length(y) #데이터 개수 one= as.matrix(rep(1,n)) #nX1 열벡터 X=as.matrix(cbind(one,ds3[,3:15])) #데이터 (nX(p+1)) 행렬 p=dim(X)[2]-1 #dim() - 행렬 차수 [1]-행, [2]-열 차수 bhat=solve(t(X)%*%X)%*%t(X)%*%y #OLS 추정치
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page15 18
Linear Model Spring 2015 다중회귀모형
분산분석
총변동( ), 오차변동( ), 회귀변동( ) 행렬 표시
오차의 분산 MVUE 추정치 (증명 생략)
∑ −= 2)( yySST i ∑ −= 2)ˆ( ii yySSE ∑ −= 2)ˆ( yySSR i
변동(source) SS(자승합) 자유도MS
(평균자승합)F-검정
Regression
(모형)p
Error (오차) n-p-1
Total (총 변동) n-1
2−=nSSEMSE
yJ
nIySST ])1([ −"=
pSSRMSR =
)1,(~ −
=
npFMSEMSRF
yHIySSE ][ −"=
결정계수: SSTSSRR =2
yJ
nHySSR ])1([ −"=
H=X%*%solve(t(X)%*%X)%*%t(X) #Hat 행렬 SSR=t(y)%*%(H-one%*%t(one)/n)%*%y; MSR=SSR/p SSE=t(y)%*%(diag(n)-H)%*%y ; MSE=SSE/(n-p-1) SST=t(y)%*%(diag(n)-one%*%t(one)/n)%*%y F=MSR/MSE # F-통계량 R2=SSR/SST #결정계수 aR2=1-(SSE/(n-p-1))/(SST/(n-1)) #수정된 결정계수
σ 2 = MSE
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page16 18
Linear Model Spring 2015 다중회귀모형
F-검정
다중회귀모형에서 F-검정은 다음 귀무가설을 검정한다.
○귀무가설 ��� (모든 설명 변수는 유의하지 않다)
○대립가설 ��� (유의한 설명 변수가 적어도 하나는 있다.)
그러므로 F-검정 결과 귀무가설이 기각되면 유의한 설명 변수가 하나 이상 있다는 것이므로 각 설명 변수에 대한 유의성을 t-검정을 이용하여 알아 보면 된다.
결정계수(coefficient of multiple determination)
•결정 계수 : -(장점) 모형의 설명력을 하나의 통계량으로 측정 - 80% 이상이면 종속변수의 변동을 충분히 설명하는 회귀모형 (단점) 어떠한 설명 변수를(비록 유의하지 않더라도) 추가하더라도(SST는 일정하므로) 항상 증가
•이를 보완하기 위하여 수정된(adjusted) 결정 계수 - 항상 증가하는 문제는 해결할 수 있으나 결정계수 분포를 알 수 없으므로(단순회귀의 경우 결정계수의 제곱근은 상관계수와 동일하므로 상관계수 유의성 검정에 의해 유의성 판단이 가능하다.) 설명 변수의 유의성을 판단하는 검정 통계량으로 사용되지 않는다.
회귀모형에 대한 t-검정
1) OLS 의 분포 : 확률변수 의 선형결합이므로 정규분포
2) (불편 추정량)
3)
4) -> 이므로 OLS 추정치 분산
5) (증명 : http://wolfpack.hnu.ac.kr/2015_Spring/LM/LM_matrix.pdf 페이지 16참고)
•귀무가설 (개별 설명변수 는 유의하지 않다)
•대립가설 (설명변수 는 모형 내에서 유의하다)
•검정통계량 :
0...: 210 ==== pH βββ
0 : ≠ia allH β
SSTSSE
SSTSSRR −== 12
)1/()1/(12
−
−−−=
nSSTpnSSERa
β = (X 'X)−1X 'y y ~ MN(Xβ,σ 2In )
E(β ) = E((X 'X)−1X 'y) = (X 'X)−1X 'E(y) = (X 'X)−1X 'Xβ = β
V (β ) =V (X 'X)−1X 'y) = ((X 'X)−1X ')V (y)((X 'X)−1X ')'
= ((X 'X)−1X ')σ 2In ((X 'X)−1X ')' =σ 2 (X 'X)−1
σ 2 = MSE V (β ) = s2 (β ) = MSE(X 'X)−1
H0 :βk = 0 Xk
Ha :βk ≠ 0 Xk
TS = βk − βk (= 0)s(βk )
~ t(n − p −1)
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page17 18
Linear Model Spring 2015 다중회귀모형
추정오차 t-통계량
4) IN SAS
se=sqrt(MSE*data.frame(as.matrix(diag(solve(crossprod(X)))))) #추정오차 ts=round(bhat/se,3) #검정통계량
PROC REG DATA=SMSA0; MODEL MORTALITY=JanTemp LJT RelHum Rain Education LPD SNW WC pop_house LIN LHC LNO LS0; RUN;
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr
/ Page18 18
Top Related