분포가 푸 아송 분포와 약간 다른 방법은 무한합니다. Poisson 분포에서 데이터 세트 가 추출 되었음을 식별 할 수 없습니다 . 당신이 할 수있는 것은 포아송에서 볼 수있는 것과 불일치를 찾는 것이지만, 불일치가 분명하지 않아서 포아송으로 만들지는 않습니다.
그러나이 세 가지 기준을 확인하여 말하는 것은 통계적 수단 (즉, 데이터를보고)으로 Poisson 분포에서 데이터를 가져 오는지 확인하는 것이 아니라 데이터가 생성 된 프로세스가 다음을 충족하는지 여부를 평가하는 것입니다. 푸 아송 공정의 조건; 모든 조건이 유지되거나 거의 유지되는 경우 (그리고 데이터 생성 프로세스를 고려한 경우), 포아송 프로세스와 관련이 있거나 포이 슨 프로세스와 매우 유사한 조건을 가질 수 있습니다. 포아송 분포.
그러나 조건은 여러 가지 방식으로 유지되지 않습니다 ... 그리고 사실에서 가장 먼 곳은 3 번입니다. Poisson 프로세스를 주장 할 특별한 이유는 없지만 위반이 그렇게 나쁘지는 않지만 결과 데이터가 너무 멀지는 않습니다. 포아송에서.
따라서 데이터 자체를 조사하여 얻은 통계적 주장으로 돌아갑니다. 데이터는 분포가 비슷한 것이 아니라 포아송이라는 것을 어떻게 보여줍니까?
처음에 언급했듯이, 데이터가 Poisson이라는 기본 분포와 분명히 일치하지 않는지 확인하지만 Poisson에서 추출되었다는 것을 알려주지는 않습니다 (이미 데이터가 있다고 확신 할 수 있음) 아니).
적합도 테스트를 통해이 검사를 수행 할 수 있습니다.
언급 된 카이-제곱은 그러한 것 중 하나이지만, 나는이 상황에 대해 카이-제곱 테스트를 권장하지 않습니다. **; 흥미로운 편차에 대해 전력이 낮습니다. 당신의 목표가 좋은 힘을 갖는 것이라면, 그런 식으로 얻지 못할 것입니다 (힘에 관심이 없다면 왜 테스트하겠습니까?). 주요 가치는 단순하며 교육 학적 가치가있다. 그 밖에는 적합도 테스트로서 경쟁력이 없습니다.
** 추후 편집에 추가됨 : 이제 이것이 숙제라는 것이 분명해 졌으므로 데이터가 Poisson과 일치하지 않는지 확인하기 위해 카이 제곱 테스트 를 수행 할 가능성이 상당히 높아집니다 . 첫 번째 포아송 니스 플롯 아래에서 수행 된 카이-제곱 적합도 검정 예를 참조하십시오.
사람들은 종종 잘못된 이유로 이러한 테스트를 수행합니다 (예 : '데이터가 포아송이라고 가정하는 데이터로 다른 통계적 일을하는 것은 괜찮습니다'). 실제 질문은 '어떻게 잘못 될 수 있는가?'입니다. ... 적합 테스트의 장점은 그 질문에 큰 도움이되지 않습니다. 종종이 질문에 대한 답은 표본 크기와 독립적 (거의 독립적) 인 것입니다 .— 경우에 따라 표본 크기와 관계가없는 결과가있는 것입니다. 작은 표본 (가정 위반으로 인한 위험이 가장 큰 경우)
포아송 분포를 테스트해야하는 경우 몇 가지 합리적인 대안이 있습니다. 하나는 AD 통계를 기반으로하지만 널 (null) 하에서 모의 분포를 사용하여 (이산 분포의 쌍둥이 문제를 설명하고 모수를 추정해야 함) Anderson-Darling 검정과 유사한 것을 수행하는 것입니다.
보다 간단한 대안은 적합도에 대한 순조로운 검정 일 수 있습니다. 이는 null의 확률 함수와 관련하여 직교하는 다항식 계열을 사용하여 데이터를 모델링하여 개별 분포를 위해 설계된 검정 모음입니다. 낮은 차수 (즉, 흥미로운) 대안은 기저 하나 이상의 다항식 계수가 0과 다른지 여부를 테스트하여 테스트하며, 일반적으로 테스트에서 최하위 항을 생략하여 모수 추정을 처리 할 수 있습니다. 푸 아송에 대한 그러한 테스트가 있습니다. 필요한 경우 참조를 파낼 수 있습니다.
또한 포아송 니스 (Poissonness) 플롯 (예 : 플롯)에서 상관 관계를 사용하거나 샤피로-프랑 시아 테스트와 비슷할 수도 있습니다 예 : ) vs (1980 년 Hoaglin 참조)-테스트 통계.log ( x k ) + log ( k ! ) kn ( 1 - r2)로그( x케이) + 로그( k ! )케이
다음은 R에서 수행 된 계산 및 플롯의 예입니다.
y=rpois(100,5)
n=length(y)
(x=table(y))
y
0 1 2 3 4 5 6 7 8 9 10
1 2 7 15 19 25 14 7 5 1 4
k=as.numeric(names(x))
plot(k,log(x)+lfactorial(k))
다음은 포아송에 대한 적합도 검정에 사용할 수있는 통계입니다.
n*(1-cor(k,log(x)+lfactorial(k))^2)
[1] 1.0599
물론 p- 값을 계산하려면 null 아래에서 테스트 통계 분포를 시뮬레이트해야합니다 (그리고 값 범위 내에서 0 카운트를 처리하는 방법에 대해서는 논의하지 않았습니다). 이것은 상당히 강력한 테스트를 제공해야합니다. 다른 많은 대체 테스트가 있습니다.
다음은 기하 분포 (p = .3)에서 크기가 50 인 표본에 포아송 니스 플롯을 수행하는 예입니다.
보시다시피, 그것은 비선형 성을 나타내는 명확한 'kink'를 표시합니다
포아송 니스 플롯에 대한 참조는 다음과 같습니다.
David C. Hoaglin (1980),
" 포아송 니스 플롯",
미국 통계청
Vol. 34, No. 3 (Aug.,), 146-149 페이지
과
Hoaglin, D. and J. Tukey (1985),
"9. 불연속 분포의 형태 확인",
데이터 테이블, 추세 및 형태 탐색 ,
(Hoaglin, Mosteller & Tukey eds)
John Wiley & Sons
두 번째 참조는 적은 수의 플롯에 대한 조정을 포함합니다. 당신은 아마 그것을 통합하고 싶을 것입니다 (그러나 나는 손에 대한 언급이 없습니다).
카이-제곱 적합도 검정의 예 :
카이-제곱 적합도를 수행하는 것 외에도 일반적으로 많은 클래스에서 수행 될 것으로 예상되는 방식 (내가하는 방식은 아니지만) :
1 : 귀하의 데이터로 시작합니다 (위의 'y'에서 무작위로 생성 된 데이터가됩니다). 카운트 테이블을 생성하십시오.
(x=table(y))
y
0 1 2 3 4 5 6 7 8 9 10
1 2 7 15 19 25 14 7 5 1 4
2 : ML에 의해 구성된 포아송을 가정하면 각 셀의 예상 값을 계산합니다.
(expec=dpois(0:10,lambda=mean(y))*length(y))
[1] 0.7907054 3.8270142 9.2613743 14.9416838 18.0794374 17.5008954 14.1173890 9.7611661
[9] 5.9055055 3.1758496 1.5371112
3 : 최종 범주가 작다는 점에 유의하십시오. 이렇게하면 카이 제곱 분포가 검정 통계량 분포에 대한 근사치보다 덜 적합합니다 (일반적으로 규칙은 불필요하게 제한적인 것으로 나타 났지만 많은 논문에서 예상 값을 5 이상으로 원합니다). 근접하지만 일반적인 접근 방식은 더 엄격한 규칙에 따라 조정될 수 있습니다. 최소 예상 값이 5보다 크게 떨어지지 않도록 인접 범주를 축소합니다 (예상 10 개가 넘는 범주 중 1 개 근처에서 카운트 다운이 예상되는 범주 하나는 나쁘지 않고 두 개는 경계 선임). 또한 "10"이상의 확률을 아직 설명하지 않았으므로 다음 사항도 통합해야합니다.
expec[1]=sum(expec[1:2])
expec[2:8]=expec[3:9]
expec[9]=length(y)-sum(expec[1:8])
expec=expec[1:9]
expec
sum(expec) # now adds to n
4 : 유사하게 관찰 된 범주를 축소합니다.
(obs=table(y))
obs[1]=sum(obs[1:2])
obs[2:8]=obs[3:9]
obs[9]=sum(obs[10:11])
obs=obs[1:9]
5 : chi-square 및 Pearson 잔존 (기여의 부호있는 제곱근)에 대한 기여 와 함께 (선택적) 테이블에 넣습니다 . 잘 맞지 않습니다 :( O나는− E나는)2/ E나는
print(cbind(obs,expec,PearsonRes=(obs-expec)/sqrt(expec),ContribToChisq=(obs-expec)^2/expec),d=4)
obs expec PearsonRes ContribToChisq
0 3 4.618 -0.75282 0.5667335
1 7 9.261 -0.74308 0.5521657
2 15 14.942 0.01509 0.0002276
3 19 18.079 0.21650 0.0468729
4 25 17.501 1.79258 3.2133538
5 14 14.117 -0.03124 0.0009761
6 7 9.761 -0.88377 0.7810581
7 5 5.906 -0.37262 0.1388434
8 5 5.815 -0.33791 0.1141816
6 : 계산 된 , 관측 된 총계와 일치하는 것으로 예상되는 총계에 대해 1df가 손실되고 모수를 추정하기 위해 1 개가 더 손실됩니다.엑스2= ∑나는( E나는− O나는)2/ E나는
(chisq = sum((obs-expec)^2/expec))
[1] 5.414413
(df = length(obs)-1-1) # lose an additional df for parameter estimate
[1] 7
(pvalue=pchisq(chisq,df))
[1] 0.3904736
우리가 생성 한 데이터가 실제로 포아송 (Poisson) 이었기 때문에 진단과 p- 값은 여기에 적합하지 않다는 것을 보여줍니다.
편집 : 여기에는 Poissonness 플롯을 설명하고 SAS 및 Matlab의 구현에 대해 이야기하는 Rick Wicklin의 블로그 링크가 있습니다.
http://blogs.sas.com/content/iml/2012/04/12/the-poissonness-plot-a-goodness-of-fit-diagnostic/
편집 2 : 내가 옳다면 1985 참조의 수정 된 포아송 니스 플롯은 *입니다.
y=rpois(100,5)
n=length(y)
(x=table(y))
k=as.numeric(names(x))
x=as.vector(x)
x1 = ifelse(x==0,NA,ifelse(x>1,x-.8*x/n-.67,exp(-1)))
plot(k,log(x1)+lfactorial(k))
* 그들은 실제로 절편도 조정하지만 여기서는하지 않았습니다. 플롯의 모양에는 영향을 미치지 않지만 참조와 다른 방식으로 접근하는 경우 참조 (예 : 신뢰 구간)를 구현하는 경우주의해야합니다.
위의 예에서는 첫 번째 포아송 니스 플롯에서 모양이 거의 변하지 않습니다.