User Tools

Site Tools


estimating_populations_and_samples:mean_of_proportions_code

This is an old revision of the document!


# set.seed(101)
k <- 1000
n <- 100
p <- 1/4
q <- 1-p
# in order to clarify what we are doing
# X~B(n,p) 일 때, 100개의 검볼을 샘플링해서 
# red gumball을 세봤더니
rbinom(1,n,p) # 24개 였다라는 뜻 

# 아래는 이것을 1000번 (k번) 한 것
numbers.of.red.gumball <- rbinom(k, n, p)
head(numbers.of.red.gumball)

# 아래처럼 n으로 (100개의 검볼이 총 숫자이므로) 
# 나눠주면 비율을 구할 수 있다
proportions.of.rg <- numbers.of.red.gumball/n
ps.k <- proportions.of.rg
head(ps.k)

mean.ps.k <- mean(ps.k)
mean.ps.k
hist(ps.k)


####
# set.seed(101)
k <- 1000000
n <- 100
p <- 1/4
q <- 1-p
numbers.of.red.gumball <- rbinom(k, n, p)

# 아래처럼 n으로 (100개의 검볼이 총 숫자이므로) 
# 나눠주면 비율을 구할 수 있다
proportions.of.rg <- numbers.of.red.gumball/n
ps.k <- proportions.of.rg
mean.ps.k <- mean(ps.k)
mean.ps.k

# variance?
var.cal <- var(ps.k)
var.cal
var.value <- (p*q)/n
var.value

# standard deviation 
sd.cal <- sqrt(var.cal)
sd.cal
sd.value <- sqrt(var.value)
sd.value 

se <- sd.value 
# 우리는 standard deviation of sample
# proportions을 standard error라고 부른다

# 위의 histogram 에서 mean 값은 이론적으로
p
# standard deviation값은 
se

qnorm(.975)
# 우리는 평균값에서 +- 2*sd.cal 구간이 95%인줄 안다. 
se2 <- se * qnorm(.975)
# 즉, 아래 구간이 
lower <- p-se2
upper <- p+se2
lower
upper

hist(ps.k)
abline(v=lower, col=2, lwd=2)
abline(v=upper, col=2, lwd=2)

a <- pnorm(lower, mean=p, sd=se)
b <- pnorm(upper, p, se)
b-a
lower
upper

# 위의 그래프가 의미하는 것은 rbinom(1, n, p) / n로 
# 얻은 하나의 샘플의 proportion의 (비율) 값은 
# 95/100 확률로 lower에서 upper사이에 있을 것이라는 
# 뜻
rbinom(1, n, p)/n
rbinom(1, n, p)/n

k <- 100
sa1 <- rbinom(k, n, p) / n
head(sa1)
sa1 < lower 
sa1 > upper
table(sa1 < lower)
table(sa1 > upper)

table(sa1 < lower | sa1 > upper) 
table(sa1 < lower | sa1 > upper) / k

estimating_populations_and_samples/mean_of_proportions_code.1762124333.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki