2017-11-28 9 views
0

나는 아주 간단한 테스트와 함께 matlab에 chi2gof 함수를 사용하는 방법을 이해하려고 노력하고있어. 동전을 190 번 던져서 94 개의 머리와 96 개의 꼬리를 얻는다 고 가정 해 봅시다. 귀무 가설은 내가 95h, 95t를 얻는 것입니다. 지금까지 내가 문서를 이해, 내가 그러나matlab에 chi2gof 기능 이해

[h,p,stats] = chi2gof([94,96], 'expected', [95,95])

을 실행하여 가설을 검증 할 수 있어야한다, 이것은 가정으로 귀무 가설은 말이 안되는, 거부하는 것을 의미 H = 1을 반환합니다. 또 다른 이상한 점은 statsO 매개 변수가 O: [0 2]으로 반환되지만 내 입력 ([94,96])이 아니어야한다는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

내가 뭘 잘못하고 있니?

+0

이 게시물은 당신을 도울 수 : https://math.stackexchange.com/a/1819440/356329 – OmG

답변

1

문제는 동전의 누적 결과가 chi2gof으로 전달된다는 것입니다. 적합도 테스트는 전체 샘플에서 수행해야합니다. 공식 문서 (참조 here)에서 : 가설 테스트

  • x = 샘플 데이터, 벡터로 지정 (코드의 잘못된 부분)
  • Expected = 각 빈에 대한 계수 (예상

    : 코드
    )의 정확한 부분은

은의 올바른 변수를 사용하는 예제를 만들어 보자 0

ct = randsample([0 1],190,true,[0.49 0.51]); 
[h,p,stats] = chi2gof(ct,'Expected',[95 95]); 

h의 반환 값은 0이며 절대적으로 맞습니다.

지금의 실패하도록되어 예를 만들어 보자 :이 두 번째 테스트에서 반환

ct = randsample([0 1],190,true,[0.05 0.95]); 
[h,p,stats] = chi2gof(ct,'Expected',[95 95]); 

당신이 볼 수 있듯이, h1와 동일합니다.

마지막으로, 테스트의 p-value 인 두 번째 출력 인수를 살펴보고 결과의 중요성을 평가하는 중요한 요소임을 잊지 마십시오.