아이티윌_데이터 분석 55기/강의내용 필기_통계 및 분석

#5 5일차_모집단의 가설검정, 두 집단의 모평균 차이 가설검정

ecosso 2026. 4. 17. 16:16

01. 모집단의 가설검정

-01 모평균

-02 모비율

-03 모분산

 

02. 두 집단의 모평균 차이 가설검정

 -01 서로 독립적인 두 집단

 -02 서로 대응인 두 집단

 -03 확률변수의 기댓값과 분산


01. 모집단의 가설검정

-01 모평균

 1) 단일집단의 모평균 가설검정 → z검정, t검정

 

 2) 두집단의 모평균 차이 가설검정 →  z검정, t검정

  H0 : μ1- μ2 = 0

  H1 : μ1 - μ2 != 0 (양측검정)

  H1 : μ1 - μ2 < 0 (왼쪽검정)

  H1 : μ1 - μ2 > 0 (오른쪽검정)

 

 3) 세집단 이상의 모평균 비교 → f검정(ANOVA = 분산분석)

  H0 : μ1 - μ2 = μ3

  H1 : 하나라도 같지 않다(양측검정)


-02 모비율

 1) 단일집단의 모비율 가설검정  z검정, t검정

 2) 두집단의 모비율 차이 가설검정 z검정, t검정


-03 모분산

 1) 단일집단의 모분산 가설검정 → 카이제곱검정

 2) 두집단의 모분산 비 차이 가설검정(*) → f검정


02. 두 집단의 모평균 차이 가설검정

 -01 서로 독립적인 두 집단

  > 각 집단이 서로 독립적이며 다른 집단의 결과에 영향을 끼치지 않는 경우

  > 두 집단의 크기가 달라도 상관없음

  ex) 남, 여 성적 차이 검정

 

 1) 두 모분산을 알 때 : z검정

 2) 두 모분산을 모를 때 : t검정 ~ t(n+m-2)

    ** 등분산성 가정 -> 공통분산으로 통계량 계산

       sp²(공통분산) = ((n-1) S1 ² + (m-1) S2 ²) / (n+m-2)

 

예제 ) weight.txt 파일을 읽고 신생아의 성별별 체중 차이가 발생하는지 가설검정 (유의수준 5%)

 

H0 : 남아몸무게 - 여아몸무게 = 0
H1 : 남아몸무게 - 여아몸무게 != 0 (양측검정)

# 모분산을 현재 모르는 상황이므로 t-test 수행

df1<- read.table('weight.txt', header = T)

head(df1)

# 점추정값)
v1 <- df1[df1$gender == 1, 2] # 남아몸무게
v2 <- df1[df1$gender ==2, 2]  # 여아몸무게
length(v1)                    # 18
length(v2)                    # 26
var(v1)                         # 398896.5
var(v2)                         # 183223.4

mean(v1) - mean(v2) # -242.8632

# 검정통계량)
Sp ² = ((n-1)S1 ² + (m-1)S2 ²) / (n+m-2)
     = (17*398896.5 + 25 * 183223.4) / (18+26-2)
     = 270519.7

Sp = sqrt(270519.7) # 520.1151

T* = -242.8632 / (520.1151 * sqrt(1/18 + 1/26))
   = -1.522856

# 검정통계량의 채택역)
qt(0.025, df = (18+26-2))   # -2.018082
qt(1-0.025, df = (18+26-2)) # 2.018082
[-2.018082, 2.018082]

 

# 유의확률)
p-value = P(T < -1.522856)
        = pt(-1.522856, df = 18 + 26 -2)
        = 0.06764465

 

# t-test)
t.test(v1, v2, var.equal=T)  # 공동분산 계산의 경우 var.equal = T 설정
                                           # 해당옵션을 생략할 시 서로 분산이 다르다고 가정하고 각 표본의 표준편차로 계산된다.

> t.test(v1, v2, var.equal=T)

	Two Sample t-test

