우리가 살아가는 도시

R을 활용한 통계학 이론과 응용 - 6장 공식 및 코딩연습 본문

내가 알아가는 도시/Statistics

R을 활용한 통계학 이론과 응용 - 6장 공식 및 코딩연습

세화주 2017. 1. 9. 18:36

6장. 반복표본에서의 변동: 표본분포

 

1) 공식

 

2) 개념

 - 모수 : 모집단의 수치적 특성치

- 통계량 : 표본 관측값들의 실수값 함수

 - 확률분포 : 통계량(표본의 계산값)의 확률분포 / 즉 모집단으로부터 반복적으로 표본을 추출할 때 통계량이 갖는 분포

 - 중심극한의 정리 : 표본의 크기가 크면 표본 통계량(표본평균)도 근사적으로 정규분포를 따름

 

3) 코딩

# 예제 6.3 (n=5인 표본평균)
x = matrix(runif(500, 0, 9), nrow = 100, ncol = 5)
xbar = apply(x, 1, mean)

         #apply(x,margin,fun,...) x=대상자료객체, margin: 차원(1(행), 2(열), 3(세번째차원, c(1,2)(행,열), fun: 적용할 함수 명)
hist(xbar, probability=T)
mean(xbar)
sd(xbar)

 

# 예제 6.4
pnorm(83.2, 82, 1.5) - pnorm(80.8, 82, 1.5)
pnorm(83.2, 82, 1.2) - pnorm(80.8, 82, 1.2)


### 중심극한정리

## 이항분포

par(mfrow=c(1,3))


n=10; p=.25; S = rbinom(100, n, p)
X = (S - n*p) / sqrt(n*p*(1-p))
hist(X, prob=T, ylim = c(0, 0.7))
curve(dnorm(x, 0, 1), add=TRUE, col="red")

 

n=20; p=.25; S = rbinom(100, n, p)
X = (S - n*p) / sqrt(n*p*(1-p))
hist(X, prob=T, ylim = c(0, 0.7))
curve(dnorm(x, 0, 1), add=TRUE, col="red")

 

n=100; p=.25; S = rbinom(100, n, p)
X = (S - n*p) / sqrt(n*p*(1-p))
hist(X, prob=T, ylim = c(0, 0.7))
curve(dnorm(x, 0, 1), add=TRUE, col="red")

 

dev.off()


## 정규분포
results = c()
mu = 0; simga = 1
for (i in 1:200) {
    X = rnorm(100, mu, sigma)
    results[i] = (mean(X)-mu) / (sigma/sqrt(100))
}
hist(X, prob=T)
curve(dnorm(x, 0, 1), add=TRUE, col="red")


## 정규확률지
par(mfrow=c(1,3))

x = rnorm(100, 0, 1); qqnorm(x, main = "N(0,1)"); qqline(x, col="red")
x = rexp(100, 1/10); qqnorm(x, main = "Exp(10)"); qqline(x, col="red")
x = runif(100, 0, 1); qqnorm(x, main = "U(0,1)"); qqline(x, col="red")

dev.off()