c:ms:2026:lecture_note_week_04
This is an old revision of the document!
퀴즈 1 문제 중
모집단 Mean = 180; SD = 20, 정규분포일때
49. N=16의 샘플을 추출할 때 샘플들의 평균 분포가 갖는 표준편차 값은?
standard error 값을 묻는 질문이므로
se = sigma / sqrt(n) = 20 / 4 = 5
50. n=400일 때 샘플평균들의 분포가 갖는 표준편차 값은?
1
51. n=100 의 크기의 샘플을 취한다고 할 때 이 샘플의 평균값이 나올 구간을 99퍼센트의 확신성을 가지고 구하시오.
52. 위와합산
se값이 2이고 99퍼센트의 구간은 se값을 위로 3 밑은 3 포함하는 구간이 되므로 180-6, 180+6 이 정답
위의 문제는 모두 샘플평균들을 모아 놓은 집합의 평균과 표준편차를 (표준오차) 구하는 문제이다.
즉, 무 = 180, 시그마 = 20 일 때,
샘플평균들의 표준편차는 아래처럼 각각 5, 1, 2가 된다.
> rm(list=ls())
> rnorm2 <- function(n,mean,sd){
+ mean+sd*scale(rnorm(n))
+ }
> ss <- function(x) {
+ sum((x-mean(x))^2)
+ }
>
> mu = 180
> sigma = 20
> var = 400
>
> n.a <- 16
> n.b <- 400
> n.c <- 100
>
> se.a <- sigma/sqrt(n.a)
> se.b <- sigma/sqrt(n.b)
> se.c <- sigma/sqrt(n.c)
> se.a
[1] 5
> se.b
[1] 1
> se.c
[1] 2
Recap
Distribution of Sample Means – mu = 40, sigma = 4 (hence var = 16) 인 모집단에서 n = n 사이즈의 샘플링을 무한 반복할 때 그 샘플평균들이 모인 집합
rm(list=ls())
rnorm2 <- function(n,mean,sd){
mean+sd*scale(rnorm(n))
}
ss <- function(x) {
sum((x-mean(x))^2)
}
mu <- 40
sigma <- 4
iter <- 1000000
sz <- 16
se <- sigma/sqrt(16)
################################
means <- rnorm2(iter, mu, se)
hist(means, breaks=50,
xlim = c(mu-6*se, mu+6*se),
main = paste("sampling distribution"))
abline(v=mu, col='black', lwd=2)
lo1 <- mu - se*1
hi1 <- mu + se*1
lo2 <- mu - se*2
hi2 <- mu + se*2
lo3 <- mu - se*3
hi3 <- mu + se*3
abline(v=c(lo1, lo2, lo3, hi1, hi2, hi3),
col=c("green","blue", "black"),
lwd=2)
print(c(lo2, hi2))
m.samp <- 37
p.val <- pnorm(m.samp, mu, se)*2
p.val
z.cal <- (m.samp-mu)/se
z.cal
p.val <- pnorm(z.cal)*2
p.val
zmeans <- scale(means)
hist(zmeans, breaks=50,
xlim = c(0-10*1, 0+10*1),
main=("normalized distribution\nof sample means"))
abline(v=0, col="black", lwd=2)
abline(v=z.cal, col='blue', lwd=2)
abline(v=-z.cal, col="green", lwd=2)
text(x=-6, y=50000,
label=paste("z.cal =", z.cal),
pos = 1,
col="blue", cex=1)
text(x=4, y=50000,
label=paste(-z.cal),
pos=1,
col="green", cex=1)
text(x=-6, y=30000,
label=paste("pnorm(z.cal)*2 =", "\n",
round(p.val,3)),
pos = 1,
col="red", cex=.8)
hist(zmeans, breaks=50,
xlim = c(0-10*1, 0+10*1),
main=("normalized distribution\nof sample means"))
abline(v=0, col="black", lwd=2)
abline(v=c(-1,-2,-3,1,2,3),
col=c("green", "blue", "black"), lwd=2)
z.cal
p.val
#####
# 위의 아이디어로는 z.cal 점수가
# +-2 밖에 있는지 보면 된다. 즉,
# 이는 prob가 0.05보다 작은지
# 보면 되는 것이다.
#####
# +-2 는 정확한 숫자가 아니고
# qnorm(.05/2) 에 해당하는 숫자
# 가 정확한 숫자
two.minus.exact <- qnorm(.05/2)
two.plus.exact <- qnorm(1-(.05/2))
c(two.minus.exact, two.plus.exact)
#####
# 그러나 R 사용시에는 z 점수로
# 판단하기 보다는
# 직접 구하는 prob.로 판단
pnorm(z.cal)*2
p.val
#####
# 위에서 그룹 간의 차이를
# standard error로 나누는 것에 주의
#
################
m.samp <- 43
sd.samp <- 4
sz <- 16
samp <- rnorm2(sz, m.samp, sd.samp)
diff <- m.samp - mu
se <- sd.samp / sqrt(sz)
t.cal <- diff/se
df <- sz-1
p.val <- pt(t.cal, df=df, lower.tail = F)*2
t.cal
df
p.val
t.test(samp, mu=mu)
#####
#
m.a <- 5.8
m.b <- 6.3
sd.a <- .5
sd.b <- .5
sz.a <- 16
sz.b <- 16
df.a <- sz.a-1
df.b <- sz.b-1
df <- df.a + df.b
a <- rnorm2(sz.a, m.a, sd.a)
b <- rnorm2(sz.b, m.b, sd.b)
diff <- m.a - m.b
pv <- (ss(a)+ss(b))/(df.a+df.b)
se <- sqrt(pv/sz.a+pv/sz.b)
t.cal <- diff / se
p.val <- pt(t.cal, df=df)*2
diff
se
t.cal
df
p.val
t.test(a,b, var.equal = T)
diff - se*2
diff + se*2
lo <- qt(.05/2,df)
lo
hi <- -lo
diff + se*lo
diff + se*hi
c/ms/2026/lecture_note_week_04.1774972752.txt.gz · Last modified: by hkimscil
