모델 > 수치적 진단 > Durbin-Watson 자기상관 검정...

Models > Numerical dignostics > Durbin-Watson test for autocorrelation...

Linux 사례 (MX 21)

데이터셋을 활성화시키고, 분석 모형을 만들었다면, '모델 > 수치적 진단 > Durbin-Watson 자기상관 검정...' 메뉴 기능을 사용할 수 있다. carData 패키지의 Prestige 데이터셋을 이용하여 연습해보자.

 

먼저, Prestige 데이터셋을 활성화 시키자. '데이터 > 패키지에 있는 데이터 >

첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 선택하고, 다음 화면에서 carData 패키지에 포함된 데이터셋들 중에서 Prestige를 찾아서 선택한다. 그러면, R Commander 상단의 <활성 데이터셋 없음> 버튼이 'Prestige'로 바뀐다.

 

Prestige 데이터셋을 이용하여 LinearModel.1 모형을 만든다. '통계 > 적합성 모델 > 선형 모델...' 메뉴 기능을 이용할 수 있다. 

LinearModel.1 <- lm(prestige ~ education + log(income), data=Prestige)
summary(LinearModel.1)

LinearModel.1 모형이 활성화된 이후, '모델 > 수치적 진단 > Durbin-Watson 자기상관 검정...' 메뉴 기능을 선택하면 아래와 같은 하위 화면이 등장한다. 메뉴 창 오른쪽 끝 아래에 있는 예(OK) 버튼을 누른다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)


?dwtest  # Durbin Watson 검정 도움말 보기

'Models > Numerical diagnostics' 카테고리의 다른 글

4. RESET test for nonlinearity...  (0) 2022.06.20
6. Response transformation...  (0) 2022.06.20
5. Bonferroni outlier test  (0) 2022.06.18
1. Variance-inflation factors  (0) 2022.06.14

모델 > 수치적 진단 > 비선형성에 대한 RESET 검정...

Models > Numerical diagnostics > RESET test for nonlinearity...

Linux 사례 (MX 21)

데이터셋 하나를 만들어보자. x, y1, y2라는 변수를 가진 rawData라는 데이터셋이다.

x <- c(1:30)
y1 <- 1 + x + x^2 + rnorm(30)
y2 <- 1 + x + rnorm(30)
rawData <- as.data.frame(cbind(x, y1, y2))

rawData 데이터셋을 활성화시키자. <활성 데이터셋 없음>을 누르면 활성데이터셋 후보에 rawData가 있을 것이다. 두개의 단순 회귀 모형을 만든다.

RegModel.1 <- lm(y1 ~ x, data=rawData)
summary(RegModel.1)
RegModel.2 <- lm(y2 ~ x, data=rawData)
summary(RegModel.2)

'모델 > 수치적 진단 > 비선형성에 대한 RESET 검정...'을 RegModel.1, RegModel.2에 각각 시행한다. RESET 검정의 하위 메뉴 창이 등장한다. 기본 설정을 그대로 사용하고, 예(OK) 버튼을 누른다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)

RESET은 Regression Equation Specification Error Test의 약자이다.

RegModel.1과 RegModel.2의 분포적 특징을 산점도를 활용하여 먼저 시각적으로 살펴보자.

Linux 사례 (MX 21)
Linux 사례 (MX 21)

첫째 그래프인 plot(y1, x)의  점들의 분포는 선형이라는 보다는 이차방정식적(quadratic)으로 보인다. 그렇다면, lm(y1 ~ x)라는 선형 회귀 모형을 lm(y1 ~ x + I(x^2))라는 이차방정식적 회귀 모형으로 변화시켜 만들어볼 수 있지 않을까?

RegModel.1_1 <- lm(y1 ~ x + I(x^2), data=rawData)
summary(RegModel.1_1)

Linux 사례 (MX 21)

RegModel.1_1이 RegModel.1보다 모형의 설명력이 높다고 할 수 있다.

'Models > Numerical diagnostics' 카테고리의 다른 글

3. Durbin-Watson test for autocorrelation...  (0) 2022.06.21
6. Response transformation...  (0) 2022.06.20
5. Bonferroni outlier test  (0) 2022.06.18
1. Variance-inflation factors  (0) 2022.06.14

모델 > 수치적 진단 > 변환 반응하기...

Models > Numerical diagnostics > Response transformation...

Linux 사례 (MX 21)

어느 데이터셋이 활성화되고, 그 데이터셋을 활용한 분석 모형이 만들어지면, '모델 > 수치적 진단 > 변환 반응하기...' 메뉴 창이 활성화된다.

 

carData 패키지의 Prestige 데이터셋을 이용하여 연습해보자. 먼저 Prestige 데이터셋을 활성화시킨다. '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 통하여 carData 패키지에서 Prestige 데이터셋을 찾아서 선택한다. 다음, Prestige 데이터셋을 활용하여 선형 모델을 만든다. '통계 > 적합성 모델 > 선형 모델...' 메뉴 기능을 선택하여 모형을 만든다.

data(Prestige, package="carData")
LinearModel.1 <- lm(prestige ~ education + income, data=Prestige)
summary(LinearModel.1)

'모델 > 수치적 진단> 변환 반응하기...'메뉴 기능을 선택하면, 다음과 같은 하위 메뉴창이 등장한다. 기본 설정을 이용하자. 예(OK) 버튼을 누른다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)

 


선형 모델을 구성하는 어느 설명변수 또는 설명변수들의 정규성을 향한 변환 기법은 '통계 > 요약 > 정규성을 향해서 변환시키기...' 메뉴 기능을 통해서 연습할 수 있다. 

https://rcmdr.tistory.com/198

 

9. Transform toward normality...

통계 > 요약 > 정규성을 향해서 변환시키기... Statistics > Summaries > Transform toward normaltiy... 어느 데이터셋을 활성화시키면, '통계 > 요약 > 정규성을 향해서 변환시키기...' 메뉴 기능이 아래와 같이..

rcmdr.kr

한편, 위에 있는 선형 모델, LinearModel.1의 반응변수의 변환 값은 1.2017(Est Power)이다. 이 값을 이용하여 모형을 보다 최적화하는 방법은 아래와 같다.

LM.1_pT <- powerTransform(LinearModel.1, family="bcPower")
LinearModel.1_pT <- lm(bcPower(prestige, LM.1_pT$roundlam) ~ education + income, data=Prestige)
summary(LinearModel.1_pT)   #LinearModel.1의 변환 모형 요약 정보
summary(LinearModel.1)      #LinearModel.1의 요약 정보

bcPower(Prestige$prestige, LM.1_pT$roundlam)  # 변환된 prestige 변수 사례 값
Prestige$prestige                             # 원래의 prestige 변수 사례 값

'Models > Numerical diagnostics' 카테고리의 다른 글

3. Durbin-Watson test for autocorrelation...  (0) 2022.06.21
4. RESET test for nonlinearity...  (0) 2022.06.20
5. Bonferroni outlier test  (0) 2022.06.18
1. Variance-inflation factors  (0) 2022.06.14

모델 > 수치적 진단 > Bonferroni 이상치 검정

Models > Numeric diagnostics > Bonferroni outlier test

 

Linux 사례 (MX 21)

변수들의 조합으로 어느 모형을 만들었을 때, 일반적으로 그 모형은 제한된 설명력의 범위를 갖는다. '모델 > Bonferroni 이상치 검정' 기법은 어느 사례가 모형의 수리적 설명 범위 밖에 있는지를 찾는 방법이다.

 

carData 패키지에 있는 Prestige 데이터셋을 이용하여 연습해보자.

https://rcmdr.tistory.com/143

 

Prestige 데이터셋

carData > Prestige data(Prestige, package="carData") help("Prestige") Prestige {carData} R Documentation Prestige of Canadian Occupations Description The Prestige data frame has 102 rows and 6 col..

rcmdr.kr

아래와 같이 Prestige 데이터셋을 불러오고, LinearModel.1을 만들고, outlierTest를 해보자.

data(Prestige)
LinearModel.1 <- lm(prestige ~ education + income, data=Prestige)
summary(LinearModel.1)
outlierTest(LinearModel.1)

1) 먼저, '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 통하여 carData패키지에서 Prestige 데이터셋을 선택하고, 예(OK) 버튼을 누른다. Prestige 데이터셋이 활성화될 것이다.

 

2) '통계 > 적합성 모델 > 선형 모델...'메뉴 기능을 열고, 'prestige ~ education + income'의 회귀식을 입력한다. 그러면, LinearModel.1의 선형 모형 요약정보가 화면에 출력될 것이다.

 

3) '모델 > Bonferroni 이상치 검정'메뉴 기능을 선택하면, 출력물을 생산한다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)

