c:mrm:standard_error
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| c:mrm:standard_error [2020/05/17 17:11] – [퍼센티지에서의 표준오차] hkimscil | c:mrm:standard_error [2023/05/18 10:19] (current) – [R 에서의 simulation] hkimscil | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| $ \overline{X} \sim \text{N} \left(\mu, \dfrac{\sigma^2}{n} \right)$ | $ \overline{X} \sim \text{N} \left(\mu, \dfrac{\sigma^2}{n} \right)$ | ||
| + | |||
| + | * 위에서 $\overline{X} $ 는 X bar 들의 분포를 이야기한다. 즉 샘플평균들의 분포(집합)를 말한다. | ||
| + | * N 은 Normal distribution 을 뜻한다. | ||
| + | * 괄호의 내용은 이 Normal distribution이 | ||
| + | * 평균값으로 $\mu$ 값을 갖고, | ||
| + | * 분산값으로 $\dfrac{\sigma^2}{n}$ 값을 갖는다는 뜻이다 | ||
| + | |||
| 예, | 예, | ||
| Line 189: | Line 196: | ||
| 이 논리는 분자부분이 probability sampling을 취했다면 약간의 오차라도 큰 차이가 나지 않을 것이며, n이 충분히 크면, se 값이 충분히 작을 것이라는 논리이다. | 이 논리는 분자부분이 probability sampling을 취했다면 약간의 오차라도 큰 차이가 나지 않을 것이며, n이 충분히 크면, se 값이 충분히 작을 것이라는 논리이다. | ||
| + | ===== R 에서의 simulation ===== | ||
| + | |||
| + | < | ||
| + | set.seed(1203) | ||
| + | # p.n 숫자의 모집단을 생성한다. | ||
| + | # 모집단은 a, b, c, g 를 지지하는 비율이 | ||
| + | # .40, 35, .05, .20 과 같다. | ||
| + | p.n <- 100000 | ||
| + | pa <- .4 | ||
| + | pb <- .35 | ||
| + | pc <- .05 | ||
| + | pg <- .2 | ||
| + | pop <- sample(c(" | ||
| + | size=p.n, replace=TRUE, | ||
| + | prob=c(pa, pb, pc, pg)) | ||
| + | |||
| + | # 위의 모집단에서 샘플을 (n = 100) 취하되 | ||
| + | # 이를 만번 반복한다 | ||
| + | iter <- 10000 | ||
| + | n <- 100 | ||
| + | psa <- rep (NA, iter) # 샘플에서 (100) a를 선택하는 비율을 기록 | ||
| + | ps <- matrix(data=NA, | ||
| + | for(i in 1:iter){ | ||
| + | ps[i, ] = sample(pop, n) # 만번 반복하여 n개의 (100) sample을 pop에서 취하여 ps matrix에 기록 | ||
| + | psa[i] = (length(which(ps[i, | ||
| + | } | ||
| + | # 정리 | ||
| + | # 40%의 a 선택자를 가진 모집단에서 (population) | ||
| + | # 100명의 샘플링을 만번 취했을 때, 그 샘플의 a 선택비율을 기록함 | ||
| + | |||
| + | sd.a <- sqrt(pa*(1-pa)) | ||
| + | se.a <- sd.a/ | ||
| + | se.a2 <- 2*se.a | ||
| + | se.a3 <- 3*se.a | ||
| + | |||
| + | se.a | ||
| + | se.a2 | ||
| + | se.a3 | ||
| + | |||
| + | range <- pa + c(-se.a2, se.a2) | ||
| + | range | ||
| + | |||
| + | lower <- range[1] | ||
| + | upper <- range[2] | ||
| + | |||
| + | a <- length(which(psa < lower)) | ||
| + | b <- length(which(psa < upper)) | ||
| + | |||
| + | (b-a)/ | ||
| + | |||
| + | hist(psa, freq = F) | ||
| + | curve(dnorm(x, | ||
| + | add=TRUE, lty=1, lwd=3) | ||
| + | abline(v=mean(psa), | ||
| + | abline(v=upper) | ||
| + | abline(v=lower) | ||
| + | |||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | > set.seed(1203) | ||
| + | > p.n <- 1000000 | ||
| + | > pa <- .4 | ||
| + | > pb <- .35 | ||
| + | > pc <- .05 | ||
| + | > pg <- .2 | ||
| + | > pop <- sample(c(" | ||
| + | + | ||
| + | + | ||
| + | > | ||
| + | > iter <- 100000 | ||
| + | > n <- 1600 | ||
| + | > psa <- rep (NA, iter) | ||
| + | > ps <- matrix(data=NA, | ||
| + | > for(i in 1:iter){ | ||
| + | + ps[i, ] = sample(pop, n) | ||
| + | + | ||
| + | + } | ||
| + | |||
| + | > sd.a <- sqrt(pa*(1-pa)) | ||
| + | > se.a <- sd.a/ | ||
| + | > se.a2 <- 2*se.a | ||
| + | > se.a3 <- 3*se.a | ||
| + | > | ||
| + | > se.a | ||
| + | [1] 0.01224745 | ||
| + | > se.a2 | ||
| + | [1] 0.0244949 | ||
| + | > se.a3 | ||
| + | [1] 0.03674235 | ||
| + | > | ||
| + | > range <- pa + c(-se.a2, se.a2) | ||
| + | > range | ||
| + | [1] 0.3755051 0.4244949 | ||
| + | > | ||
| + | > lower <- range[1] | ||
| + | > upper <- range[2] | ||
| + | > | ||
| + | > a <- length(which(psa < lower)) | ||
| + | > b <- length(which(psa < upper)) | ||
| + | > | ||
| + | > (b-a)/ | ||
| + | [1] 0.95517 | ||
| + | > | ||
| + | |||
| + | > hist(psa, freq = F) | ||
| + | > curve(dnorm(x, | ||
| + | + add=TRUE, lty=1, lwd=3) | ||
| + | > abline(v=mean(psa), | ||
| + | > abline(v=upper) | ||
| + | > abline(v=lower) | ||
| + | |||
| + | </ | ||
| + | |||
| + | {{: | ||
| < | < | ||
| set.seed(12032) | set.seed(12032) | ||
| p.n <- 100000 | p.n <- 100000 | ||
| + | pa <- .4 | ||
| + | pb <- .35 | ||
| + | pc <- .05 | ||
| + | pg <- .2 | ||
| - | pop <- sample(c(" | + | pop <- sample(c(" |
| + | | ||
| + | | ||
| pop <- factor(pop) | pop <- factor(pop) | ||
| Line 230: | Line 360: | ||
| </ | </ | ||
| - | < | ||
| - | set.seed(12032) | ||
| - | p.n <- 100000 | ||
| - | pop <- sample(c(" | ||
| - | size=p.n, replace=TRUE, | ||
| - | prob=c(0.4, 0.35, 0.05,0.2)) | ||
| - | |||
| - | iter <- 10000 | ||
| - | n <- 900 | ||
| - | psa <- rep (NA, iter) | ||
| - | ps <- matrix(data=NA, | ||
| - | for(i in 1:iter){ | ||
| - | ps[i, ] = sample(pop, n) | ||
| - | psa[i] = (length(which(ps[i, | ||
| - | } | ||
| - | hist(psa) | ||
| - | </ | ||
c/mrm/standard_error.1589703083.txt.gz · Last modified: by hkimscil
