나는 다음과 같은 알고리즘에 따라 카이 제곱 확률 변수를 생성하기 위해 노력하고있어 :실수는
A (i)는도 독립적 인 표준 정규 확률 변수 witn의 분입니다 홀수는 각각 입니다.
dch = double(1000)
t = double(1)
for(i in 1:1000) {
for(j in 1:m) {
x = runif(1, 0, 1)
t = t + x*x
}
dch[i] = t
}
하지만 잘못된 밀도 플롯을 얻고있다 :
내가 쓴 코드는 다음과 같습니다
위키 백과는 다음과 같은 정의를 제공합니다. 실수는 어디에 있습니까? 어떻게 해결할 수 있습니까?
음,'m'을 정의하지 않았습니다. 당신은 정규 무작위 변수가 아닌 균일 무작위 변수를 사용합니다. 그게 내가 바라는 실수 야. – Gregor
또한 PNG 이미지를 제대로 읽을 수는 없지만 2에서 m/2로 이동하는 것처럼 보입니다. 1에서 m으로 이동합니다. 제품의 로그는 로그의 합계로 다시 쓸 수 있습니다. 당신은 합산하고 있지만 어떤 로그도 가지고 있지 않습니다 ... – Gregor
물론 일반 RV의 로그를 취할 수는 없으므로 코드 (균일 무작위 변수)가 정확하고 설명 (표준 정규 확률 변수) 문제가 있습니다. – Gregor