der Wille zur Macht,

[수학/확률과 통계] One-way, Two-way ANOVA(분산분석), MANOVA(다변수분산분석), ANCOVA(공분산분석)

분산분석 시리즈를 통해 검정하고자 하는 것

주효과: 개별 독립변수가 종속변수에 미치는 영향

상호작용효과: 두 독립변수가 동시에 종속변수에 미치는 영향

$\Rightarrow$ 결국 ‘분산분석’은 요인수준별 종속변숫값들(실숫값들)로 구성된 여러 분포가 같은지/다른지 비교하는 분석이다.

  • 기댓값이 같은지/다른지 여부만 검정할 수 있다는 점을 유념하자.

일원분산분석 One-way ANOVA

참조

  • https://rfriend.tistory.com/131
  • https://chukycheese.github.io/statistics/anova/

특징

  • 1개 독립변수(요인), 1개 종속변수 존재한다.
  • 1개 독립변수가 1개 종속변수에 미치는 영향. 주효과를 검정한다.
  • 1개 독립변수는 $r$개의 요인수준(factor level) 을 갖는다. $(r \ge 3)$
  • 요인수준에 의해 구분되는 3개 이상 집단의 기댓값 모수가 같은가? 다른가? 검정한다.
  • 독립변수는 범주형 변수, 종속변수는 실수형(연속형) 변수 여야 한다.

가설

  • 귀무가설: $\mu_{1}= \mu_{2} = \mu_{3}$

(세 집단 기댓값 모수 차이 없다 = 독립변수가 종속변수에 영향 못 미친다)

  • 대립가설: 모든 $\mu$ 는 다르다.

(요인수준별로 세 집단 기댓값 모수 차이 있다. = 독립변수가 종속변수에 영향 미친다)

조건

  • 각 요인수준 집단은 정규분포를 따라야 한다. (정규성가정)
  • 각 집단 모두 등분산 검정 만족해야 한다. (등분산가정)
  • 각 요인수준 별 표본은 독립적으로 생성되어야 한다.

검정통계량값

  • F통계량값을 사용한다.

검정통계량분포

  • F분포를 사용한다.

Screen Shot 2021-10-08 at 12 02 48

[ 그림 출처: https://rfriend.tistory.com/131 ]


One-way ANOVA R 코드 예시

  • ANOVA 실시할 때 독립변수는 반드시 Factor(요인) 자료형 이어야 한다.
# ANOVA one-way 실시
summary(aov(종속변수~독립변수, data=group_df))

# 요인집단 분포들의 등분산성 검정
bartlett.test(종속변수~독립변수, data=group_df)

이원분산분석 Two-way ANOVA

참조

  • https://rfriend.tistory.com/135?category=605867
  • https://rfriend.tistory.com/136?category=605867

특징

  • 2개 독립변수(요인), 1개 종속변수 존재한다.
  • 반복이 없는 이원분산분석(셀 별 관측치 1개), 반복이 있는 이원분산분석(셀 별 관측치 n개 씩) 이 있다.
  • 일원분산분석과 같이 각 집단은 정규성검정, 등분산검정 만족해야 한다.

반복이 없는 이원분산분석

반복이 없는 이원분산분석은 개별 요인 하나 - 종속변수 사이 주효과 검정만 가능하다. 곧, 귀무가설 두번 세우고 주효과에 대해 두 번 검정한다.

(Level 1) (Level 2)

[ 그림 출처: https://rfriend.tistory.com/135?category=605867 ]

$H_{0}1$: 요인 A 집단(파란색 네모박스)분포 별 평균은 같다.

$H_{0}2$: 요인 B 집단(빨간색 네모박스)분포 별 평균은 같다.

이렇게 두 개 요인 각각의 주효과에 대해 총 2번 검정한다.

반복없는 이원분산분석 R 코드

- aov(종속변수~독립변수1+독립변수2)
  • 독립변수1과 독립변수2 각각의 주효과만 검정한다.

반복이 있는 이원분산분석

반복있는 이원분산분석은 개별요인-종속변수 사이 주효과도 검정하고, 상호작용효과도 검정한다.

(dataset for two-way ANOVA, factor A   B, factor levels a   l

[ 그림 출처: https://rfriend.tistory.com/136?category=605867 , 사각형 표시는 내가 넣은 것임 ]

$H_{0}1$: 요인A 집단(파란색 네모 박스) 분포 별 평균은 같다 (요인 A는 종속변수에 영향 미치지 못한다.)

$H_{0}2$: 요인B 집단(빨간색 네모 박스) 분포 별 평균은 같다. (요인 B는 종속변수에 영향 미치지 못한다.)

$H_{0}3$: 요인A,B 동시에 고려하는 집단(연두색 네모 박스) 분포 별 평균은 같다. (요인 A,B 동시에 고려할 때, 종속변수에 영향 미치지 못한다.)


상호작용효과 있는지 없는지 그래프로도 나타낼 수 있다.

  • 상호작용효과 그래프가 서로 교차하면 ‘상호작용효과가 있다’, 서로 평행선을 이룬다면 ‘상호작용효과가 없다’ 고 해석할 수 있다.

반복있는 이원분산분석 R 코드

aov(종속변수~독립변수1+독립변수2+독립변수1:독립변수2)
  • 독립변수1과 독립변수2 주효과 검정, 상호작용효과 검정 한다.
  • 독립변수1 $+$ 독립변수2 $+$ 독립변수1:독립변수2 의 의미는 독립변수1의 주효과 , 독립변수2의 주효과, 독립변수1과 독립변수2의 상호작용효과 를 검정하라는 뜻이다.

다변량분산분석 MANOVA (다변수분산분석)

참조

  • https://m.blog.naver.com/yjs6530/150140764696
  • https://chukycheese.github.io/statistics/anova/

특징

  • 독립변수 1개
  • 종속변수는 2차원 이상 벡터(종속변수 2개 이상)

독립변수(요인) 수준 별로 종속변숫값 분포가 있을 것이다.

종속변숫값들은 모두 벡터다.

집단 별 벡터 값들 분포(3차원 그래프) 들 평균벡터가 같은지, 다른지 비교하는 분석이다.

= 3차원 분포들이 같은지-다른지 비교하는 분석을 다변수분산분석(다변량분산분석) 이라고 한다.

  • 독립변숫값은 범주형 변수값, 종속변숫값은 실수형/연속형 변수값을 갖는다.

가설

  • 귀무가설: 모든 평균들은 다 같다.
  • 대립가설: 귀무가설이 아니다.

MANOVA 를 사용하는 예

  • 복수의 종속변수 간 상관관계가 있는 경우 ANOVA 대신 MANOVA 를 사용한다.
  • 한편, 종속변수 간 상관관계가 너무 높으면 다중공선성이 발생해서 제대로 된 해석이 불가능하다.

기본 가정

  • 각 관측치는 서로 독립적이다
  • 각 집단의 공분산행렬이 같아야한다(등분산가정 만족해야한다)
  • 각 집단은 다변수 정규분포를 따라야 한다(정규성가정 만족해야 한다)

대립가설 예

예시 출처: https://m.blog.naver.com/yjs6530/150140764696

세 가지 광고대안의 광고효과에는 차이가 있는가?

  • 광고대안(요인, 독립변수)
  • 광고대안 세 가지(요인수준/집단)
  • 광고대안 별 광고효과(광고태도,제품태도,구매의도)(종속변수, 벡터)

만약 세 종속변수(광고태도, 제품태도, 구매의도) 사이 상관관계가 높다면, MANOVA 를 시도해봄 직하다.


MANOVA 결과 해석

만약 다변량 f-값이 검정 결과가 통계적으로 유의미하다고 하면,

이거는 종속변수 세 개 중에 구체적으로 어떤 놈이 실질적으로 영향을 받았는지는 모른다. MANOVA는 3개 종속변숫값들의 분포 평균벡터가 같은지, 다른지만 비교한다.

따라서 MANOVA 결과에서 유의미하다고 나오면, 다시 개별 종속변수에 대해 ANOVA를 각각 실시해서, 어떤 종속변수가 통계적으로 유의미한 결과에 공헌했는지를 살펴보아야 한다.


R MANOVA 명령

summary(manova(cbind(종속변수1,종속변수2)~독립변수, data=데이터셋))

# 종속변수: cbind() 로 묶은 벡터

공분산분석 ANCOVA

참조

  • https://m.blog.naver.com/yjs6530/150140762191
  • https://chukycheese.github.io/statistics/ancova/

특징

ANOVA와 회귀분석의 개념을 섞은 것이다.

실제로 R 코드도 회귀분석 실시 결과에 ANOVA 명령을 적용한다.

외생변수

종속변수에 영향 미칠 순 있으나, 독립변수로 직접 설정되지 않은 나머지 남은 변수를 ‘외생변수’라고 한다.

내가 설정한 독립변수가 종속변수에 어떤 영향을 미치는지 보려면, 나머지 외생변수는 철저히 통제되어야 한다.

하지만 연구자가 실험 디자인 단계에서, 외생변수를 직접 통제하는 것이 불가능한 경우.

“통제되지 않는 외생변수를 ‘공변량’으로 처리하여 외생변수의 영향을 제거하는” 공분산분석을 실시하면 내가 설정한 독립변수가 종속변수에 어떤 영향 미치는 지 볼 수 있다.

그 외 특징

  • 독립변수는 범주형 변수
  • 종속변수는 실수형 변숫값

(분산분석과 동일하다)

  • 공변량으로 처리되는 외생변수도 실수형 데이터 여야 한다.

공분산분석이 적합한 경우

외생변수가 종속변수와 상관관계가 높을 수록, 공분산분석을 하면 적합하다.

$\Leftarrow$ 공분산분석을 하면 외생변수 영향력을 제하고 순수하게 독립변수가 종속변수에 어떤 영향 미치는지를 조사할 수 있기 때문이다.


기본 가정

  • 그룹 간 등분산 가정 만족
  • 그룹들 정규성 가정 만족
  • 표본들은 모두 독립적으로 생성되어야 한다
  • 공변량과 독립변수 사이 상호작용효과가 없어야 한다.
  • 공변량과 종속변수 사이에는 선형상관관계가 있어야 한다. 그래프 그려서 확인할 수 있다.

공분산분석 다시 한번 정리

통제되지 않는 외생변수를 모두 ‘공변량’ 처리하고 독립변수가 종속변수에 미치는 영향을 분석(분산분석)하는 방법이다.

$\Rightarrow$

본질은 분산분석,

‘외생변수의 공변량처리’라는 특정 옵션을 더한 것이다.


R ANCOVA 명령

anova(lm(종속변수~공변량+독립변수, data=데이터셋))

한편

summary(aov(종속변수~공변량+독립변수, data=데이터셋)) # #two-way anova 를 실시한 경우
, 아래는 결과가 완전히 같다. 

# 공분산분석은 결국 이원분산분석 과도 같다. 
# 이원분산분석인데 독립변수 2개 중 하나가 공변량인 경우다.