User Tools

Site Tools


c:ms:2025:lecture_note_week_04

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
c:ms:2025:lecture_note_week_04 [2025/03/26 06:57] – [Hypothesis testing] hkimscilc:ms:2025:lecture_note_week_04 [2025/03/26 07:41] (current) – [Hypothesis testing] hkimscil
Line 423: Line 423:
 var.pop <- var(pop) var.pop <- var(pop)
  
-iter <- 10000 +# 시뮬레이션 시작 
-n <-100 +iter <- 10000 # 사실은 무한대  
-means <-rep(NA, iter)+n <-100 # sample size 
 +means <-rep(NA, iter) # means memory reservation
 for(i in 1:iter){ for(i in 1:iter){
   means[i] = mean(sample(pop, n))   means[i] = mean(sample(pop, n))
 } }
-# hist(means)+m.empirical <- mean(means)
 se.empirical <- sd(means) se.empirical <- sd(means)
 +m.empirical
 se.empirical se.empirical
 se <- sd.pop/sqrt(n) se <- sd.pop/sqrt(n)
-se+se2 <- se * 2 
 +se3 <- se * 3
  
 +vlines <- c(m.empirical, 
 +            m.empirical+c(-se,se),
 +            m.empirical+c(-se2,se2),
 +            m.empirical+c(-se3,se3))
 +colors = c("blue", 
 +           "red", "red", 
 +           "darkgreen", "darkgreen", 
 +           "black", "black")
 +
 +hist(means)
 +abline(v=vlines, col=colors, lwd=2, lty="dashed")
 +
 +# 아래는 n=100 샘플을 하여 평균을 구해본 것
 s1 <- sample(pop, n) s1 <- sample(pop, n)
 s1 s1
Line 459: Line 475:
 m.s3 m.s3
  
-p.val.one.tail <- pnorm(6m.s3,  +p.val.one.tail <-  
-                        m.pop,  +  pnorm(m.s3, m.pop, se, lower.tail = F) 
-                        se, lower.tail = F) +p.val.two.tail <-  
-p.val.two.tail <- pnorm(m.s3,  +  pnorm(m.s3, m.pop, se, lower.tail = F) * 2
-                        m.pop,  +
-                        se, lower.tail = F) * 2+
 p.val.one.tail p.val.one.tail
 p.val.two.tail p.val.two.tail
  
-set.seed(2000)+set.seed(1010)
 s4 <- rnorm(100, 54, 10) s4 <- rnorm(100, 54, 10)
 m.s4 <- mean(s4) m.s4 <- mean(s4)
Line 481: Line 495:
 z.score <- (m.s4-m.pop)/se z.score <- (m.s4-m.pop)/se
 z.score z.score
-pnorm(z.score, lower.tail = F)+pnorm(z.score, lower.tail = F)*2
  
 +# 만약에 pnorm을 이용하여 정확한 
 +# probability를 구할 수 없는 상황
 +# 이라고 가정하면
 +# 우리는 CLT 정리를 생각하여 
 +# n = 100인 샘플을 무한 반복하여 
 +# 샘플링 하고, 각 샘플의 평균을 
 +# 기록하여 모아둔다면 그 분포는 
 +# N(mu, sigma^2/n) 이라는 것을 
 +# 안다. N(50, 100/100)
 +# 따라서 이 집합의 표준편차값은 
 +# sigma/sqrt(n) = 1
 +# 대충 바로 위의  그래프와 같은 
 +# 모습이고, 이 그래프에서 sd를 
 +# 위로 두개, 밑으로 두개 쓴 구간은
 +# 녹색에 해당하는 48-52 이다. 
 +# 이 구간에서 샘플의 평균이 나타날
 +# 확률은 95%라고 하였다. 따라서 
 +# 우리가 가지고 있는 m.s4의 값은 
 +# 52점 밖에 존재하므로 
 +# 5%의 확률로서만 얻을 수 있는 샘플
 +# 평균이라는 것을 알수 있다. 
 +
 +# 위의 결과를 가지고 두가지 판단을 할 수 
 +# 있다. 하나는 이 샘플의 평균이 모집단
 +# 평균이 50이고 표준편차가 10인 집단에서
 +# 나올 수 있는 샘플일 확률이 1/20밖에 
 +# 안되므로 이 샘플은 우리가 염두에 둔 
 +# 원래 모집단에서 나온 것이 아니라는 
 +# 생각이다. 
 +
 +# 두 번째는 이 샘플이 그 모집단에서 
 +# 나오기는 했다. 그러나 1/20 확률에 
 +# 우연찮게 이번에 걸려서 m.s4의 평균값이
 +# 나왔다. 
 +
 +# 이것은 1/20확률에 근거한 판단이므로 첫
 +# 번째 판단을 나의 주 판단으로 한다. 즉, 
 +# 이 샘플은 원래 모집단에서 나올 샘플이 
 +# 아닌 다른 집단에서 나온 샘플이다. 
 +
 +# 그런데 여기서 추가로 주목할 점은 내가 샘플이 
 +# 정상적인지 아니면 비정상적인지 판단하는 기준
 +# 선을 표준점수 +- 2에 두었다는 점이다. 
 +# m.s4의 점수는 53.2 이므로 m.s4-m.pop(50)
 +# 인 3.2는 샘플평균들의 집합에서 구하는 
 +# 표준편차가 3.2만큼 떨어진 것을 알 수 있다. 
 +# 우리는 이것을 표준점수라고 하였으므로 
 +# 우리가 구한 z-score = 3.2라는 것을 알 수 있고
 +# 이 점수가 표준편차값 2개를 위아래로 적용한 선보다 
 +# 밖에 존재하므로 샘플이 모집단에서 나오지 않은 
 +# 특별한 샘플이라는 것을 주장할 수 있다.
 </code> </code>
 +
 +
c/ms/2025/lecture_note_week_04.1742939874.txt.gz · Last modified: 2025/03/26 06:57 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki