본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 51. 중심극한정리 시뮬레이션

by 만다린망고 2020. 3. 26.
반응형
도구 R로 푸는 통계

51. 중심극한정리 시뮬레이션



중심극한정리가 실제로 성립하는지 구현해봅시다.

(중심극한정리 설명 : http://hsm-edu.tistory.com/21)


먼저 모집단을 만들겠습니다. 1~10,40~50,90~100 사이 수로 이루어진 집단입니다. Q-Q plot을 그려보면 정규분포를 따르지 않는다는 것을 알 수 있습니다. 의도적으로 정규분포를 따르지 않도록 설정하였습니다. (Q-Q plot 그리는 법 : http://hsm-edu.tistory.com/473)


population=c(1:10,40:50,90:100)

qqnorm(population)

qqline(population)


 


for문을 이용해서 표본을 3000번 뽑았습니다. 표본의 크기는 1부터 1000까지 증가시켰습니다. 


par 함수를 이용하여 화면을 6개로 분할하였습니다. (화면 분할 방법 : http://hsm-edu.tistory.com/475)


par(mfrow = c(3, 2))


Sample_Mean=numeric()

for(i in 1:3000) Sample_Mean[i]=mean(sample(population,1,replace=TRUE))

hist(Sample_Mean,freq=FALSE,main="n=1",xlab="Sample_Mean (n=1)")

lines(density(Sample_Mean))


Sample_Mean=numeric()

for(i in 1:3000) Sample_Mean[i]=mean(sample(population,5,replace=TRUE))

hist(Sample_Mean,freq=FALSE,main="n=5",xlab="Sample_Mean (n=10)")

lines(density(Sample_Mean))


Sample_Mean=numeric()

for(i in 1:3000) Sample_Mean[i]=mean(sample(population,30,replace=TRUE))

hist(Sample_Mean,freq=FALSE,main="n=30",xlab="Sample_Mean (n=30)")

lines(density(Sample_Mean))


Sample_Mean=numeric()

for(i in 1:3000) Sample_Mean[i]=mean(sample(population,100,replace=TRUE))

hist(Sample_Mean,freq=FALSE,main="n=100",xlab="Sample_Mean (n=100)")

lines(density(Sample_Mean))


Sample_Mean=numeric()

for(i in 1:3000) Sample_Mean[i]=mean(sample(population,500,replace=TRUE))

hist(Sample_Mean,freq=FALSE,main="n=500",xlab="Sample_Mean (n=500)")

lines(density(Sample_Mean))


Sample_Mean=numeric()

for(i in 1:3000) Sample_Mean[i]=mean(sample(population,1000,replace=TRUE))

hist(Sample_Mean,freq=FALSE,main="n=1000",xlab="Sample_Mean (n=1000)")

lines(density(Sample_Mean))



표본의 크기(n)가 30정도 되면 어느정도 정규분포의 모양을 갖네요. 30이라는 숫자가 괜히 나온게 아니군요. 


 

영상이 더 편하신 분

 

 
반응형

댓글