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:51] – [퍼센티지에서의 표준오차] 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 에서의 | |
- | + | ||
- | < | + | |
- | set.seed(12032) | + | |
- | p.n <- 100000 | + | |
- | + | ||
- | pop <- sample(c(" | + | |
- | pop <- factor(pop) | + | |
- | + | ||
- | s.2500 <- factor(sample(pop, | + | |
- | s.1600 <- factor(sample(pop, | + | |
- | s.900 <- factor(sample(pop, | + | |
- | s.400 <- factor(sample(pop, | + | |
- | s.100 <- factor(sample(pop, | + | |
- | s.49 <- factor(sample(pop, | + | |
- | + | ||
- | t.2500 < | + | |
- | t.1600 < | + | |
- | t.900 <- data.frame(summary(s.900)/ | + | |
- | t.400 <- data.frame(summary(s.400)/ | + | |
- | t.100 <- data.frame(summary(s.100)/ | + | |
- | t.49 <- data.frame(summary(s.49)/ | + | |
- | + | ||
- | p <- t.100[1, | + | |
- | q <- 1-p | + | |
- | n <- length(s.100) | + | |
- | + | ||
- | sd.p <- sqrt(p*q) ## 표준편차값 | + | |
- | se <- sd.p/ | + | |
- | se2 <- 2*se | + | |
- | + | ||
- | se | + | |
- | se2 | + | |
- | + | ||
- | p+(c(-se2, se2)) ## 샘플지지율에서 | + | |
- | p ## 샘플에서 구한 지지율 | + | |
- | + | ||
- | data.frame(summary(pop)/ | + | |
- | + | ||
- | </ | + | |
< | < | ||
set.seed(1203) | set.seed(1203) | ||
+ | # p.n 숫자의 모집단을 생성한다. | ||
+ | # 모집단은 a, b, c, g 를 지지하는 비율이 | ||
+ | # .40, 35, .05, .20 과 같다. | ||
p.n <- 100000 | p.n <- 100000 | ||
pa <- .4 | pa <- .4 | ||
Line 241: | Line 212: | ||
prob=c(pa, pb, pc, pg)) | prob=c(pa, pb, pc, pg)) | ||
+ | # 위의 모집단에서 샘플을 (n = 100) 취하되 | ||
+ | # 이를 만번 반복한다 | ||
iter <- 10000 | iter <- 10000 | ||
n <- 100 | n <- 100 | ||
- | psa <- rep (NA, iter) | + | psa <- rep (NA, iter) # 샘플에서 (100) a를 선택하는 비율을 기록 |
- | ps <- matrix(data=NA, | + | ps <- matrix(data=NA, |
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | ps[i, ] = sample(pop, n) | + | ps[i, ] = sample(pop, n) # 만번 반복하여 n개의 (100) sample을 pop에서 취하여 ps matrix에 기록 |
- | psa[i] = (length(which(ps[i, | + | psa[i] = (length(which(ps[i, |
- | } | + | } |
+ | # 정리 | ||
+ | # 40%의 a 선택자를 가진 모집단에서 (population) | ||
+ | # 100명의 샘플링을 만번 취했을 때, 그 샘플의 a 선택비율을 기록함 | ||
sd.a <- sqrt(pa*(1-pa)) | sd.a <- sqrt(pa*(1-pa)) | ||
Line 338: | Line 314: | ||
{{: | {{: | ||
+ | |||
+ | < | ||
+ | set.seed(12032) | ||
+ | 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)) | ||
+ | pop <- factor(pop) | ||
+ | |||
+ | s.2500 <- factor(sample(pop, | ||
+ | s.1600 <- factor(sample(pop, | ||
+ | s.900 <- factor(sample(pop, | ||
+ | s.400 <- factor(sample(pop, | ||
+ | s.100 <- factor(sample(pop, | ||
+ | s.49 <- factor(sample(pop, | ||
+ | |||
+ | t.2500 < | ||
+ | t.1600 < | ||
+ | t.900 <- data.frame(summary(s.900)/ | ||
+ | t.400 <- data.frame(summary(s.400)/ | ||
+ | t.100 <- data.frame(summary(s.100)/ | ||
+ | t.49 <- data.frame(summary(s.49)/ | ||
+ | |||
+ | p <- t.100[1,1] | ||
+ | q <- 1-p | ||
+ | n <- length(s.100) | ||
+ | |||
+ | sd.p <- sqrt(p*q) ## 표준편차값 | ||
+ | se <- sd.p/ | ||
+ | se2 <- 2*se | ||
+ | |||
+ | se | ||
+ | se2 | ||
+ | |||
+ | p+(c(-se2, se2)) ## 샘플지지율에서 추론한 모집단 지지율 | ||
+ | p ## 샘플에서 구한 지지율 | ||
+ | |||
+ | data.frame(summary(pop)/ | ||
+ | |||
+ | </ | ||
+ | |||
+ |
c/mrm/standard_error.txt · Last modified: 2023/05/18 10:19 by hkimscil