01. 가설검정
-01 신뢰구간
-02 유의확률
02. t-분포
-01 t분포 시각화
-02 증명
01. 가설검정
-01 신뢰구간
영가설을 신뢰할만한 영역 = 채택역 구간
1) 양측검정 (α = 0.05)
[xbar - 1.96 * ( σ/sqrt(n)), xbar + 1.96 * ( σ/sqrt(n))]
2) 왼쪽검정
[-inf, xbar + 1.645 * ( σ/sqrt(n))]
3) 오른쪽검정
[xbar - 1.645 * ( σ/sqrt(n)), inf]
-02 유의확률
귀무가설을 채택할 확률(유의수준과 비교)
(검정통계량만으로는 귀무가설의 기각여부를 결정할 수 없다. <- 검정통계량의 채택역, 기각역 구간 확인 필수)
-> 오차확률 (유의수준 = α)의 크기와 비교하기 위해 유의확률 확인이 필요하다.
1) 양측검정
p-value = P(Z < z*) (z* < 0)
= P(Z > z*) (z* > 0)
=> P(Z > |z*|)
결론) p-value > α/2 : H0 채택
p-value < α/2 : H0 기각
2) 왼쪽검정
p-value = P(Z < z*)
결론) p-value > α : H0 채택
p-value < α : H0 기각
3) 오른쪽검정
p-value = P(Z > z*)
결론) p-value > α : H0 채택
p-value < α : H0 기각

# [ 연습문제 1 ]
# A사의 건전지 기대 수명이 100시간이라고 한다.
# A사의 건전지가 실제 기대수명에 충족하는지 확인하고자
# 80개의 건전지를 임의 추출한 결과 98이었을 때,
# A사의 건전지가 실제 기대수명에 충족하는지 여부를 유의수준 1%로 가설검정하여라.
# (단, 모표준편차는 30이라 가정)
# 유의확률을 사용한 검정
양측검정, z*가 음수이므로
* 검정통계량 구하기
Z* = (98 - 100) / (30/sqrt(80)) # -0.5962848
> (98 - 100) / (30/sqrt(80))
[1] -0.5962848
p-value = P(Z < -0.5962848)
= pnorm(-0.5962848, mean = 0, sd = 1)
= 0.2754925 >>> 0.01/2
=> 귀무가설을 채택한다.
> pnorm(-0.5962848, mean = 0, sd = 1)
[1] 0.2754925
-
# z.test
library(BSDA)
z.test(x, # 첫번째 집단 데이터
y, # 두번째 집단 데이터
alternaative = 'two.sided', # 대립가설(기본 : 양측검정, greater : 오른쪽검정, less : 왼쪽검정)
mu = 0, # 영가설(귀무가설) 가정값
sigma.x =, # 첫번째 집단의 모표준편차(가정값)
sigma.y = , # 두번째 집단의 모표준편차(가정값)
conf.level = 0.95 # 신뢰수준(1-α)
)
> v1 <- rep(98, 80)
> z.test(v1, mu = 100, sigma.x = 30, conf.level = 0.99)
One-sample z-Test
data: v1
z = -0.59628, p-value = 0.551
alternative hypothesis: true mean is not equal to 100
99 percent confidence interval:
89.36041 106.63959
sample estimates:
mean of x
98
> z.test p - value

> 0.2754928 *2
[1] 0.5509856
** 원래 양측검정에서의 p-value는 α/2와 비교하는 것이 정확한 측정 방법이다.
모든 통계 프로그램에서의 가설검정 결과는 α와 비교하기 위하여 기존 p-value * 2 의 값을 리턴한다.
따라서 모든 통계 프로그램의 가설검정에서 출력되는 p-value는 검정 종류과 상관없이 α와 비교한다.
# [ 연습문제 2 ]
# A 자동차사의 엔진의 기존 연비는 평균 12.5(km/l), 표준편차 0.5(km/l)로 알려져 있는데,
# 새로 개발한 엔진이 기존 연비보다 개선되었음을 가설 검정
# 총 40대의 자동차 연비를 측정한 결과 평균이 12.64(km/l)
# α = 0.05 유의수준 : 5%
H0 : μ = 12.5
H1 : μ > 12.5 (오른쪽검정)
xbar = 12.64
μ = 12.5
σ = 0.5
n = 40
# 모평균 신뢰구간 가설검정
채택역 : [xbar - 1.645 * ( σ/sqrt(n)), inf]
= [12.64 - 1.645 * (0.5/sqrt(40)), inf]
= [12.50995, inf]
-
# 유의확률을 사용한 검정
오른쪽검정, z*가 양수이므로
* 검정통계량 구하기
Z* = (12.64 - 12.5) / (0.5/sqrt(40))
> (12.64 - 12.5) / (0.5/sqrt(40))
[1] 1.770875
2) p-value = P(Z > 1.770875)
= pnorm
p-value = P(Z > 1.770875)
= 1 - pnorm(1.770875, mean = 0, sd = 1)
= 0.03829075 < 0.05
=> 영가설이 기각되며, 대립가설을 채택한다.
-
# z.test
v1 <- rep(12.64, 40)
z.test(v1, mu = 12.5, alternative = 'greater', sigma.x = 0.5)
> v1 <- rep(12.64, 40)
> z.test(v1, mu = 12.5, alternative = 'greater', sigma.x = 0.5)
One-sample z-Test
data: v1
z = 1.7709, p-value = 0.03829
alternative hypothesis: true mean is greater than 12.5
95 percent confidence interval:
12.50996 NA
sample estimates:
mean of x
12.64
# 영가설을 기각한다. (p-value < 0.05)
02. t-분포
정규분포의 경우 표본의 수가 작으면 신뢰도가 낮아지므로 n<30의 경우 t-분포를 사용하여 추정해야 한다.
표준정규분포와 유사(0을 중심으로 좌우대칭을 이루며 종모양이다. 꼬리가 조금더 두꺼운 형태이다.)
* 자유도에 따라 분포가 달라짐 (자유도가 커질수록 첨도가 올라감 -> 표준정규분포에 근사)
모수 : k(자유도) => T ~ t(k)
-01 t분포 시각화
vx <- seq(-3, 3, 0.01)
vy1 <- dt(vx, df = 1)
vy2 <- dt(vx, df = 10)
vy3 <- dt(vx, df = 100)
par(mfrow = c(1,1))
plot(vx, vy1, type = 'l', col = 2, ylim = c(0,0.5),
xlab = 't', main = '자유도의 변화에 따른 t-분포 시각화')
lines(vx, vy2, type = 'l', col = 3)
lines(vx, vy3, type = 'l', col = 4)
legend('topright', legend = c('df=1', 'df=10','df=100'),
lty = 1, col = 2:4, inset = c(0.02, 0.02))

-02 증명
# [ z분포와 t분포의 관계 ]
중심극한정리에 의해 ( n >= 30 )
xbar ~ N(μ, σ²/n)
Z = (xbar - μ) / (σ/sqrt(n)) ~ N(0,1)
t = (xbar - μ) / (s/sqrt(n)) ~ t(n-1)
# ** 증명
정규분포(평균 : 10, 표준편차 : 2)을 따르는 x를 50개 추출
vmean <- c()
vstd <- c()
for (i in 1:1000) {
v1 <- rnorm(50, mean = 10, sd = 2)
vmean <- c(vmean, mean(v1))
vstd <- c(vstd, sd(v1))
}
# 1) t통계량의 실제 분포 시각화
vt <- (vmean - 10) / (vstd/sqrt(50))
hist(vt, prob = T, xlim = c(-4,4), xlab = 't')
# 2) 이론분포 시각화
T ~ t(n-1)
vx1 <- seq(-4, 4, 0.01)
vy1 <- dt(vx1, df = 49)
lines(vx1, vy1, col = 'red', type = 'l')

# [ 연습문제1 - t검정 ]
# 건강을 위해 하루 10000보 걷는 것이 좋다고 알려져 있다.
# 우리나라 20대를 50명 대상으로 조사한 결과 9235로 조사되었다.
# 건강을 위한 하루 기준에 부합하는지 여부를 유의수준 5%로 검정하세요.
# (단, 표본표준편차 : 1500)
H0 : μ = 10000
H1 : μ ! = 10000 (양측검정) 또는 μ < 10000 (왼쪽검정)
# 1. 검정통계량
t = (xbar - μ) / (s/sqrt(n)) ~ t(n-1)
= (9235 - 10000) / (1500/sqrt(50))
= -3.606245
## 채택역 [-2.009575, 2.009575]
qt(0.5/2, mean = 0, sd = 1500)
ld <- qt(0.025, df=49)
lu <- qt(1-0.025, df=49)
> ld <- qt(0.025, df=49)
> ld
[1] -2.009575
> lu <- qt(1-0.025, df=49)
> lu
[1] 2.009575
=> (H0 기각) : 건강을 위한 만보 기준에 부합한다고 볼 수 없다.
# 왼쪽검정의 경우
# 채택역 : [-1.676551, inf]
# 기각역 : [-inf, -1.676551]
ld <- qt(0.05, df = 49)
> qt(0.05, df = 49)
[1] -1.676551
# => (H0 기각) : 건강을 위한 만보 기준에 부합한다고 볼 수 없다.
-
# 2. 모평균 신뢰구간
[xbar - 2.009575 * (s/sqrt(n)), xbar + 2.009575 * (s/sqrt(n))]
c(9235 - 2.009575 * (1500/sqrt(50)), 9235 + 2.009578 * (1500/sqrt(50)))
> c(9235 - 2.009575 * (1500/sqrt(50)), 9235 + 2.009578 * (1500/sqrt(50)))
[1] 8808.705 9661.296
모평균의 신뢰구간 : [8808.705, 9661.295]
모집단의 가정값(10000)이 모평균의 신뢰구간에 포함되지 않으므로 H0을 기각한다.
# 왼쪽검정의 경우
[-inf, xbar + 1.676551 * (s/sqrt(n)]
[-inf, 9235 + 1.676551 * (1500/sqrt(50)]
-
# 3. 유의확률
t* < 0 이므로
p-value = P(T < t*)
= pt(-3.606245, df = 49)
= 0.0003633745 <<< 0.025 => 따라서 H0을 기각한다.
# [ 연습문제2 - t검정 ]
# 여아신생아.txt 파일을 읽고 신생아 몸무게가 2800보다 클 것이다라는
# 가설에 대한 가설 검정 수행
# 유의수준 : 5%
unlist(read.table('여아신생아.txt'))
scan('여아신생아.txt') # 벡터로 불러오기
v1 <- scan('여아신생아.txt')
# 가설
H0 : μ = 2800
H1 : μ > 2800 (오른쪽검정)
# 1) 검정통계량
mean(v1) # 3132.444
sd(v1) # 631.5825
length(v1)
# v1 -> n : 18
t = (xbar - μ) / (s/sqrt(n))
= (3132.444 - 2800) / (631.5825/sqrt(18))
= 2.233185
qt(1-0.05, df = 17) # 1.739607
# 채택역 : [-inf, 1.739607]
# 기각역 : [1.739607, inf]
# => H0 기각!
# 2) 유의확률
# t* > 0 이므로
p-value = p(T > t*)
= 1 - (pt(2.233185, df = 17))
= 0.01963432
0.0196... <<< 0.05
따라서 H0 기각.
# 3) t.test
t.test(v1, alternative = 'greater', mu = 2800)
> t.test(v1, alternative = 'greater', mu = 2800)
One Sample t-test
data: v1
t = 2.2332, df = 17, p-value = 0.01963
alternative hypothesis: true mean is greater than 2800
95 percent confidence interval:
2873.477 Inf
sample estimates:
mean of x
3132.444 '아이티윌_데이터 분석 55기 > 강의내용 필기_통계 및 분석' 카테고리의 다른 글
| #6 6일차_모비율 차이 검정 (0) | 2026.04.20 |
|---|---|
| #5 5일차_모집단의 가설검정, 두 집단의 모평균 차이 가설검정 (0) | 2026.04.17 |
| #3 3일차_이산확률분포, 중심극한정리, 모평균 추정, 가설검정 (0) | 2026.04.15 |
| #2 2일차_추론, 확률분포, 정규분포, 표준정규분포, 중심극한정리 (0) | 2026.04.14 |
| #1 1일차_통계 기초, 표본추출, 측정과 척도, 기초 통계량, 확률분포 (0) | 2026.04.13 |