ds 70, ds 150, ds 290, ds 460, ds 660 hidrolik dümen silindiri montaj ...
ds=read.csv(SMSA.csv) GETNAMES=YES;...
Transcript of ds=read.csv(SMSA.csv) GETNAMES=YES;...
Linear Model Spring 2015 단순회귀예제
예제 데이터
💾 SMSA.csv : 종속변수 Mortality, 설명변수 Nonwhite 비백인 비율
순서1) 데이터 준비
(진단내용 및 도구)
•종속변수, 설명변수 히스토그램 : 종모양 분포 검증, 봉우리가 2개 인 경우는 서로 다른 집단이 있다는 것을 의미하므로
•정규성 검정 - SW W-통계량, AD-통계량, KS-통계량
(문제 해결)
•(치우침 심함) - 정규변환, power transformation 기반
SAS R
PROC IMPORT DATAFILE="C:\₩DATA\₩SMSA.CSV" OUT=SMSA DBMS=CSV; GETNAMES=YES; RUN;
ds=read.csv("SMSA.csv") attach(ds)
Y * =
Y 3, leftY 2, mild left
Y , mild rightln(Y ), right
1/Y , severe right
⎛
⎝
⎜⎜⎜⎜⎜⎜⎜
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page1 11
Linear Model Spring 2015 단순회귀예제
SAS R
PROC UNIVARIATE DATA=SMSA NORMAL PLOT; VAR MORTALITY NONWHITE; RUN;
library(car) scatterplotMatrix(~Mortality+NonWhite, main="Scatter Plot") library(nortest) ad.test(Mortality) ad.test(NonWhite)
Mortality 정규분포 OK, 비백인 비율 우로 치우침 => 해결 (제곱근, 로그 변환)
=
=
=
=
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page2 11
Linear Model Spring 2015 단순회귀예제
순서2) 산점도 그리기
(진단내용 및 도구)
•종속변수와 설명변수 함수관계
•이상치 & 영향치 존재 여부 사전 진단
(문제 해결)
•선형 관계가 아니면 선형변환
SAS R
DATA SMSA0; SET SMSA; S_NW=SQRT(NONWHITE); RUN;
ad.test(sqrt(NonWhite)) ad.test(log(NonWhite))
R 실행결과 제곱근 변환이 더 적절 (ad-통계량의 유의확률이 높음=변환 데이터가 더 정규분표에 가까움)하여 SAS에서는 PROC UNIVARIATE 재실시하지 않았음.
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page3 11
Linear Model Spring 2015 단순회귀예제
SAS R
PROC REG DATA=SMSA; MODEL MORTALITY=NONWHITE; RUN;
plot(sqrt(NonWhite),Mortality, main="Scatterplot") #산점도 abline(lm(Mortality~sqrt(NonWhite))) #적합선 fit=lm(Mortality~sqrt(NonWhite)) # 회귀추정 library(car) crPlots(fit) #Compent + Res. vs. X
=
종속변수와 설명변수 산점도 : 직선의 경향을 보임
성분+잔차 산점도 : 직선의 경향을 보이고있으나 설명변수가 작은 값에서는 이상치 존재로 인하여, 변동에 의함
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page4 11
Linear Model Spring 2015 단순회귀예제
순서3) 잔차 진단
(목적) 오차항의 가정(정규성, 등분산성, 독립성)과 모형의 선형성 파괴 진단
(모형 선형성 Linearity)
(진단 도구 및 방법)
(1) 원변수 산점도 : 직선함수 관계 이외 관계 보임
(2) (스튜던트) 잔차와 적합치 산점도 -
(3) 성분+잔차 산점도 : 적합 직선 회귀식과 추정 함수식과 일치
(문제해결)
(1) 선형 변환 Linear Transformation
SAS R
이전 프로그램에 의해 출력됨 summary(fit) #추정 결과 출력
NonWhite 설명변수의 유의확률이 <0.0001이므로 유의, 비백인 비율이 높을수록 사망지수는 높아짐 (회귀계수 4.4로 양이므로) 모형 설명력은 41.4% - 사망지수에 대한 설명력을 높이는 것이 목적이면 추가 설명변수가 필요하거나 이상치 진단 및 해결이 필요
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page5 11
Linear Model Spring 2015 단순회귀예제
변환 없음 제곱근 변환 EXP 변환 1/Y 변환 제곱항 삽입
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page6 11
Linear Model Spring 2015 단순회귀예제
(오차 등분산성)
(진단 도구 및 방법)
(1) 원변수 산점도 : 산점도 Fan 모양
(2) (스튜던트) 잔차와 적합치 산점도 - Fan 모양
(3) 성분+잔차 산점도 : Fan 모양으로 벗어남
(문제해결)
(1) 설명변수로 모형 나누기
(2) WLS 가중치 최소자승법법 사용
(오차 정규성)
(진단 도구 및 방법)
(1) 잔차의 정규성 검정
(문제해결)
(1) 오차항이 정규뷴포를 따르지 않으므로 종속변수 정규변환 필요
(2) 원 변수에 대한 정규성 검정 사전 실시하고 분석 시작하므로 문제가 되지 않음
(오차 독립성)
(진단 도구 및 방법)
(1) 잔차의 자기상관 Durbin-Watson 통계량
(문제해결)
(1) 종속변수 전기 항( ) 설명변수에 삽입
(2) 시계열 데이터만 검정
yt−1
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page7 11
Linear Model Spring 2015 단순회귀예제
SAS R
PROC REG DATA=SMSA; MODEL MORTALITY=NONWHITE; OUTPUT OUT=OUT2 RSTUDENT=RT; RUN; PROC UNIVARIATE DATA=OUT2 NORMAL; VAR RT; RUN;
library(MASS) s_res=studres(fit) #스튜던트 잔차 plot(fit$fitted,s_res,main="Residual Scatter") #잔차 산점도 abline(0,0) #적합선 ad.test(s_res) #정규성 검정 ncvTest(fit) #등분산성 검정 durbinWatson(fit) #독립성검정
1) 잔차 산점도 no pattern - 선형성 오케이 2) 등분산성 패스 3) 정규성 패스 4) 시계열 데이터가 아니므로 독립성 진단 필요 없음
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page8 11
Linear Model Spring 2015 단순회귀예제
순서4) 이상치 영향치 진단
(목적) 오차항의 가정(정규성, 등분산성, 독립성)과 모형의 선형성 파괴 진단
(진단 도구 및 방법)
(1) 스튜턴트 잔차 이상
(2) 레버러지 이상
(문제해결)
(1) 이상치 제거
(2) 영향치 : 주변 값 데이터 수집, 영양치 이유 분석
±2
h = (p +1) / n = 2 / 60 = 0.33
SAS R
PROC REG DATA=SMSA; MODEL MORTALITY=NONWHITE/R INFLUENCE; RUN;
influencePlot(fit,main="Outliers") #이상치_영향치 진단 studres(fit) #스튜던트 잔차 hatvalues(fit) #레버러지
영향치 : 4개 (2개는 매우 극단) 이상치 : 4개 1개는 극단단
R 출력결과 6번 영향치 37번 이상치, 영향치 49번 이상치
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page9 11
Linear Model Spring 2015 단순회귀예제
순서5) 모형 최종 결론
진단된 이상치를 제외하여 최종 모형을 얻는다.
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page10 11
SAS 결과의 RStudent (스튜던트 잔차) Hat (레버러지) 값을 활용하면 됨
이상치 2,16, 56, 46(*) 제거 다시 (32, 37) 제외 -> (5, 47 제외) 영향치가 2개 존재 *)
Linear Model Spring 2015 단순회귀예제
SAS R
PROC REG DATA=SMSA; MODEL MORTALITY=NONWHITE/R INFLUENCE; REWEIGHT OBS.=2; REWEIGHT OBS.=16; REWEIGHT OBS.=49; REWEIGHT OBS.=56; REWEIGHT OBS.=32; REWEIGHT OBS.=37; REWEIGHT OBS.=5; REWEIGHT OBS.=47; RUN;
ds1=ds[-56,];ds2=ds1[-49,];ds3=ds2[-47,];ds4=ds3[-37,] ds5=ds4[-32,];ds6=ds5[-16,];ds7=ds6[-5,];ds8=ds7[-2,] #이상치 제거 ds9=ds8[-2,] #다시 제거하였음 attach(ds9) fit0=lm(Mortality~sqrt(NonWhite)) #추정 summary(fit0) influencePlot(fit0,main="Outliers") #이상치
(R기준, 이상치 하나 더 제거) 최종적합모형 :
비백인 비율이 높아지면 사망률지수가 높아짐 - 백인의 경우 소득이 높고 안전한 생활을 추구하므로 사망률 지수가 낮아지게 된다. 결정계수가 50%로 낮으므로 사망률 지수 변동을 80% 이상 설명하는 모형을 찾는 것이 목적이라면 추가 설명변수 탘색이 필요함
M = 851.3+ 28.6 * NW (R2 = 50%) (t = 6.93, p < 0.001)
한남대학교 권세혁교수 http://wolfpack.hnu.ac.kr / Page11 11