5. Testování exponenciálního a Poissonova rozložení 5.1. Věta (test dobré shody – viz přednáška 2) H0: náhodný výběr X1, …, Xn pochází z rozložení s distribuční funkcí Φ(x) H1: non H0 Testová statistika:    1pr np npn K 2 r 1j j 2 jj     , když H0 platí r … počet třídicích intervalů  1jj u,u  ve spojitém případě resp. počet variant x[j] v diskrétním případě. nj … absolutní četnost j-tého třídicího intervalu resp. j-té varianty. pj … pravděpodobnost, že náhodná veličina X s distribuční funkcí Φ(x) se bude realizovat v j-tém třídicím intervalu resp. j-tou variantou. p … počet odhadovaných parametrů testovaného rozložení. Kritický obor:     ,1prW 1 2  WK H0 zamítáme na asymptotické hladině významnosti α. Podmínky dobré aproximace: npj ≥ 5, j = 1, ..., r. Při nesplnění těchto podmínek se doporučuje slučování některých třídicích intervalů resp. variant. 5.2. Příklad: Byla zjišťována doba životnosti 45 součástek (v hodinách). Ze získaných údajů byl vypočten výběrový průměr m = 99,93 h a výběrový rozptyl s2 = 7328,9 h2 . Máme k dispozici roztříděné údaje: Doba životnosti Počet součástek  50,0 15  100,50 14  150,100 6  200,150 5  250,200 2  300,250 1  350,300 1  400,350 1 Na asymptotické hladině významnosti 0,05 testujte hypotézu, že doba životnosti se řídí exponenciálním rozložením. Řešení: 93,99 1 m 1ˆ  , testujeme H0: X1, …, X45 ~       93,99 1 Ex proti H1: non H0. Počítáme pravděpodobnosti     1j j u u 93,99 x j dxe 93,99 1 p , j = 1, 2, …, 8 j  1jj u,u  nj pj npj = 45pj 1  50,0 15 0,3937 17,72 2  100,50 14 0,2387 10,74 3  150,100 6 0,1447 6,51 4  200,150 5 0,0878 3,95 5  250,200 2 0,0532 2,39 6  300,250 1 0,0323 1,45 7  350,300 1 0,0196 0,88 8  400,350 1 0,0119 0,53 Vidíme, že pro j = 4, …, 8 nejsou splněny podmínky dobré aproximace. Posledních 5 intervalů tedy sloučíme do jednoho. Dostaneme novou tabulku j  1jj u,u  nj pj npj = 45pj 1  50,0 15 0,3937 17,7157 2  100,50 14 0,2387 10,7413 3  150,100 6 0,1447 6,5127 4  400,150 10 0,2046 9,2084 Testová statistika:           5133,1 2084,9 2084,910 5127,6 5127,66 7413,10 7413,1014 7157,17 7157,1715 np npn K 2222r 1j j 2 jj              Kritický obor:         ,9915,5,114,1prW 95,0 2 1 2  WK H0 nezamítáme na asymptotické hladině významnosti 0,05. 5.3. Poznámka: V MATLABu se test dobré shody pro exponenciální rozložení provádí pomocí funkce tds_exp.m. function [zamitnuti,K,p,lambda]=tds_exp(uj,nj,alfa) % test dobre shody k overeni exponencialniho rozlozeni % syntaxe: [zamitnuti,K,p,lambda]=tds_exp(uj,nj,alfa) % vstupni parametry: % uj ... sloupcovy vektor s mezemi tridicich intervalu % nj ... sloupcovy vektor absolutnich cetnosti tridicich intervalu % alfa ... hladina vyznamnosti testu % vystupni parametry: % zamitnuti ... =0, kdyz H0 nezamitame % =1, kdyz H0 zamitame % K ... hodnota testove statistiky % p ... p-hodnota testu % lambda ... odhad parametru exponencialniho rozlozeni delka=size(uj); delka=delka(:,1); dti=diff(uj/2); xj=[uj(1:delka-1)+dti]; n=sum(nj); lambda=n/(nj'*xj); npj=[n*diff(expcdf(uj,1/lambda))]; %test podminek dobre aproximace....hodnota 1 pro poruseni if sum(npj<5)>0 poruchy_podminek=(npj<5)' error('Nejsou splneny podminky dobre aproximace.') end; K=sum((nj-npj).^2./npj); kvantil=chi2inv(1-alfa,size(nj,1)-2); p=1-chi2cdf(K,size(nj,1)-2); zamitnuti=(p % zamitnuti ... =0, kdyz H0 nezamitame % =1, kdyz H0 zamitame % K ... hodnota testove statistiky % p ... p-hodnota testu % lambda ... odhad parametru Poissonova rozlozeni n=sum(nj); r=size(xj,1); lambda=sum(nj'*xj)/n; pj=poisspdf(xj(1:r-1),lambda); pj=[pj;1-sum(pj)]; npj=n*pj; %test podminek dobre aproximace....hodnota 1 pro poruseni if sum(npj<5)>0 poruchy_podminek=(npj<5)' error('Nejsou splneny podminky dobre aproximace.') end; K=sum((nj-npj).^2./npj); kvantil=chi2inv(1-alfa,size(nj,1)-2); p=1-chi2cdf(K,size(nj,1)-2); zamitnuti=(p ZAMITAME hypotezu o shode rozdeleni % zamitnuti=0 => hypotezu o shode rozdeleni NEZAMITAME % K = hodnota testoveho kriteria % p = p-hodnota testu % lambda = odhadnuty parametr rozdeleni % (c) Ondrej Petrik, 10.03.2010 if (nargin==1) distrib='exp'; end if (nargin<3) alfa=0.05; end [a,b]=size(X); if(a