카이 제곱을 사용하여 비율을 비교할 수 있습니까?


13

카이 제곱 테스트는 샘플이 예상 값 세트와 크게 다른지 확인하는 데 유용하다는 것을 읽었습니다.

예를 들어, 다음은 사람들이 선호하는 색상 (n = 15 + 13 + 10 + 17 = 55 총 응답자)에 대한 설문 조사 결과 테이블입니다.

red,blue,green,yellow

15,13,10,17

카이 제곱 검정은이 표본이 각 색상을 좋아하는 사람들의 동등한 확률에 대한 귀무 가설과 크게 다른지 여부를 알려줍니다.

질문 : 특정 색상을 선호하는 전체 응답자의 비율로 테스트를 실행할 수 있습니까? 아래처럼 :

red,blue,green,yellow

0.273,0.236,0.182,0.309

물론 0.273 + 0.236 + 0.182 + 0.309 = 1입니다.

이 경우 카이 제곱 검정이 적합하지 않은 경우 어떤 검정이 적용됩니까? 감사!

편집 : 아래 @Roman Luštrik 대답을 시도하고 다음과 같은 결과를 얻었습니다. 왜 p- 값을 얻지 못하고 R이 "제곱 근사가 잘못되었을 수 있습니다"라고 말합니까?

> chisq.test(c(0,0,0,8,6,2,0,0),p = c(0.406197174,0.088746395,0.025193306,0.42041479,0.03192905,0.018328576,0.009190708,0))

    Chi-squared test for given probabilities

data:  c(0, 0, 0, 8, 6, 2, 0, 0) 
X-squared = NaN, df = 7, p-value = NA

