본문 바로가기
@ 필수과목/손으로 푸는 통계

[손으로 푸는 통계 ver1.0] 86. R로 카이제곱분포 그래프 그려보기

by bigpicture 2022. 3. 25.
반응형

 

 

지난시간까지 미분을 이용하여 카이제곱분포의 그래프 형태를 예측해보았습니다. 

 

우리가 예측한 1,2,3 자유도 카이제곱분포 그래프는 아래와 같습니다. 

 

 

 

4자유도 카이제곱분포 그래프는 아래와 같습니다. 

 

 

5자유도 이상인 카이제곱분포 그래프는 아래와 같습니다. 

 

 

2자유도의 c를 구해봅시다.

 

$f(x)=\frac{1}{2^{\frac{n}{2}}
\Gamma \left ( \frac{n}{2} \right )
}
e^{-\frac{x}{2}} x^{\frac{n}{2}-1}$

 

위 식 계수에 2를 넣으면 되구요. 감마 1은 1이니까. 0.5가 나옵니다. 

 

R을 이용하여 우리가 예측한 그래프 형태가 맞는지 알아봅시다. R의 dchisq 라는 함수를 이용하면 카이제곱분포의 함수 값을 알 수 있습니다. 코드는 아래와 같습니다. 

 

#원하는 자유도 입력, 해당 자유도까지 plot
max_dof=7

plot(0,0, type="n",xlim=c(0,20),
     ylim=c(0,1),xlab="X",ylab="f(X)")

for (dof in 1:max_dof){
x=seq(0,40,0.1)
y=dchisq(x,dof)
points(x,y,type='l',col=rainbow(max_dof)[dof])
}

box("outer", col="gray",lwd=1)

 

max_dof 에 원하는 숫자를 입력하면 해당 자유도까지 그래프가 그려지도록 하였습니다. 색은 rainbow 함수를 이용하여 빨간색부터 보라색 사이에 있는 색을 갖도록 했습니다. max_dof에 7을 넣고 실행한 결과는 아래와 같습니다. 

 

 

우리 예상과 일치합니다. 5자유도부터 변곡점이 생기는 것도 보이네요. 

반응형

댓글