1. 분산분석의 개념
1) 배경
t검정 | -> 비효율성을 줄이기 위해 | F 분포에 근거하여 검정 |
두 집단 간 속성에 대한 평균 차이를 검증하는 방법 | 집단간 변화량과 집단 내 변화량을 비교하는 방법 |
* 비효율성: 3개 이상 모집단을 비교할 때, 두 독립집단끼리 비교하는 t 검정을 3번 시행
2) 정의
- 두 개 이상 집단들의 평균을 비교하는 통계 분석 기법
- 두 개 이상 집단들의 평균 간 차이에 대한 통계적 유의성을 검증하는 방법
- 관측자료가 몇 개의 그룹으로 구분된 경우 그룹 평균 간 차이를 그룹 내 변동에 비교하여 살펴보는 데이터 분석 방법
3) 사용하는 이유
- '각 집단의 평균이 다르다.' = '집단 간 평균이 떨어져 있어, 분산이 크다' = '집단간 분산이 클수록 집단 간 평균이 서로 다를 가능성이 높다.'
=> 집단 평균 차이 비교에 분산 분석 이용
2. 분산분석의 특성
1) 기본 가정
- 정규성: 각 집단에 해당되는 모집단의 분포가 정규분포임
- 분산동일성(등분산성): 각 집단에 해당되는 모집단의 분산은 모두 동일함
- 독립성: 표본은 각 모집단에서 독립적으로(무작위로) 추출됨
2) F 통계량(F-value): 집단간 분산과 집단내 분산의 비
F = 집단간 분산/집단내 분산
- 집단간 분산이 클수록, 집단내 분산이 작을수록 집단평균이 다를 가능성 증가
- 두 종류의 분산이 갖는 값의 상대적 크기에 의해 집단 간 평균의 동일성 여부가 결정됨
- 총변동 = 집단간 변동 + 집단내 변동
3) 분산분석 종류
분석방법 | 특징 |
일원(배치) 분산분석 (one way ANOVA) |
- 요인(집단을 구분하는 독립변수)이 하나인 경우 - 모집단의 수에 제한이 없음 - 각 표본의 수가 같이 않아도 됨 |
이원(배치) 분산분석 (two way ANOVA) |
- 요인(집단을 구분하는 독립변수)이 둘인 경우 - 요인이 2개 이상인 경우, 요인이 결과에 미치는 영향을 알아보기 위한 주효과와 상호작용 효과를 알아볼 수 있음 |
다원배치 분산분석 (mulitple way ANOVA) |
- 독립변수가 둘 이상인 경우를 총칭 |
4) 가설 설정
구분 | H0(귀무가설) | H1(대립가설) |
일원분산분석 | μ1 =μ2 =μ3 (모집단평균은 모두 동일함) |
적어도 두 개의 평균들 간에는 차이가 있음 |
이원분산분석 | μ1 =μ2 =μ3 = ... = μn (모집단평균은 모두 동일함) |
적어도 두 개의 평균들 간에는 차이가 있음 |
5) 연구 사례 예시
- 세대 간에 패스트푸드에 대한 선호도의 차이가 있는가?
=> 일원분산분석: 독립변수(세대), 종속변수(패스트푸드에 대한 선호도)
- 사용 이동통신사에 따른 모바일 뱅킹 이용횟수 수준 차이가 있는가?
=> 일원분산분석: 독립변수(이동통신사), 종속변수(모바일 뱅킹 이용횟수)
- 세대 및 성별에 따른 패스트푸드 선호도의 차이가 있는가?
=> 이원분산분석: 독립변수(세대, 성별), 종속변수(패스트푸드에 대한 선호도)
- 사용 이동통신사 및 성별에 따른 모바일 뱅킹 이용횟수 수준 차이가 있는가?
=> 이원분산분석: 독립변수(이동통신사, 성별), 종속변수(모바일 뱅킹 이용횟수)
* 이원분산분석 주효과: 각 독립변수가 종속변수에 미치는 영향
* 이원분산분석 상호작용효과: 여러 개의 독립변수가 상호 작용하여 나타나는 종속변수의 결과
3. 분산분석
* 거식증 환자의 치료방법에 따른 몸무게의 변화가 있는가
1) 데이터 입력(R에 있는 anorexia 데이터 사용)
# 데이터 입력(anorexia 데이터 사용)
data(anorexia, package = "MASS")
anorexia
2) 분산 분석의 시행
# 분산분석의 시행
out1 = aov(Postwt~Treat, data = anorexia)
out1
summary(out1)
귀무 가설이 기각 -> 각 집단의 평균은 같지 않음 -> 거식증 치료 방법별로 몸무게가 같지 않음
3) anova함수를 사용해 분산분석을 실시
# anova함수를 사용해 분산분석을 실시
out2 = anova(lm(Postwt~Treat, data = anorexia))
out2
summary(out2)
4) oneway함수를 사용해 분산분석 실시
* oneway함수는 기본적으로 등분산을 갖어하지 않음(등분산성이 확실시 되면 var.equal = True 옵션 할당)
# oneway함수를 사용해 분산분석 실시
out3 = oneway.test(Postwt~Treat, data = anorexia)
out3
summary(out3)
'프로그래밍' 카테고리의 다른 글
[R] R을 이용한 로지스틱회귀분석 (0) | 2021.05.24 |
---|---|
[R] R을 이용한 주성분분석 (0) | 2021.05.23 |
[R] R을 이용한 회귀분석 (0) | 2021.05.17 |
[R] R을 이용한 상관분석 (0) | 2021.05.16 |
[Python] Machine Learning(Linear Regression, PCA, KNN, SVM, Kmeans) (0) | 2021.05.16 |