newsboys라는 이름을 가진 사례가 LinearModel.1의 모형식으로 설명력으로 보면 이상치에 해당된다는 의미가 된다. 여러개의 모형을 추가로 만들고, 'Bonferroni 이상치 검정'을 차례로 해보자.

data(Prestige)
LinearModel.1 <- lm(prestige ~ education + income, data=Prestige)
summary(LinearModel.1)
outlierTest(LinearModel.1)
LinearModel.2 <- lm(prestige ~ education + income + education:income, data=Prestige)
LinearModel.3 <- lm(prestige ~ education + log(income), data=Prestige)
LinearModel.4 <- lm(prestige ~ education + income + type, data=Prestige)
outlierTest(LinearModel.1)
outlierTest(LinearModel.2)
outlierTest(LinearModel.3)
outlierTest(LinearModel.4)

LinearModel.2, LinearModel.3, LinearModel4 등을 위와 같이 만들었을때, 어떤 이상치가 발견될까.

Linux 사례 (MX 21)

LinearModel.2와 LinearModel.3는 farmers를, LinearModel.4는 medical.technicians를 이상치로 발견한다.

'Models > Numerical diagnostics' 카테고리의 다른 글

3. Durbin-Watson test for autocorrelation...  (0) 2022.06.21
4. RESET test for nonlinearity...  (0) 2022.06.20
6. Response transformation...  (0) 2022.06.20
1. Variance-inflation factors  (0) 2022.06.14

모델 > 수치적 진단 > 분산-팽창 요인

Models > Numerical diagnostics > Variance-inflation factors

Linux 사례 (MX 21)

선형모델에서 유의미한 설명변수들을 찾고 선택하는 것과 관련된 여러 기법이 있다. 아울러 설명변수들 사이의 관계, 서로에 대한 영향력의 크기에 대한 문제의식도 있다. 예를 들어, 데이터셋에 있는 여러개의 변수들 중에서 세개의 변수를 설명변수라고 선택을 했는데, 하나의 설명변수가 나머지에 큰 영향을 미치거나 또는 다른말로 변수들끼리의 연동성의 커서 독립된 설명변수들로 보기 어려운 경우가 발생할 수도 있다. 이 때 설명변수들의 독립성에 관한 점검 기법으로 '분산-팽창 요인(variance-inflation factor)'이 사용된다.

require(car)
?vif           # vif 함수는 car 패키지에 포함되어 있다.

carData 패키지에 있는 Duncan 데이터셋으로 연습해보자.

https://rcmdr.tistory.com/189

 

Duncan 데이터셋

data(Duncan, package="carData") R Commander의 상단에 있는 '데이터셋 보기' 버튼을 누르면, 아래와 같이 데이터셋 내부를 볼 수 있다. ?Duncan # Duncan 데이터셋 도움말 보기 Duncan {carData} R Documentat..

rcmdr.kr

아래와 같은 스크립트의 흐름이다.

data(Duncan, package="carData")
summary(Duncan)

LinearModel.1 <- lm(prestige ~ education + income, data=Duncan)
summary(LinearModel.1)
LinearModel.2 <- lm(prestige ~ education + income + type, data=Duncan)
summary(LinearModel.2)
vif(LinearModel.1)    # LinearModel.1의 분산팽창요인
round(cov2cor(vcov(LinearModel.1)), 3) # Correlations of parameter estimates
vif(LinearModel.2)    # LinearModel.2의 분산팽창요인
round(cov2cor(vcov(LinearModel.2)), 3) # Correlations of parameter estimates

'통계 > 적합성 모델 > 선형 모델...' 기능을 통하여 LinearModel.1과 LinearModel.2를 만든다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)

LinearModel.1과 LinearModel.2의 분산-팽창 요인(Variance-inflation factors)을 차례로 계산한다.

Linux 사례 (Mx 21)
Linux 사례 (MX 21)

LinearModel.1과 LinearModel.2의 vif() 결과는 아래와 같다. LinearModel.1과 LinearModel.2의 vif() 결과가 다른 형식을 취한 이유는 LinearModel.2에 type이라는 요인형 변수가 있기 때문이다.

Linux 사례 (MX 21)

 

'Models > Numerical diagnostics' 카테고리의 다른 글

3. Durbin-Watson test for autocorrelation...  (0) 2022.06.21
4. RESET test for nonlinearity...  (0) 2022.06.20
6. Response transformation...  (0) 2022.06.20
5. Bonferroni outlier test  (0) 2022.06.18

+ Recent posts