2014-01-25 5 views
3

적합 테스트를 사용하여 카이 제곱 분포를 생성하려고합니다.적합도 테스트를 사용하여 카이 제곱 분포 생성

null.probs=c(0.17,0.37,0.23,0.23); 
chi.sq.data <- numeric() 

M=1000 
samp.size=740 
for (k in 1:M) { 
    samp.data = sample(c("Often","Some","Hardly","Never"), 
        size=samp.size, 
        replace=TRUE, 
        prob=null.probs) 
    E=samp.size*null.probs; 
    chi.sq.data[k] <- sum((table(samp.data)-E)^2/E) 
} 

hist(chi.sq.data,prob=TRUE) 

분명히 내 생각이 잘못되었습니다.

enter image description here

어떤 제안이?

다음은 제안 된 제안 덕분입니다.

null.probs=c(0.17,0.37,0.23,0.23); 
chi.sq.data <- numeric() 

M=1000 
samp.size=740 
for (k in 1:M) { 
    samp.data = sample(c("Often","Some","Hardly","Never"), 
        size=samp.size, 
        replace=TRUE, 
        prob=null.probs) 
    n.Often=sum(samp.data=="Often") 
    n.Some=sum(samp.data=="Some") 
    n.Hardly=sum(samp.data=="Hardly") 
    n.Never=sum(samp.data=="Never") 
    O=c(n.Often,n.Some,n.Hardly,n.Never) 
    E=samp.size*null.probs 
    chi.sq.data[k] <- sum((O-E)^2/E) 
} 


hist(chi.sq.data,prob=TRUE,breaks="FD") 
curve(dchisq(x,3),0,max(chi.sq.data),col="red",add=TRUE) 

그리고 결과 이미지.

enter image description here

+0

나는'? rchisq'를 직접 할 수있는 것처럼 느껴진다.'? distributions'을 보라. R에 들어있는 것들이 많이있다. –

답변

3

당신은 당신이 순서 c("Often","Some","Hardly","Never")에 기대 값을 할당되지만 어떤 하나의 실행 통지를 살펴 경우 해당 테이블은 그냥 알파벳 순으로 진행 순서가 너무 무엇인지 모르고있다 코딩이 방법 : c("Hardly","Never","Often","Some")

실제로 기대에 부합하면 문제가 해결됩니다.

그러나 유일한 목표가 카이 제곱을 생성하는 것이라면 rchisq이 더 좋은 대안입니다.

+0

좋은 관찰. 나는 해결책을 보여주기 위해 나의 질문을 편집했다. 나는 내가 rchisq를 사용할 수 있다는 것을 알고 있지만 그것이 내가 원하는 것이 아니었다. 목표는 단순히 chisq 분포의 그림을 그리는 것이 아니라 많은 샘플에 적용하면 적합 프로세스의 우수성이 chisq 분포를 생성 함을 보여주기위한 것이 었습니다. 당신의 관찰 덕분에, 나는 그것을 작동 시켰습니다. – David

0

@Dason이 맞습니다. 또한 null이없는 데이터를 생성하므로 non-central chi-squared distribution에서 카이 제곱 통계를 생성 할 수 있습니다. 게다가 카이 제곱 통계의 실제 행동은 카이 제곱 분포에 근사 할 수 있다는 점에 주목할 가치가있다. 이는 데이터가 불연이지만 분포가 연속적이기 때문에 데이터가 실현 될 수있는 가능성이 너무 많기 때문에 카이 제곱 분포에 무한한 값이있을 수 있으므로 설정에서 데이터에 발생할 수는 없습니다 (N = 740 임에도 불구하고 근사치는 합리적이어야 함). 이 문제에 대한 자세한 내용은 여기를 참조하십시오 (stats.SE) Comparing and contrasting p-values, significance levels, and type I error 내 대답을 읽는 데 도움이 될 수 있습니다. ?rchisq을 사용하는 것이 가장 좋습니다.

관련 문제