14C 평균 차이 검정
1) 짝지은 표본 T검정
# 짝지은 표본 t검정
# 사전 / 사후 통증 정도의 차이
# 새로운 무릎 통증 치료제의 효과를 증명하기 위해
# 노인 20명에게 통증 치료제 투여
# 가설 : 사전 통증 정도와 사후 통증 정도의 차이가 있을 것이다.
# 짝지은 표본 t검정 실습
options(scipen = 99)
# 데이터 불러오기
library(readxl)
data <- read_excel("./SpyderBD_01/data/sta_data.xlsx",sheet = "pair_t")
data
str(data)
table(data$group)
# 전후의 통증 정도 기술 통계 확인
library(psych)
sapply(data[c("pre","post")],describe)
# 짝지은 표본 t검정
t.test(data$pre, data$post, paired = T)
15C 분산분석
1) 짝지은 표본 T검정
분산분석은 그룹 3개여야 함.
방법의 개수에 따라 1-WAY, 2-WAY로 나뉨
ANOVA는 반드시 사후검정을 추가분석해야 함.
2) 검정통계량 계산
* F = 평균제곱(집단간 변동성 = between) / 평균제곱 (집단내 집단간 변동성 = within)
3) 귀무가설 / 연구가설
귀무가설 : H0 : u1 = u2 = u3
연구가설 : xbar != xbar2 != xbar3
-> 정확한 표현 : xbar != xbar2 or xbar1 != xbar3 or xbar2 = xbar3
4) 검정통계량(획득된 값)의 계산 // 자유도를 나누기 전
F 비율
집단 간 제곱합(SSB) = MSB // K-1 (기억)
집단 내 제곱합(SSW) = MSW // N-K
MSB / MSW = F (분산분석표)
자유도 = (그룹 또는 변수의 수 - 1) + (총 표본 크기 - 그룹의 수)
그룹 또는 변수의 수를 K-1로 대체하고 총 샘플 크기에서 그룹 수를 뺀 값을 NK로 대체하면 다음과 같이 됩니다.
자유도 = (K-1) + (N-K) = N-1
-> 결국 ANOAVA의 총 자유도를 구하는 것임. (K-1)이라는 것은
5) 검정통계량 산출
ANOVA 분석은 우측검정뿐. 0부터 시작함 (음수가 없음)
6) 실습 파일
# 운동선수의 스포츠 경력과 경기 대처 기술과 관련이 있다는 가설을 검정하기 위함
# 1) 다른 집단 간 점수 차이 (선수들의 최고 점수 간의 차이를 검정)
# 2) 선수들은 단 한 번의 검사만을 받음
# 3) 3개의 집단 (6년 이하, 7~10년, 10년 이상의 경력)이 존재
# 4) 이 경우 적절한 검정 통계는 단순 분산분석(ANOVA)# 짝지은 표본 t검정
# 3개 이상 2그룹 변수 1개만 사용
# 단순 분산분석= 일원배치 분산분석(one-way ANOVA)
x1 <- c(87,86,76,56,78,98,77,66,75,67)
x2 <- c(87,85,99,85,79,81,82,78,85,91)
x3 <- c(89,91,96,87,89,90,89,96,96,93)
x1;x2;x3
x1_m <- mean(x1)
x2_m <- mean(x2)
x3_m <- mean(x3)
total_m <- mean(c(x1_m,x2_m,x3_m))
n1 <- length(x1)
n2 <- length(x2)
n3 <- length(x3)
n1;n2;n3
# between : 그룹간 변동 = 그룹 평균 - 총 평균
b1 <- x1_m - total_m
b2 <- x2_m - total_m
b3 <- x3_m - total_m
b1;b2;b3
b1_sq <- b1^2
b2_sq <- b2^2
b3_sq <- b3^2
b1_sq;b2_sq;b3_sq
ssb <- sum(b1_sq*n1,b2_sq*n2,b3_sq*n3)
ssb
# within: 그룹 내 변동 = 관측치 - 평균
w1 <- x1-x1_m
w2 <- x2-x2_m
w3 <- x3-x3_m
w1;w2;w3
w1_sq <- w1^2
w2_sq <- w2^2
w3_sq <- w3^2
w1_sq;w2_sq;w3_sq
ssw <- sum(w1_sq,w2_sq,w3_sq)
ssw
# 자유도 = k -1 (k: 그룹의 개수)
k = 3
b_df <- k-1
b_df
# within 자유도 = n - k
n = n1 + n2 + n3
w_df = n-k
w_df
# between
msb <- ssb/b_df
msw <- ssw/w_df
# F값
f <- msb/msw
# 임계값, 유의수준, 자유도
alpha <- 0.05
b_df;w_df
cv <- qf(1-alpha,b_df,w_df)
cv<F
# 유의확률
pv <- 1-pf(f,b_df,w_df)
alpha>pv
# 실습 15장
data <- read.csv("./Syntax(R)/15/ch15ds1.csv")
head(data)
str(data)
# 그룹 빈도표
table(data$Group)
library(psych)
describeBy(data$Language.Score, group = data$Group)
# 표본의 개수(n), 평균(mean), 표준편차(sd)
# 단순 분산분석, aov(종속변수~독립변수)
summary(aov(Language.Score~Group, data=data))
# 사후검정
TukeyHSD(aov(Language.Score~Group, data=data))
7) 일원배치 분산분석
* 등분산분석 (분산의 차이 확인)
* 일원배치 분산분석 (평균의 차이 확인)
8) 등분산 분석 실습
num = 분자
denom = 분모
'배운 책들 정리 > 만만한 통계 : R 활용' 카테고리의 다른 글
0221 만만한 통계 R - 선형회귀, 단순회귀, 다중회귀 (18) (0) | 2023.02.21 |
---|---|
0220 만만한 통계 R - 상관계수 계산 및 유의성 검정, 보건의료(7,17) (0) | 2023.02.20 |
0216 만만한 통계 R - 독립 표본 t 검정, 종속 표본 t 검정 (0) | 2023.02.16 |
0215 만만한 통계 R - 유의성 검사 및 단일 표본 z 검정 (11,12) (0) | 2023.02.16 |
0214 만만한 통계 R - 가설검정, 확률의 중요성 (09,10) (0) | 2023.02.14 |