반응형
과연 중심극한정리도 실제로 작동할까요? 표본평균의 분포를 정규분포로 가정하고 구한 p값과 실제 분포에서 구한 p값은 잘 일치할까? 라는 궁금증이 생겼습니다. 이번시간에는 그래프를 그려보며 눈으로 비교하고, 다음 시간에는 p값을 구해서 비교해보겠습니다.
테스트에 사용할 모집단은 아래와 같습니다.
ppltn=c(1,2,3,4,5,6,7,8,9,10)
1부터 10까지의 자연수입니다. 정규분포와는 거리가 멉니다. 먼저 크기가 3인 표본을 50000번 추출하여 히스토그램을 그리고 정규분포와 비교하였습니다.
전체적인 모양은 비슷합니다. 크기를 10으로 늘려보았습니다.
모양이 상당히 비슷합니다. 최댓값도 비슷합니다. 표본분산의 분포와 카이제곱분포를 비교할 때는 최댓값이 많이 달랐는데 표본평균의 분포에서는 잘 일치합니다.
이번에는 표본의 크기를 30으로 늘렸습니다. 모양이 아주 비슷합니다.
마지막으로 표본의 크기를 100까지 키워봤습니다.
모양은 아주 잘 일치합니다. 다음시간에는 정량적인 평가를 해보려고 합니다. 위 두 그래프에서 구한 p값을 비교해보겠습니다.
<code>
#설정값
ppltn=c(1,2,3,4,5,6,7,8,9,10)
size=100
m=mean(ppltn)
s=sd(ppltn)
se=s/sqrt(size)
#분포함수 그리기
dt=list()
for (i in 1:50000){
dt[[i]]=mean(sample(ppltn,size,replace=TRUE))
}
par(mfrow=c(1,2))
#h1=hist(unlist(dt))
h1=hist(unlist(dt),plot=FALSE)
#x=seq(floor(min(unlist(dt))),ceiling(max(unlist(dt))),by=(h1$breaks[2]-h1$breaks[1]))
#크기 30이상은 아래 x로 설정
x=seq(floor(min(unlist(dt))),ceiling(max(unlist(dt))),by=0.01)
hist(unlist(dt) ,breaks=x ,freq=FALSE,xlab="x^2",
main=paste0( "히스토그램 (표본크기 " , size ,")" ) )
points(c(m,m),c(0,1),type='l',col='red')
x2=seq(floor(min(unlist(dt))),ceiling(max(unlist(dt))),by=0.01)
plot( x2, dnorm(x2,m,se),type='l',ylab='Density',xlab="x^2",
main=paste0('정규분포' ) )
points(c(m,m),c(0,1),type='l',col='red')
(max(h1$density)-dchisq(size-3,size-1))/max(h1$density)*100
반응형
'@ 통계 교양 > 통계 Tips' 카테고리의 다른 글
표본의 크기 결정 방법 수식 설명 및 유도 (0) | 2023.01.11 |
---|---|
민감도, 특이도, 양성예측도, 음성예측도 외우는 법 (0) | 2022.12.27 |
비복원추출인 경우 표본평균의 평균과 분산 (유도링크 추후 보완예정) (3) | 2022.12.20 |
표본평균의 분포는 정말 정규분포가 될 수 있을까 (2) p 값 비교 (0) | 2022.09.16 |
t검정에서 표준편차가 p값에 주는 영향 (0) | 2022.09.05 |
t검정 대신 상관분석을 쓸 수 있다고? (0) | 2022.08.21 |
통계적 유의차가 있다고 의미있는 차이일까 (0) | 2022.07.22 |
n이 커지면 정규분포로 근사시킬 수 있는 분포들 (0) | 2022.07.21 |
댓글