모델 > 가설 검정 > 두 모델 비교하기...

Models > Hypothesis test > Compare two models...

Linux 사례 (MX 21)

하나의 데이터셋을 대상으로 가장 최적의 분석모형을 찾고자 할 때, 또는 보다 정교한 설명을 위하여 만들어진 모형들을 비교하고자 할 때 사용하는 기능이다.

 

예를 들어, carData에 포함된 Prestige 데이터셋을 이용하여 연습해보자. 직업의 사회적 권위(prestige)에 영향을 미치는 두 개의 독립변수(설명변수)를 교육기간(education)과 수입(income)이라고 가정하자. 그런데 education과 income의 선형적 관계에 대한 보다 깊은 고민을 한다고 생각해보자. education과 income이 서로 독립적인 선형관계로 prestige에 영향을 줄 수도 있고, 또 education과 income이 독립적인 영향을 줄 뿐 만 아니라, 서로 상호작용을 일으키면서 prestige에 영향을 추가 할 수 도 있다고 주장할 수 있다. 이러한 문제의식에서 아래와 같은 두개의 모형을 만들고 또 이 두개의 모형 중에서 어느것이 더 정교한지를 찾는다고 생각해보자.

 

참고로 연산자 +는 설명변수들의 독립적 선형관계를, *는 독립적 선형관계와 결합적 선형관계를 함께 계산하는데 사용한다.

data(Prestige)   #Prestige 데이터셋 불러오기
LinearModel.1 <- lm(prestige ~ education + income, data=Prestige #변수들의 독립영향 점검
summary(LinearModel.1)
LinearModel.2 <- lm(prestige ~ education*income, data=Prestige)  #변수들의 독립영향 + 결합영향 점검
summary(LinearModel.2)
anova(LinearModel.1, LinearModel.2 #LinearModel.1과 LinearModel.2를 비교하기

Linux 사례 (MX 21)

LinearModel.1과 LinearModel.2라는 두 개의 모형을 만들고 두 개의 모델을 비교하는 방법이다. 모델 > 가설 검정 > 두 모델 비교하기...의 메뉴를 선택하면, 만들어 놓은 두 개의 모형을 비교하는 기능을 이용할 수 있다. 직관적으로 두개의 모형을 차례로 선택해보자. 그리고 예(OK) 버튼을 누른다.

Linux 사례 (MX 21)

R Commander 출력창에 다음과 같은 결과가 출력될 것이다. 출력 내용은 모델 1과 모델 2의 차이가 유의미하며 (Pr(>F)), 모델 2가 보다 설명력이 높다(Sum of sq > 0 또는 RSS < 0)는 뜻으로 해석할 수 있다.

'Models > Hypothesis test' 카테고리의 다른 글

1. ANOVA table...  (0) 2022.03.09

모델 > 관찰 통계를 데이터에 추가하기...

Models > Add observation statistics to data...

Linux 사례 (MX 21)

데이터셋을 활성화시킨 다음, 그 데이터셋으로 모델을 만들었다고 생각하자. 예를 들어, carData 패키지의 Prestige 데이터셋으로 선형 모델을 만들었고, 그 모델을 LinearModel.1이라고 하자.

그럼, R Commander의 화면 메뉴 기능에서 '모델 > 관찰 통계를 데이터에 추가하기...' 기능이 활성화된다. 해당 메뉴 기능을 선택하면 아래와 같은 선택 창이 등장한다. 이 통계치들은 lm() 함수를 이용하여 모델을 생성하는 과정에서 함께 연산된 값들이며, 이 값들을 Prestige 데이터셋에 추가할 것인가를 질문받게 된다.

Linux 사례 (MX 21)

R Commander 화면에서 <데이터셋 보기>를 선택하면 관찰 통계치가 추가되어 있음을 아래와 같이 알 수 있다:

Linux 사례(MX 21)

data(Prestige)         # 데이터셋 불러오기
summary(LinearModel.1) # 모델 만든후 요약정보 보기
Prestige<- within(Prestige, {
  fitted.LinearModel.1 <- fitted(LinearModel.1)
  residuals.LinearModel.1 <- residuals(LinearModel.1)
  rstudent.LinearModel.1 <- rstudent(LinearModel.1)
  hatvalues.LinearModel.1 <- hatvalues(LinearModel.1)
  cooks.distance.LinearModel.1 <- cooks.distance(LinearModel.1)
  obsNumber <- 1:nrow(Prestige) 
})

 모델 > 모델 계수 비교하기...

Models > Compare model coefficients...

Linux 사례 (MX 21)

두개 이상의 모델을 선택하고 그 안에 포함된 계수(coefficients)를 비교하는 기능이다.

 

carData 패키지에 있는 Prestige 데이터셋을 이용하여 income(연수입)과 education(교육연수)가 prestige(직업의 사회적 권위)에 미치는 영향에 대하여 분석한다고 가정하자. 최적의 모델을 찾기 위해서는 먼저 여러개의 모델을 만들어야 한다. 이 경우, 만들어진 여러개의 모델을 비교하는 과정에서 영향력이 통계적으로 지지되는 변수들을 찾고 또 그 계수에 대한 꼼꼼한 점검을 해야하는 경우가 많다.

Linux 사례 (MX 21)

compareCoefs(RegModel.1, RegModel.2)

Linux 사례 (MX 21)

모델 세개를 선택해보자.

Linux 사례 (MX 21)

compareCoefs(LinearModel.3, LinearModel.4, LinearModel.5)

Linux 사례 (MX 21)

모델의 계수를 비교하는 과정에서, 설명변수가 반응변수에 영향을 미치는가에 대한 통계적인 근거를 찾게된다. zvals, pvals, se 등의 인자에 대한 사용을 통하여 보다 정교한 비교 결과를 만들 수 있다.

compareCoefs(RegModel.1, RegModel.2, zvals=TRUE, pvals=TRUE)

Linux 사례 (MX 21)

모델 > 모델 요약하기

Models > Summarize model

Linux 요약 (MX 21)

모델을 만들고, 모델의 요약 정보를 확인할 때 일반적으로 summary() 함수를 사용한다.

carData 패키지의 Prestige 데이터셋으로 선형회귀, 선형모델을 만들었다고 하자. 이 과정에서 다음 사례와 같은 요약 정보가 생산된다:

summary(LinearModel.2)

Linux 사례(MX 21)

여러개의 모델이 있고, 특정 모델의 요약정보를 다시 확인하고자 할 때 사용하는 기능이다.

Linux 사례 (MX 21)

<계수 표준 오차의 샌드위치 추정치 사용하기>에 선택이 되어 있는 경우는 summary() 함수 대신 summarySandwich() 함수가 사용된다.

Linux 사례 (MX 21)

summarySandwich(LinearModel.2, type="hc3")

Linux 사례 (MX 21)

모델 > 활성 모델 선택하기...

Models > Select active model...

Linux 사례 (MX 21)

R Commander 상단에는 메뉴 목록이 있다. 오른쪽 끝부분에 <모델: 모델이름>이 활성화되면 데이터셋으로 분석 모델을 만들었다는 의미가 된다. 그런데, 여러개의 모델을 만들면서 다양한 각도로 분석적 통찰력을 키우는 경우가 일반적이다. R Commander에서는 분석과정에서 만들어진 여러개의 모델을 메모리에 상주시키고, 상황에 맞게 활용할 준비를 갖춘다. 아래의 명령문 프롬프트 창은 세개의 모델이 있음을 알린다. carData 패키지의 Prestige 데이터셋을 이용하여, 선형회귀, 선형모델 기법을 통하여 education(교육연수), income(연소득)이 prestige(직업의 사회적 권위)에 어떤 영향을 미치는가, 또 직업유형별로 차이가 있는가를 분석한다고 가정하자.

data(Prestige, package="carData") # prestige 데이터셋 불러오기
RegModel.1 <- lm(prestige~education+income, data=Prestige) # 선형회귀모델1
summary(RegModel.1)
LinearModel.2 <- lm(prestige ~ education + log(income), data=Prestige)# 선형모델1
summary(LinearModel.2)
LinearModel.4 <- lm(prestige ~ (education + log(income))*type, data=Prestige)# 선형모델2
summary(LinearModel.4)

<활성 모델 선택하기...>기능을 선택하면 아래와 같은 모델 목록창이 등장한다. 목록에서 하나를 선택한다.

Linux 사례 (MX 21)

 

모델 > 그래프 > 효과 그림...

Models > Graphs > Effect plots...

Linux 사례 (MX 21)

'모델 > 그래프 > 효과 그림...' 기능은 미리 모델이 만들어져야 이용할 수 있다. 만들어진 모델은 아래와 같이 R Commander 상단에서 확인할 수 있다. carData 패키지의 Cowles 데이터셋으로 만든 GLM.1 모델을 활용하는 것이다.

Linux 사례 (MX 21)

<모델 효과 그림(들)> 창 중간에 있는 <예측변수 (하나 이상 선택)> 기능에서 sex, neuroticism, extraversion 세 변수를 모두 선택해보자.

Linux 사례 (MX 21)

plot(allEffects(GLM.1))

Linux 사례 (MX 21)


carData 패키지의 Prestige 데이터셋을 이용하여 연습해보자. 아래와 같이 prestige (직업의 사회적 권위)에 대한 education (교육연수), income (연수입), women (여성 참여율)의 영향력을 type (직업유형)별로 살펴보는 모델을 만들었다고 가정하자.

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

아래와 같이 LinearModel.1의 요약 정보가 출력될 것이다.

Linux 사례 (MX 21)

이러한 LinearModel.1의 효과 그림을 시각화 할 수 있다. <모델 효과 그림(들)> 창의 <예측변수(하나 이상 선택)> 기능에서 네개의 변수를 모두 선택해보자. 그리고 예(OK) 버튼을 누른다.

Linux 사례 (MX 21)

plot(allEffects(LinearModel.1))

아래와 같이 그래픽 장치 창에 선택된 변수 네개의 효과 그림이 등장할 것이다.

Linux 사례 (MX 21)

한편, <잔차 일부분 그리기> 기능을 선택해보자. 

Linux 사례 (MX 21)

그래픽 장치 창에 잔차들이 플롯으로 표시된다. 표시된 잔차의 분포를 보면서 추가로로 통찰력을 키울 수 있다.

Linux 사례 (MX 21)

'Models > Graphs' 카테고리의 다른 글

6. Influence index plot...  (0) 2022.06.21
2. Residual quantile-comparison plot...  (0) 2022.06.21
5. Influence plot...  (0) 2022.06.21
4. Added-variable plots...  (0) 2022.06.20
3. Component + residual plots...  (0) 2022.06.20

모델 > 가설 검정 > 분산분석표...

Models > Hypothesis tests > ANOVA table...

Linux 사례 (MX 21)

Statistics > Fit models > Linear model... (통계 > 적합성 모델 > 선형 모델...) 기능을 통하여 LinearModel.1라는 모델을 만들었다고 하자. 위의 화면 상단에 <모델: LinearModel.1>이라고 보일 것이다. 

https://rcmdr.tistory.com/131

 

2. Linear model...

통계 > 적합성 모델 > 선형 모델... Statistics > Fit models > Linear model... 아래와 같은 <선형 모델> 선택 창에서 변수들을 선택할 수 있다. <통계 : 적합성 모델 : 선형 회귀...> 기능의 <선형 회귀...>창..

rcmdr.kr

 

Models > Hypothesis tests > ANOVA table... (모델 > 가설 검정 > 분산분산표...) 기능은 앞선 모델 만들기 작업 위에서 후속적으로 가능함을 명심하자.

Linux 사례 (MX 21)

Anova(LinearModel.1, type="II")

Linux 사례 (MX 21)

'Models > Hypothesis test' 카테고리의 다른 글

2. Compare two models...  (0) 2022.06.11

carData > Prestige

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

data(Prestige, package="carData")

Linux 사례 (MX 21)

help("Prestige")

Prestige {carData} R Documentation

Prestige of Canadian Occupations

Description

The Prestige data frame has 102 rows and 6 columns. The observations are occupations.

Usage

Prestige

Format

This data frame contains the following columns:

education

Average education of occupational incumbents, years, in 1971.

income

Average income of incumbents, dollars, in 1971.

women

Percentage of incumbents who are women.

prestige

Pineo-Porter prestige score for occupation, from a social survey conducted in the mid-1960s.

census

Canadian Census occupational code.

type

Type of occupation. A factor with levels (note: out of order): bc, Blue Collar; prof, Professional, Managerial, and Technical; wc, White Collar.

Source

Canada (1971) Census of Canada. Vol. 3, Part 6. Statistics Canada [pp. 19-1–19-21].

Personal communication from B. Blishen, W. Carroll, and C. Moore, Departments of Sociology, York University and University of Victoria.

References

Fox, J. (2016) Applied Regression Analysis and Generalized Linear Models, Third Edition. Sage.

Fox, J. and Weisberg, S. (2019) An R Companion to Applied Regression, Third Edition, Sage.


[Package carData version 3.0-4 Index]

'Dataset_info > Prestige' 카테고리의 다른 글

Prestige.csv  (0) 2022.02.22

통계 > 분산 > Levene의 검정...

Statistics > Variances > Levene's test...

Linux 사례 (MX 21)

carData 패키지에서 제공하는 Prestige 데이터셋을 활성화 시키자. Prestige 데이터셋에는 type 이라는 세개의 수준을 가진 요인형 변수가 있다. 그 수준 이름은 bc, prof, wc 이다. 직업유형(type)별로 사회적인 권위가 다른지를 확인하는 문제의식이 있다고 하자. 집단별(직업유형, type)로 직업의 사회적 권위(prestige)에 대한 분산의 차이가 있는지를 통계적으로 살펴본다. <중앙(센터)>에서 중앙값과 평균을 선택할 수 있다. 중앙값이 기본 설정이다.

Linux 사례 (MX 21)

Tapply(prestige ~ type, var, na.action=na.omit, data=Prestige) # variances by group
leveneTest(prestige ~ type, data=Prestige, center="median")

Linux 사례 (MX 21)

'Statistics > Variances' 카테고리의 다른 글

2. Bartlett's test  (0) 2022.03.08
1. Two variances F-test...  (0) 2022.03.07

통계 > 분산 > Bartlett의 검정...

Statistics > Variances > Bartlett's test...

Linux 사례 (MX 21)

carData 패키지에서 제공하는 Prestige 데이터셋을 활성화 시키자. Prestige 데이터셋에는 type 이라는 세개의 수준을 가진 요인형 변수가 있다. 그 수준 이름은 bc, prof, wc 이다. 직업유형(type)별로 사회적인 권위가 다른지를 확인하는 문제의식이 있다고 하자. 집단별(직업유형, type)로 직업의 사회적 권위(prestige)에 대한 분산의 차이가 있는지를 통계적으로 살펴본다.

Linux 사례 (MX 21)

Tapply(prestige ~ type, var, na.action=na.omit, data=Prestige) # variances by group
bartlett.test(prestige ~ type, data=Prestige)

Linux 사례 (MX 21)

'Statistics > Variances' 카테고리의 다른 글

3. Levene's test...  (0) 2022.03.08
1. Two variances F-test...  (0) 2022.03.07

+ Recent posts