Warning message:
In chisq.test(c(0, 0, 0, 8, 6, 2, 0, 0), p = c(0.406197174, 0.088746395,  :
  Chi-squared approximation may be incorrect

1
두 번째 경우 총 샘플 크기를 알고 있다고 가정합니까? 아님?
추기경

@ cardinal : 예 총 샘플 크기를 알고 있습니다.
hpy

3
그런 다음 비율에 총 샘플 크기를 곱하여 카운트 테이블로 변환하고 카이-제곱을 적용하십시오. 첫 번째 예에 해당하는 방법.
Aaron

당신이 "적합성"테스트 (카이 제곱 사용)에 대해 질문하고있는 것 같습니다. 그 사용법은 다음과 같습니다. 건배, 탈
탈 Galili

답변:


7

내가 틀렸다면 수정하지만이 명령을 사용하여 R 에서이 작업을 수행 할 수 있다고 생각합니다.

> chisq.test(c(15,13,10,17))

    Chi-squared test for given probabilities

data:  c(15, 13, 10, 17) 
X-squared = 1.9455, df = 3, p-value = 0.5838

이것은 각각 1/4의 비율을 가정합니다. argument를 통해 예상 값을 수정할 수 있습니다 p. 예를 들어 사람들이 어떤 이유로 든 한 가지 색을 다른 색보다 선호 할 수 있다고 생각합니다.

> chisq.test(c(15,13,10,17), p = c(0.5, 0.3, 0.1, 0.1))

    Chi-squared test for given probabilities

data:  c(15, 13, 10, 17) 
X-squared = 34.1515, df = 3, p-value = 1.841e-07

2
셀 수가 적기 때문에이 내용이 표시되는 것 같습니다 (일부 읽은 책은 셀 당 최소 5를 제안합니다). 이 주제에 대해 더 잘 아는 사람이있을 수 있을까요?
Roman Luštrik

1
또한 확률의 마지막을 0 이상으로 만들면 p 값을 얻을 수 있습니다 (그러나 경고는 여전히 남아 있습니다).
Roman Luštrik

1
Ott & Longnecker (통계 분석법 및 데이터 분석 소개, 5 판)는 504 페이지의 각 셀이 근사값을 편안하게 사용하기 위해 5 이상이어야한다고 설명합니다.
Roman Luštrik

1
@ penyuan : 당신은 꽤 제로 카운트가 있다고 언급해야합니다. 이 경우 Chi-square를 사용하는 것이 로마인이 옳은 이유는 그가 언급 한 이유로 작동하지 않습니다.
Joris Meys

1
@ penyuan : 몇 가지 옵션을 제공하는 답변을 추가했습니다.
Joris Meys

6

제공 한 추가 정보 (값 중 일부가 0 임)를 사용하면 솔루션이 아무것도 반환하지 않는 이유가 분명합니다. 하나는 확률이 0이므로 다음과 같습니다.

  • Henry의 해에서 e i 는 하나 이상의 i에 대해 0입니다.ei
  • 확률 논리학의 해에서 n p i 는 적어도 하나의 i에 대해 0입니다npi

p=0

주어진 :

X <- c(0,0,0,8,6,2,0,0)
p <- c(0.406197174,0.088746395,0.025193306,0.42041479,0.03192905,0.018328576,0.009190708,0)

당신은 할 수 있습니다 :

> p2 <- p + 1e-6
> chisq.test(X,p2)

        Pearson's Chi-squared test

data:  X and p2 
X-squared = 24, df = 21, p-value = 0.2931

그러나 이것은 올바른 결과가 아닙니다. 어쨌든 이러한 경계선 사례에서 카이 제곱 검정을 사용하지 않아야합니다. 더 나은 접근법은 부트 스트랩 접근법을 사용하여 적응 된 테스트 통계량을 계산하고 샘플의 통계량을 부트 스트랩에 의해 얻은 분포와 비교합니다.

R 코드에서 이것은 (단계적으로) 될 수 있습니다 :

# The function to calculate the adapted statistic.
# We add 0.5 to the expected value to avoid dividing by 0
Statistic <- function(o,e){
    e <- e+0.5
    sum(((o-e)^2)/e)
}

# Set up the bootstraps, based on the multinomial distribution
n <- 10000
bootstraps <- rmultinom(n,size=sum(X),p=p)

# calculate the expected values
expected <- p*sum(X)

# calculate the statistic for the sample and the bootstrap
ChisqSamp <- Statistic(X,expected)
ChisqDist <- apply(bootstraps,2,Statistic,expected)

# calculate the p-value
p.value <- sum(ChisqSamp < sort(ChisqDist))/n
p.value

이것은 p- 값 0을 제공하는데, 이는 관찰 된 것과 기대 된 것의 차이와 훨씬 더 일치합니다. 이 방법은 데이터가 다항 분포에서 추출 된 것으로 가정합니다. 이 가정이 유지되지 않으면 p- 값도 유지되지 않습니다.


1
pi=0iipi=0pi=1/6i61,,10

@ cardinal : 방금 예상 값이 0이지만 관찰 할 필요는없는 데이터를 설명했습니다. 그것은 OP가 우리에게 준 것입니다 (두 번째 생각에서는 실제로 비현실적이라고 들립니다). 따라서 p 값에 약간을 추가하여 불가능하지 않고 매우 불가능하게 만드는 것이 도움이 될 것입니다. 그러나이 경우에도 카이 제곱은 5보다 작은 수의 테이블 셀로 인해 유효하지 않습니다 ( 암호). 내 대답에 포인터에 대한 thx의 고려 사항을 추가했습니다.
Joris Meys

pi=0

4

1E(xi)

ψ=ixilog(xinpi)

xiii{red, blue, green, yellow}n55pipi=pj

χ2=i(xinpi)2npi2ψ

fi=xin

ψ=nifilog(fipi)
χ2=ni(fipi)2pi

ψψpi1piψ

H1H2piψ1ψ2exp(ψ1ψ2)H2H1exp(12χ1212χ22)

H2ψ2=χ22=0

χ22npi<10ψ


1
예상 주파수 가 10보다 클 수 없다고 확신합니다 . :)
Cardinal

@ cardinal-이것이 귀하의 이의 제기가되어 기뻤습니다. 왜냐하면 나머지 답변이 좋았을 것입니다 :).
chanceislogic

와우, 나는 너무 까다 롭고 심술 being다는 평판을 얻지 않기를 바랍니다.
추기경

1
ψ2ψχ2χ22ψ0χ22ψχ2
추기경

χ22ψ

3

예, 귀무 가설을 테스트 할 수 있습니다. "H0 : prop (red) = prop (blue) = prop (green) = prop (yellow) = 1 / 4"설문 조사 비율 (0.273)을 비교하는 카이 제곱 검정을 사용하여 , ...)를 예상 비율 (1/4, 1/4, 1/4, 1/4)로


확인하기 만하면 서로 다른 예상 비율로 작동합니까?
hpy

4
전체 표본 크기를 모르면 테스트는 의미가 없습니다. 1.0 / 0.0 / 0.0 / 0.0의 비율은 100 크기의 샘플과 반대로 1 크기의 샘플에서 온 경우 매우 다른 것을 의미합니다.
Aaron

예, 총 샘플 크기를 알고 있습니다.
hpy

2

Pearson 카이 제곱 검정의 검정 통계량은 다음과 같습니다.

i=1n(OiEi)2Ei

oi=Oinei=Einn=i=1nOii=1nei=1

ni=1n(oiei)2ei

따라서 관측 된 비율의 유의성 검정은 예상 한대로 표본 크기에 따라 다릅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.