Laborator 11 Lect. dr. Daniel N.Pop Departamentul de Calculatoare-Inginerie electrică 7.ian.2016 1
1 Testul { 2 asupra dispersiei 1.1 Aspecte teoretice Testul { 2 asupra dispersiei se realizeaza cu functia chi2disp al carui cod MATLAB este dat in continuare: function [h,sig,ii,stats]=chi2disp(x,sigma,alpha,alt) %CHI2DISP-testul hi-patrat pentru dispersie %apel [h,sig,ii]=chi2disp(x,sigma,alpha,alt) %x-selectia %sigma-abaterea medie patratica %alpha-prag de semnificatie (implicit 55) %alt-alternativa % 0-bilaterala % 1-unilaterala dreapta %-1-unilaterala stanga %h- 0-acceptare %h- 1-respingere %sig-nivel de semnificatie %ii-interval de incredere pentru dispersie %stats-structura cu componentele tstat-statistica testului %df-nr. grade de libertate if nargin < 4 alt=0; if nargin < 3 alpha=0.05; %calculez statistica testului n=length(x); df=n-1; x2=df.*var(x); x2s=x2./(sigma.^2); vp=chi2cdf(x2s,df); if (nargout > 3), stats=struct( tstat,x2s, df,df); switch alt case -1 sig=vp; ii=[x2./chi2inv(1-alpha,df),inf]; case 0 2
sig=2*min(vp,1-vp); ii=x2./chi2inv([1-alpha/2,alpha/2],df); case 1 sig=1-vp; ii=[0,x2./chi2inv(alpha,df)]; %decizia h=sig<=alpha; 1.2 Aplicatie 1 La o determinare a poluarii aerului se masoara nivelul de monoxid de carbon din atmosfera timp de 12 zile si se obtin urmatoarele valori: 3.5, 3.9, 2.8, 3.1, 3.1, 3.4, 4.8, 3.2, 2.5, 4.4, 3.1, 3.5. Cerinte: 1. Ne permite selectia sa afirmam ca nivelul CO este scazut (adica m < 4.9), la nivelul α = 0.05? 2. Ne permite selectia sa respingem ipoteza σ 2 0.25, la nivelul de semnificatie α = 0.05? 3. Determinati intervalele de incredere de 95 si 98% pentru medie si dispersie. Solutie 1 Primul punct se rezolva utilizand ttest, iar al doilea chi2disp. >> nivco=[3.5 3.9 2.8 3.1 3.4 4.8 3.2 2.5 4.4 3.1 3.5]; >> [h,p,iim]=ttest(nivco,4.9,0.05,-1) >> h = 1 p =1.8385e-005 iim = -Inf 3.841 >>[h,pro,iid]=chi2disp(nivco,0.5,0.05,1) >>h = 0 >>pro = 0.0509 >>iid = 0 1.1577 3
obtinem raspunsul la primele doua cerinte,dar si intervalele de incredere de 95% pentru medie si dispersie. Ipoteza nula se respinge in primul caz deoarece m<4.9 si se accepta in al doilea deoarece σ 2 0.25, deoarece alternativa este σ 2 >0.25. Intervalele de incredere de 98% se obtin cu secventa: >>[h,p,iim99]=ttest(nivco,4.9,0.01) >>h = 1 >>p = 3.6770e-005 >>iim99 = 2.8273 4.1181 >> [h2,p2,iid]=chi2disp(nivco,sqrt(0.25),0.01,1) >>h2 = 0 p2 = 0.0509 iid = 0 1.7832 2 Testul χ 2 asupra proportiilor Scriem urmatoarea functie MATLAB chi2prop care implementeaza testul χ 2 asupra proportiilor. % Functia chi22test implemeteaza testul chi2 asupra proprtiilor function [dec,sig1,stats]=chi2prop(obfr,prop,alpha) % Apelul [dec,sig1,stats]=chi2prop(obfr,prop,alpha) %obfr-frecv de aparitie %prop-proportii %alpha-nivel de semnificatie %decizie -o acceptare,1-refuz %sig1-valoarea P asociata statisticii T pentru abordare cu probabilitati %stats -afisare structura if nargin < 3 alpha=0.05; efr=sum(obfr)*prop; comp=((obfr-efr).^2)./efr; x2=sum(comp); df=length(prop)-1; sig1=1-chi2cdf(x2,df); dec=sig1<=alpha; stats=struct( tstat,x2, df,df, comp,comp); 4
2.1 Aplicatie 2 Teoria meliana a eredităţii afirmă că dacă se încrucişează doua varietăţi de mazăre, atunci frecvenţele pentru rotund şi galben, zbârcit şi galben, rotund şi verde, zbârcit şi verde apar în raportul 9 : 3 : 3 : 1. Când a testat aceasta teorie Mel a obţinut frecvenţele 315,101,108 şi respectiv 32. Ne permit aceste date de selecţie să respingem teoria la nivele de semnificaţie α = 5%? Solutie 2 Ipoteza nulă: Raportul de moştenire este 9:3:3:1, sau în formulare matematică: H 0 : p 1 = 9 16, p 2 = 3 16, p 3 = 3 16, p 4 = 1 16. Ipoteza altenativă: Raportul de moştenire nu este 9:3:3:1 sau în formulare matematică: H 1 : p 1 9 16 p 2 3 16 p 3 3 16 p 4 1 16 Avem următoarea sesiune MATLAB: >> mel=[315 101 108 32]; >> pm1=[9 3 3 1]/16; Se ob\u{163}in rezultatele: dec = 0 sig1 = 0.9254 stat = 0.4700 Ipoteza nulă se acceptă deoarece 0.4700 < 0.49. 2.2 Aplicaţie 3 Cercetatorii din Germania au tras concluzia că riscul de infarct este cu până la 50% mai mare la persoanele active în ziua de luni decât în altă zi a săptămânii. Ei au ţinut evidenţa atacurilor de cord şi accidentelor coronariene pe o perioada de 5 ani pentru 330000 de persoane ce locuiesc în zona Augsburg (Riverside Press-Enterprise, November 17, 1992 ). Pentru a verifica afirmaţia cecetătorilor considerăm o selecţie de 200 persoane în câmpul muncii, ce apare în tabelul următor: Luni Marti Miercuri Joi V ineri Sâmbătă Duminică 36 27 26 32 26 29 24 Ne permit aceste date să afirmăm că există diferenţe între procentajele de atacuri de cord ce apar în diferite zile ale săptămânii, pentru α = 0.05. 5
Solutie 3 Ipoteza nulă este: H 0 : p i = 1 7, i = 1, 7 Vom verifica întâi această ipoteză: >> infarcto=[36 27 26 32 36 26 29 24]; >> infarcto=[36 27 26 32 26 29 24]; >> infarctt=200/7*ones(1,7); >> [h,sig1,x,comp]=chi2prop(infarcto,1/7*ones(1,7)) Obtinem urmatoarele rezultate: h = 0 sig1 = 0.7266 x = 3.6300 comp = tstat: 3.6300 df: 6 comp: [1.9314 0.0864 0.2314 0.4114 0.2314 0.0064 0.7314] Ipoteza nula se accepta. Dacă presupunem ca lunea apar 25% dintre infarcte si in restul săptămânii avem procentaje egale obţinem: >>egal=0.01*[21,((100-21)/6)*ones(1,6)] >>egal = 0.2100 0.1317 0.1317 0.1317 0.1317 0.1317 0.1317 >> [h,sig1,x,comp]=chi2prop(infarcto,egal) h = 0 sig1 = 0.8596 x = 2.5787 comp = tstat: 2.5787 df: 6 comp: [0.8571 0.0169 0.0042 1.2194 0.0042 0.2700 0.2068] Deci selectia nu ne permite sa respingem nici aceasta ipoteza. 3 Testul χ 2 pentru indepenta si omogenitate Se realizează cu ajutorul funcţiei MATLAB: function [h,sigl,x2,stats]=chi2io(ct,alpha) %Acest test se face asupra unei tabele de contingenta 6
%apel:[h,sig1,x,comp]=chi2io(ct,alpha) %ct-tabela de contingenta %x-valoarea statisticii %comp-componentele statisticii %sig1-nivelul de semnificatie %alpha-probabilitatea de indepenta (implicit 5%) %h=0(accept),h=1 reject %stas -afisare rezultate if nargin==1 apha=0.05; [nl,nc]=size(ct); n=sum(sum(ct)); if nl==1 then df=nc-1; elseif nc==1 df=nl-1; else df=(nl-1)*(nc-1); npi=sum(ct,2); npj=sum(ct); ef=(npi*npj)/n; comp=((ct-ef).^2)./ef; x2=sum(sum(comp)); sigl=1-chi2cdf(x2,df); h=sigl<=alpha; stats=struct( tstat,x2, ef,ef); 3.1 Aplicatie 4 S -a experimentat efectul unui nou vaccin antigripal asupra unei comunitati. Unii oameni au fost injectati de doua ori, altii o singura data, iar altii deloc.pentru o selecţ:ie de 1000 de locuitori s-au obţinut urmatoarele rezultate: 7
Stare 0 1 2 T otal cu gripă 24 9 13 46 fără gripă 289 100 565 954 T otal 313 109 578 1000 Există o depenţă între categoria de vaccinare (de două ori,odată,deloc) şi vaccinare sau nevaccinare? Solutie 4 Scriem in linia de comanda urmatoarea secventa MATLAB: >> vaccin=[24 9 13;289 100 565]; >> alpha=0.05; >> [h,sigl,x,ef]=chi2io(vaccin,alpha) Obtinem rezultatele: h = 1 sigl = 1.7399e-004 x = 17.3130 ef= 14.398 5.0140 26.588 298.602 103.986 551.4120 Ipoteza nula (indepenta) se respinge, Tragem concluzia ca cele doua caracteristici sunt indepente 3.2 Aplicatie 5 Să presupunem că dorim să clasificăm defectele aparute în procesul de fabricaţie de lanţuri cu role, în funcţie de tipul de defect: A-rolă, B-bolţ, C-eclisă mare, D-eclisă mică. şi de tipul de asamblare suferit în procesul de producţie: 1-rolă+bolţ, 2-bolţ+eclisă mare,3-bolţ+eclisă mică. Să se verifice dacă tipul de defect este indepent de procesul de asmbalare. Datele apar în tabela de mai jos: Asamblare A B C D T otal 1 15 21 45 13 94 2 26 31 34 5 96 3 33 17 49 20 119 T otal 74 69 128 38 309 Solutie 5 Utilizand secvenţa MATLAB: 8
>> lant=[15,21,45,13;26,31,34,5;33,17,49,20] lant = 15 21 45 13 26 31 34 5 33 17 49 20 >> alpha=0.05; >> [h,sgl,x,ef]=chi2io(lant,alpha) h = 1 sgl = 0.0039 x =19.1780 ef = 22,5113 20,9902 38,9385 11,5598 22,9902 21,4368 39,7669 11,8058 28,4983 26,5728 49,2944 14,6343 Frecventele observate apar in matricea lant, iar cele teoretice in matricea ef. Valoarea obtinuta pentru nivelul de semnificatie sigl ne spune ca ipoteza de indepenta trebuie respinsa pentru orice valoare practica a lui α. 9