data:  v1 and v2
t = -1.5229, df = 42, p-value = 0.1353
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -564.70440   78.97791
sample estimates:
mean of x mean of y 
 3132.444  3375.308 

 

 

**

Two Sample t-test

data:  v1 and v2
t = -1.5229, df = 42, p-value = 0.1353  => 귀무가설 채택!
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  -564.70440   78.97791           <--- 모평균차이에 대한 신뢰구간
sample estimates: 
  mean of x mean of y 
3132.444  3375.308                <--- 각 집합의 표본평균 


# => 귀무가설 채택


 

 [ 연습문제 ]
체크카드를 사용하면 신용카드를 사용할 때보다 카드 사용액이 더 낮아진다는 연구 결과가 있다.
이를 확인하기 위해 각 사용자 50, 60명을 조사하였더니 체크카드 평균 사용액은 50만원, 신용카드 평균 사용액은 100만원이었다. 
체크카드 사용자 사용액의 표본표준편차는 25만원, 신용카드는 30만원이라고 가정할 때 체크카드를 사용하면 카드 사용액이 더 낮아진다고 할 수 있는지 유의수준 5%에서 검정하시오.

H0 : 신용카드사용액 - 체크카드사용액 = 0
H1 : 신용카드사용액 - 체크카드사용액 > 0 (오)

# 필요통계량 정리
xbar1 <- 100 # 신용카드 평균
xbar2 <- 50  # 체크카드 평균

n <- 60      # 신용카드 표본크기
m <- 50      # 체크카드 표본크기

s1 <- 30     # 신용카드 표준편차
s2 <- 25     # 체크카드 표준편차
alpha <- 0.05

# 검정통계량
qt(1-alpha, df = n+m-2) # 1.659085
s <- sqrt(((n-1)*s1^2 + (m-1)*s2^2) / (n+m-2))
T* = (xbar1 - xbar2) / (s * sqrt(1/n + 1/m))
   = 9.378181

기각역 : [1.659085, inf]
채택역 : [-inf, 1.659085]

 

# 유의확률
p-value = p(T > 9.378181)
        = 1 - P(T < 9.378181)
        = 1 - pt(9.378181, df = n+m-2)
        = 6.661338e-16 <<<<<<<<<< 0.05 => 귀무가설 기각


# => 귀무가설 기각


 -02 서로 대응인 두 집단

  > 하나의 관찰대상에 대한 대응되는 자료의 관찰로 이루어진 경우

  > 두 집단의 크기가 반드시 같아야 함

  ex) 다이어트 약 복용 전 몸무게, 복용 후 몸무게 차이 가설검정(같은 실험 대상) 

> head(df1)
  Prior  Post
1  83.8  95.2
2  83.3  94.3
3  86.0  91.5
4  82.5  91.9
5  86.7 100.3
6  79.6  76.7

 

 Dbar = Xbar1 - Xbar2 ← 하나의 표본으로 가정

 Xbar = N(μ, σ² / n)

 Dbar ~ N(μd, σd ² / n)

 

 1) 두 모분산을 알 때 : z검정

 Z = (Dbar ~ μd) / ( σd / sqert(n)) ~ N(0,1)

 

 2) 두 모분산을 모를 때 : T검정 ~ T(n-1)

T = (Dbar ~ μd) / ( sd / sqert(n)) ~ N(0,1)

 

* sd : Xbar1 - Xbar2 집합의 표준편차

 

예제) 식욕부진증 치료약의 효과를 유의수준 5%로 가설검정하세요
df1 <- read.csv('anorexia.csv')
head(df1)

H0 : 복용전몸무게 - 복용후몸무게 = 0
H1 : 복용전몸무게 - 복용후몸무게 < 0 (왼쪽검정)

vdiff = df1$Prior - df1$Post
dbar <- mean(vdiff) # -7.264706
s <- sd(vdiff)      # 7.157421

# 검정통계량)
T* = (dbar - 0) / (s/sqrt(17))
   = -4.184908

# 채택역 구하기 ) 
qt(0.05, df = 16) # -1.745884

기각역 : [-inf, -1.745884]
채택역 : [-1.745884, inf]

# 귀무가설 기각 

# 유의확률
pt(-4.184908, df = 16)
0.0003501267

# t-test)
t.test(df1$Prior, df1$Post, alternative = 'less', paired = T) # 대응표본세팅 (paired = T)

> t.test(df1$Prior, df1$Post, alternative = 'less', paired = T) # 대응표본세팅 (paired = T)

	Paired t-test

data:  df1$Prior and df1$Post
t = -4.1849, df = 16, p-value = 0.0003501
alternative hypothesis: true mean difference is less than 0
95 percent confidence interval:
      -Inf -4.233975
sample estimates:
mean difference 
      -7.264706 

 [ 연습문제 ]
 다음은 동일한 30명을 대상으로 카페인 섭취 전후의 집중력 점수를 측정한 결과이다.
 카페인 섭취 전(before)과 섭취 후(after)의 점수는 다음과 같다.
 연구자는 카페인 섭취가 집중력을 향상시키는지 유의수준 0.05에서 검정하고자 한다.

before <- c(61, 65, 70, 58, 72, 66, 64, 69, 71, 62,
            67, 63, 68, 60, 66, 74, 59, 62, 65, 70,
            68, 64, 61, 67, 69, 66, 63, 72, 58, 64)

after  <- c(65, 67, 73, 60, 74, 68, 66, 72, 73, 64,
            69, 65, 70, 63, 68, 76, 61, 64, 67, 72,
            70, 66, 63, 69, 71, 68, 65, 74, 60, 66)


H0 : 카페인 섭취 전 - 카페인 섭취 후 = 0
H1 : 카페인 섭취 전 - 카페인 섭취 후 < 0 (왼쪽검정)

# 통계량 구하기
vdiff = before - after
dbar = mean(vdiff) # -2.166667
s <- sd(vdiff) # 0.461133

T* = (dbar - 0) / (s/sqrt(30))
   = -25.73514

# 채택역 구하기
qt(0.05, df = 29) # -1.699127

기각역 : [-inf, -1.699127]
채택역 : [-1.699127, inf]

귀무가설을 기각한다.
카페인 섭취 전보다 카페인 섭취 후에 집중력이 좋아졌다고 말할 수 있다.

# 유의확률
pt(-25.73514, df = 29) # 8.022167e-22

# t-test)
t.test(before, after, alternative = 'less', paired = T)

> t.test(before, after, alternative = 'less', paired = T)

	Paired t-test

data:  before and after
t = -25.735, df = 29, p-value < 2.2e-16
alternative hypothesis: true mean difference is less than 0
95 percent confidence interval:
      -Inf -2.023615
sample estimates:
mean difference 
      -2.166667 

 -03 확률변수의 기댓값과 분산

E(aX + b) = aE(X) + b

E(X + Y) = E(X) + E(Y)

E(X - Y) = E(X) - E(Y)

Var(aX + b) = a ² Var(X)

Var(X + Y) = Var(X) + Var(Y) + 2Cov(X,Y)

Var(X - Y) = Var(X) + Var(Y) - 2Cov(X,Y)

                   단, 두 변수 X, Y가 서로 독립인 경우 Cov(X,Y) = 0

 

* Cov(X,Y) = E(X - E(X)) E(Y - E(Y))

  두 변수의 공분산 : 두 변수의 상관성을 나타내는 척도

  > 크기로 상관성의 정도를 해석할 수 없다 =  공분산의 크기만으로 상관관계를 판단할 수는 없다(단위의 영향을 받기 때문이다)

  > 공분산이 0이 나왔다고해서 무조건 두 변수가 독립적이지는 않는다 (상관관계가 약하다 정도로 말해야함)