[통계] 가중치를 활용한 회귀분석(WLS, Weighted Least Square, 가중최소제곱법)

반응형

※ 자료가 등분산성을 충족하지 못할 때, 즉 이분산일 때에는 OLS(최소제곱법)이 아니라 WLS 방식으로 보정하여 분석을 해야한다.

 

- 종속변수 : Y

- 독립변수: X1, X2, X3

- 가중치(weights) = 1/σ^2

 

SPSS를 활용해서 가중치를 구하고, 이를 통해 WLS의 방식으로 회귀분석 하는 방법

 

① 분석>회귀분석>선형
- 종속변수: Y
- 독립변수: X1, X2, X3
- 저장 > 예측값 > 비표준화 체크 # 예측값을 새 변수(PRE_1)수로 저장
- 저장 > 잔차 > 비표준화 체크 # 잔차를 새 변수(RES_1)수로 저장

② 변환>변수 계산
- 목표변수: absRES # 잔차의 절대값을 absRES로 생성
- 숫자표현식: abs(RES_1)

③ 분석>회귀분석>선형 # 잔차의 절대값과 예측치 간의 회귀분석
- 종속변수: absRES
- 독립변수: PRE_1
- 저장 > 예측값 > 비표준화 체크 # 예측값을 새 변수(PRE_2)수로 저장

④ 변환>변수 계산 # 가중치 계산
- 목표변수: weights # 가중치를 weights 변수로 생성
- 숫자표현식: 1/(PRE_2**2) # 1을 PRE_2의 제곱으로 나눔

⑤  분석>회귀분석>가중추정
- 종속변수: Y
- 독립변수: X1, X2, X3
- 가중변수: weights

 

--------------------------------------

 

R을 활용하는 방법: 가중치(weights) 구하는 두가지 계산식

 

① model <- lm(Y ~ X1+X2+X3, data="데이터") # 회귀분석 실시

 

 weights <- 1/fitted(lm(abs(residuals(model)) ~ fitted(model)))^2 # 가중치구하는 방법 첫번째
② weights <- 1/lm(abs(model$residuals) ~ model$fitted.values)$fitted.values^2 # 가중치 구하는 방법 두번째

- 둘중 어느 방법을 사용해도 결과값은 동일하다.

- residuals(model) # 회귀모델에서의 잔차 (SPSS에서 RES_1)

- fitted(model) # 회귀모델에서의 예측치 (SPSS에서 PRE_1)

- fitted(lm(abs(residuals(model)) ~ fitted(model))) # 잔차의 절대값과 예측치(PRE_1)간의 회귀모형에서의 예측치 (SPSS에서 PRE_2)

 

반응형