Laborator 8- Statistica Descriptiva Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 22.nov.2017 1
1 Mediana.Cuartile.Cuantile Definition 1 Fie variabila aleatore X care are functia de repartitie F.Numim mediana caracteristica m care satisface conditiile P (X > m) > 1 2 P (X m) Definition 2 Fie variabila aleatore X care are functia de repartitie F.Numim cuantila de ordin γ (0, 1) caracteristica numerica x γ care satisface conditiile 1.1 Functia Matlab icdf P (X x γ ) 1 γ, P (X m) γ Sistemul Matlab prin Statistic toolbox dispune de functii pentru inversarea functiilor de repartitie ale legilor de probabilitate implementate. Apelarea acestor functii se face cu una din formele : x=icdf( legea,p,p$_{1},p_{2},...)$ x=numef(p,p$_{1},p_{2},...)$ unde legea este un sir de caractere predefinit pentru fiecare din legile de probabilitate disponibile in Statistic toolbox, numef este un sir de caractere din care ultimele trei sunt inv, iar cele care le preced sunt cele care dau numele predefinit al legii.de probabilitate. In urma executarii uneia din cele doua instructiuni, se calculeaza matricea x a cuantilelor legii precizata prin parametrii legea,respectiv numef corespunzatoare valorilor date prin matricea P si avind parametrii dati prin matricile par1,par2,... Example 3 Dam un program care calculeaza mediana pentru legea uniforma discreta si reprezinta grafic acest lucru pentru doua valori distincte ale parametrului N precun si cuartilele legii normale. %date de intrare clf,clear N1=input( N1= );N2=input( N2= ); m=input( miu= );s=input( sigma= ); xu1=0:n1+1;yu1=unidcdf(xu1,n1); xu2=0:n1+1;yu2=unidcdf(xu2,n2); xn=m-3*s:0.01:m+3*s;yn=normcdf(xn,m,s); me1=icdf( unid,1/2,n1); me2=icdf( unid,1/2,n2); 2
Q=icdf( unid,[1/4,2/4,3/4],m,s); subplot(3,1,1), stairs(xu1,yu1); set(gca, Xlim,[0,N1+1]),set (gca, xtick,me1),hold on %Trasam graficul plot([0,me1],[1/2,1/2], k:,me1,1/2, o ) plot([me1,me1],[0,1/2], k- ) %%%%%%%%%%%%%%%%%%% subplot(3,1,2), stairs(xu2,yu2); set(gca, Xlim,[0,N2+1]),set (gca, xtick,me2),hold on plot([me2,me2],[0,1/2], k- ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% subplot(3,1,3) plot(xn,yn,[q(1),q(2),q(3)],[1/4,2/4,3/4], o ) set (gca, xtick,[q(1),q(2),q(3)]); set (gca, xticklabel,[q(1),q(2),q(3)]), hold on X=[m-3*s,Q(1);m-3*s,Q(2);m-3*s,Q(3)]; plot([q(1),q(1)],[0,1/4], k- ) plot([q(2),q(2)],[0,2/4], k- ) plot([q(3),q(3)],[0,3/4], k- ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Executam programul pentru N1=5, N2=6, mu=0,sigma =2 3
2 Grafice statistice Toobox-ul Statistics pune la dispozitia utilizatorului functiile grafice din tabelul urmator: F unctia Semnif icatia boxplot graf ic de tip caseta errorbar bare de eroare fsurfht grafic interactiv de tip contour gline desenare interactiva linie gname etichetare interactiva de puncte isline adaugare unei drepte de regresie normplot diagrama de verif icarea normalitatii pareto diagrame P areto qqplot graf ic cuantila cuantila rcoplot graf ic de regresie ordonata dupa cazuri ref curve polinom de ref erinta ref line linie de ref erinta surf ht desenare interactiva de contur interpolator weibplot diagrama de verif icare W eibull 2.1 Grafice de tip caseta Grafice de tip caseta (box plots) sunt descrieri ale datelor de selectie. Ele sunt utile pentru compararea mediilor mai multor selectii (ANOVA). Sunt admise urmatoarele forme: 1. boxplot(x) 2. boxplot(x,notch) 3. boxplot(x,notch, sym ) 4. boxplot(x,notch, sym,vert) 5. boxplot(x,notch, sym,vert,whis); Prima forma produce un grafic cu casete si mustati(box and whisker plot) pentru fiecare coloana a lui X. Caseta are linii ce indica cuartila inferioara, mediana, cuartila superioara. Mustatile sunt segmente se arata intervalul ce contine restul datelor.valorile ilegale (outliers in english) arata valorile situate dincolo de capetele mustatilor. Celelate forme produc grafice cu crestaturi in cazul cand notch=1, iar cand notch=0 grafice dreptunghiulare. Simbolul sym permite controlul simbolurilor pentru valori ilegale, daca exista vreuna (implicit + ). Ultimele forme produc grafice verticale daca vert=1 si orizontale daca vert=0, ultima forma foloseste parametrul whis pentru a defini lungimea mustatilor ca functie de intervalul intercuartilic (implicit =1,*lungimea intervalului cuartilic). Daca whis=0 atunci boxplot deseneaza toate valorile dinafara casetei utilizand simbolul sym. 4
Example 4 Sa se compare doua siruri de numere aleatoare normale Solution 5 Scriem in linia de comanda >> x1=normrnd(5,1,100,1); >> x2=normrnd(6,1,100,1); >> x=[x1,x2]; >> boxplot(x,1) Daca adaugam selectiei x1 valoarea ilegala 0 cu secventa >>x1p=[x1;0]; boxplot(x1p,1) obtinem graficul in care apare marcata si valoarea ilegala. 2.2 Diagrame de verificare a normalitatii (normal probability plots) Sunt grafice folosite pentru a determina daca o selectie are o distributie normala sau nu. Example 6 Sa se verifice normalitatea a 25 de numere aleatoare Tastam in linia de comanda: >>x=normrnd(10,1,25,1); >> normplot(x) Gra cul are trei elemente: 1. Semnele plus arata probabilitatea empirica a ecarui punct din selectie. 2. Linia continua uneste cuantilele selectiei si reprezinta o estimatie robusta, insensibila la valorile extreme ale selectiei. 3. Linia punctata prelungeste linia continua pana la abscise egale cu valorile extreme al selectiei. Scara pe axa ordonatelor nu este uniforma, valorile merg de la 0 la 1. Distanta dintre diviziuni este pe ordonata nu este aceasi, ele sunt mai rare intre mediana si cuantile si devin tot mai dese pe masura ce ne indepartam de mediana. Daca toate datele sunt apropiate de dreapta, ipoteza de normalitate este considerata rezonabila. Daca datele nu sunt normale semnele plus pot descrie o curba destul de diferita de dreapta descrisa mai sus, acest fapt se poate vedea in exemplul urmator care utilizeaza o secventa aleatoare exponentiala. >> x=exprnd(10,100,1); >> normplot(x) 5
2.3 Grafice cuantila-cuantila Compara doua selectii pentru a determina daca ele au aceasi distributie. Example 7 Sa se compare doua selectii cu distributia Poisson. Tastam in linia de comanda: >> x=poissrnd(10,50,1); >> y=poissrnd(5,100,1); >> qqplot(x,y) Desi parametrii si dimensiunile selectiei difera, linia dreapta din figura ne arata ca cele doua selectii provin din populatii cu aceasi distributie. Graficele au trei elemente: 1. Plusurile sunt cuantilele ecarei selectii, implicit numarul de plusuri este volumul celei mai mici selectii, 2. Linia continua uneste cuartilele selectiei, 3. Linia punctata prelungeste linia continua pana la abscise egale cu valorile extreme ale selectiei. Example 8 Sa se genereze un gra c cuantila-cuantila pentru selectii cu distributii diferite. Tastam in linia de comanda >> x=normrnd(5,1,100,1); >> y=weibrnd(2,0.5,100,1); >> qqplot(x,y) Evident selectiile nu provin din populatii cu aceasi distributie. Este incorect sa interpretam un grafic liniar ca fiind o garantie ca selectiile provin din aceasi distributie, dar un astfel de grafic ar putea suficient pentru a ne pronunta asupra validitati unei proceduri care se bazeaza pe ipoteza ca selectiile provin din aceasi distributie. 2.4 Diagrame de verificare a distributiei Weibull Variabila aleatoare X urmeaza legea lui Weibull notata W(a,b), daca are densitatea de probabilitate f(x a, b) = abx b 1 e axb, a, b > 0 Aceasta modeleaza rezistenta la rupere a materialelor, si durata de viata mai bine decat legea exponentiala. Este util pentru a verifica daca o selectie provine dintr-o populatie ce urmeaza legea Weibull. Multe analize din domeniul abilitati se bazeaza pe ipoteza ca durata de viata a unei componente are distributia 6
Weibull asa ca un astfel de grafic ne poate da anumite asigurari de validitate a acestei ipoteze sau ne poate avertiza din timp asupra invaliditatii ei. Scara ordonatelor nu este uniforma, ordonatele fiind probabilitati vor fi situate in intervalul {0,1], distanta dintre diviziunile de pe axa y este conforma cu distanta dintre cuantilele unei distributii Weibull. Daca datele sunt marcate cu + sunt in apropierea liniei, atunci ipoteza ca datele provin dintr-o populatie cu distributia Weibull este rezonabila. Dam un exemplu pentru un astfel de gra c: >> y=weibrnd(2,0.5,100,1) >> weibplot(y) 7