지금부터는 data에 대한 일반적인 얘기들이 나옵니다.
하지만 data 별로 일반적인 이론들이 적용되지 않는 경우도 많습니다.
그래서 data 분석에서는 경험이 중요하기도 합니다.
<지난 시간 복습>
1) SAS로 최소 제곱 추정량을 구한다.
2) ε_i에 대한 기본 가정 (회귀 진단, 잔차 분석)
1> 정규성
2> 등분산성
3> 독립성
=> PROC REG로 한 번에 확인 가능
3) H0 : β_1=0, H0 : β_0=0 확인 (t-검정)
1> 두 H0를 모두 기각할 수 있어야 한다.
2> H0 : β_1=0를 기각하지 못하면 기울기가 0이어서 회귀 분석의 의미가 없어진다.
3> H0 : β_0=0를 기각하지 못하면 y절편이 0이어서 noint라는 명령으로 분석을 한다.
4) 분산 분석
F_0 = MSR/MSE ~ F(1, n-2)
- H0 : β_1=0 검정과 유사
- 회귀 효과가 있는지 확인하는 것
5) 결정 계수 r 확인
r^2 = SSR/SST = 1 - SSE/SST
- r이 1에 가까울수록 회귀 직선이 점들과 거리가 가깝다.
cf> 내가 생각하는 회귀 직선과 회귀 분석에 의한 회귀 직선의 모양이 약간 다를 수 있다.
영향 관측값(outlier) 때문에
0) 예시
adver와 sales와의 관계를 보려함
sales를 adver에 대한 식으로 볼 것
2. REG 프로시저
PROC ANOVA와 유사하게 class와 model이 필요하다.
1) 문법
1> 기본 문법
- PROC MEANS data = SAS-dataset ;
2> MODEL : 독립 변수와 반응 변수(종속 변수) 지정
- MODEL 반응 변수(종속 변수) = 독립 변수;
'반응 변수(종속 변수) = 독립 변수' 꼴로 써주기 (마치 'y=x'처럼)
- 옵션문들
- CLM : (confidence limit mean) 평균값(y^_i = b_0 + b_1*X_i)의 95% 신뢰 구간을 나타냄
- CLI : 개별 관측치(y_i 각각)에 대한 95% 신뢰구간을 나타냄. (CLM을 포괄하는 옵션)
- P : 예측값을 나타냄. (각 x들에 대한 예측값 y를 알고 싶을 때)
- DW : 더빈-왓슨 검정으로 잔차들의 자기상관을 나타냄. (잔차의 독립성을 확인할 수 있다.)
cf> 더빈-왓슨 검정
0에서 4 사이의 값을 가지며
2에 가까울수록 (통상 1.8에서 2.2사이) 자기상관이 없어서 독립이라고 할 수 있고,
0에 가까울수록 양의 상관, 4에 가까울수록 음의 상관 관계가 있다고 봄
3> PLOT : 반응 변수와 독립 변수의 산점도를 그림
- PLOT 반응 변수(종속 변수) * 독립 변수 ;
'반응 변수(종속 변수) * 독립 변수' 꼴로 써주기 (기존에도 'y * x' 꼴을 썼던 것처럼)
PROC REG 안에서 사용했으므로, 추정된 회귀직선이 같이 나타남 (회귀 직선을 시각적으로 보여준다.)
- outlier에 대한 대처 (보통 표준화 잔차의 절댓값이 3 이상인 경우 outlier로 처리)
- 자료를 다시 보고 오류인지 확인
- 제거하거나 robust 회귀 분석 진행
2) 예제 1
DATA adsales;
INPUT company adver sales @@;
CARDS;
01 11 23 02 19 32 03 23 36 04 26 46 05 56 93
06 62 99 07 29 49 08 30 50 09 38 65 10 39 70
11 46 71 12 49 89
;
RUN;
PROC REG data=adsales;
model sales=adver/ p clm cli dw;
RUN;
QUIT;
1> 종속 변수, 관측한 data를 알 수 있음
2> 분산 분석 결과
- F value가 455.54로 엄청 크게 나온다.
- Pr > F 확률이 0.0001보다 작기 때문에 회귀 분석의 효과가 있다는 말이다. (β_1이 0이 아니라는 뜻)
3>
- Root MSE : σ^2의 불편 추정량
- Dependent Mean : y들의 전체 평균
- Coeff Var :
- R-Square : 1에 가깝기 때문에
- Adj R-Sq : 중회귀 분석은 변수의 갯수가 늘어남에 따라 R-square가 커질 수 있어 조정한 R-sq이다.
(해당 자료는 단순 선형 회귀 분석이라 R-square와 Adj R-Sq가 차이가 없다.)
4> Parameter Estimates (β_0, β_1에 대한 추정)
intecept (β_0), adver (β_1)
- intecept Parameter Estimates : b_0
- β_0는 t Value가 1.14이고 Pr > |t|가 0.2821이기 때문에 기각할 수 없다.
=> 그래서 β_0를 0으로 본다. (Parameter Estimates가 커도 Standard Error가 커서 t Value가 작다.)
=> 그러면 코드로 돌아가서 'MODEL sales=adver' 옆에 'noint' (no intercept) 쓰면 된다.
- adver Parameter Esitmates : b_1
- β_1는 t Value가 21.34이고 Pr > |t|가 0.0001보다 작기 때문에 기각할 수 있다.
5> DW
- Durvin-Watson D : 2.470으로 2에 가까운 편이다.
- 1st Order Autocorrelation : -0.440으로 약간 음의 상관 관계를 가진다.
6> 그림들
- (1행 1열) Residual & Predicted value
=> predicted value가 커짐에 따라 residual가 random한지 확인한다.
predicted value가 커짐에 따라 residual가 어떤 형태를 가진다면 등분산이 아니라는 얘기이다.
- (1행 2열) RSstudent & Predicted Value
위의 residuald은 크기를 가늠하기 어려우므로 표준화한 잔차 RSstudent (residual과 유사)
=> predicted value가 커짐에 따라 RSstudent가 random한지 확인한다.
predicted value가 커짐에 따라 RSstudent가 어떤 형태를 가진다면 등분산이 아니라는 얘기이다.
- (1행 3열) RSstudent & Leverage
영향 관측값 (outlier) 확인
- (2행 1열) Residual & Quantile
정규성 확인
- (2행 2열) y(Sales) & Predicted Value
(PROC REG의 마지막 graph와 동일)
- (2행 3열)
영향 관측값 (outlier) 확인
7> x와 residual의 관계
8>
X˘가 X에 가까우면 신뢰구간의 폭이 좁다.
- 95% Confidence Limits : 위의 ANOVA에서 95% CL Mean (기댓값의 신뢰 구간)
- 95% Prediction Limits : 위의 ANOVA에서 95% CL Predict (예측한 값의 신뢰 구간)
3) 예제 2 (β_0 = 0 인 귀무가설을 기각할 수 없는 경우)
noint를 사용한다.
DATA adsales;
INPUT company adver sales @@;
CARDS;
01 11 23 02 19 32 03 23 36 04 26 46 05 56 93
06 62 99 07 29 49 08 30 50 09 38 65 10 39 70
11 46 71 12 49 89
;
RUN;
PROC REG data=adsales;
model sales=adver/ p clm cli dw noint;
RUN;
QUIT;
1> 'No intercept in model. R-Square is redefined.' 라고 나와있다.
2> ANOVA 결과
Model에 대한 Mean Square가 많이 늘었다. (6695 ->50237)
3>
R-square가 재정의 되었다. (0.9785 -> 0.9967)
4> Parameter Estimates
Intercept에 대한 정보는 사라졌다. (no intercept라고 지정했기 때문이다.)
5> Durbin-Watson D (2.470 -> 2.435)
대체적으로 모든 지수가 좋아진다.
6>
신뢰구간도 눈에 띄게 줄었다.
4) 예제 3
모양이 마음에 안 드는 경우 약간의 변형을 가해서 선형 회귀 분석을 할 수도 있다.
Z = sqrt(Y) (그 외에도 ln이나 exp 등등)
DATA A;
INPUT X Y @@;
Z=sqrt(Y);
CARDS;
20 16.3 20 26.7 30 39.2 30 63.3 30 51.3 40
98.4 40 65.7 50 104.1 50 155.6 60 217.2
;
RUN;
PROC REG data=A;
model y=z / dw; /*사실 z=x로 해야함*/
model y=x / dw;
RUN;
1> F Value보다 클 확률이 0.0001보다 작기 때문에 'H0 : β_1=0'이라는 귀무가설을 기각할 수 있다.
2> R-square와 Adj R-sq가 높기 때문에 설명력이 높다.
3>
Intercept(β_0)의 Estimates가 양측 확률이 0.0001로 유의 수준 1%로도 'H0 : β_-=0' 귀무 가설을 기각할 수 있다.
Z(β_1)의 Estimates가 양측 확률이 0.0001보다 작아서 유의 수준 1%로도 'H0 : β_-=0' 귀무 가설을 기각할 수 있다.
4> Durbin-Watson D
- 0.659이면 2보다 작으므로 양의 상관관계를 가진다.
5>
(1행 1열, 2열)등분산성을 만족하지 못하고 있다.
(2행 1열) 정규성을 가지지 못한다.
5) 예제 4 (예제 3에서 y=x의 관계)
1>
R-square는 이전보다 떨어졌다.
2>
DW가 이전보다 낫다.
3>
(1행 1열, 2열) 등분산성이 아까보다 더 많다.
(2행 1열) 정규성이 아까보다 낫다.
6) 예제 5
만약에 회귀 분석에 의해 x에 대한 predicted value를 알고 싶은 경우
data 만들 때 x는 적고 y 부분은 '.'으로 표기한다.
'SAS' 카테고리의 다른 글
[통계 개념] 11-1강 - 단순 선형 회귀 분석 (1) | 2020.06.08 |
---|---|
10-3강 - 이원배치법 (0) | 2020.06.08 |
10-2강 - 일원배치법 실습 (0) | 2020.06.08 |
10-1강 - 일원 배치법 (0) | 2020.06.08 |
9-1강 - 범주형 자료의 분석 (0) | 2020.06.08 |