^indrumar de laborator teoria probabilit at˘ilor ˘si ... · 1 prefat˘ a...

77
ˆ Indrumar de Laborator Teoria Probabilit˘ at ¸ilor ¸ si Statistic˘ a Matematic˘ a prin Matlab Daniel N.Pop 1

Upload: others

Post on 20-Sep-2019

22 views

Category:

Documents


1 download

TRANSCRIPT

Indrumar de LaboratorTeoria Probabilitatilor si StatisticaMatematica prin Matlab

Daniel N.Pop

1

Cuprins

1 Prefata 4

2 Prezentare generala Matlab 6

2.1 Notiuni introductive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Help on-line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.2 Optiuni de salvare . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.3 Crearea fisierelor MATLAB (.m files) . . . . . . . . . . . . . . . . . 6

2.1.4 Matrici si Polinoame . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.5 Interpolarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.6 Importuri de date din foi Excel . . . . . . . . . . . . . . . . . . . . 10

2.2 Reprezentari grafice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Instructiunea plot . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.2 Instructiunile polar si ezpolar . . . . . . . . . . . . . . . . . . . . . 12

2.2.3 Instructiunile bar , barh, subplot . . . . . . . . . . . . . . . . . . . 13

2.2.4 Instructiunea fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.5 Reprezentarea prin pie . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.6 Reprezentarea curbelor de nivel . . . . . . . . . . . . . . . . . . . . 15

2.2.7 Reprezentarea 3d prin mesh si surf . . . . . . . . . . . . . . . . . . 16

2.2.8 Instructiunile ezmesch,ezsurf,ezmeshc, ezsurfc . . . . . . . . . . . . 17

2.2.9 Problema triunghiului . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Teoria Probabilitatilor 20

3.1 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.1 Problema lui de Mere . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.2 Joc de pariuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.3 Generare numere aleatoare . . . . . . . . . . . . . . . . . . . . . . . 23

3.1.4 Retea de Calculatoare . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1.5 Partitionarea unei multimi date ın doua submultimi . . . . . . . . . 25

3.1.6 Permutarea aleatoare a unui sir . . . . . . . . . . . . . . . . . . . . 27

3.1.7 Schema lui Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2 Distributii de probabilitate . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.1 Distributii discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.2 Legi de distributie continue clasice . . . . . . . . . . . . . . . . . . 35

3.2.3 Functiile Matlab pdf,cdf . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.4 Functia randtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.5 Legea normala bidimensionala . . . . . . . . . . . . . . . . . . . . . 38

3.2.6 Legi de probabilitate continue statistice . . . . . . . . . . . . . . . . 39

3.2.7 Functia plotmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.2.8 Teorema Moivre-Laplace . . . . . . . . . . . . . . . . . . . . . . . 41

2

4 Statistica matematica 434.1 Parametrii distributiilor statistice . . . . . . . . . . . . . . . . . . . . . . . 43

4.1.1 Parametrii statistici care masoara tendinta . . . . . . . . . . . . . . 434.1.2 Parametrii statistici ce masoara dispersia . . . . . . . . . . . . . . . 444.1.3 Corelatie si Regresie . . . . . . . . . . . . . . . . . . . . . . . . . . 484.1.4 Functia Matlab icdf . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.1.5 Grafice statistice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1.6 Grafice de tip caseta . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1.7 Diagrame de verificare a normalitatii . . . . . . . . . . . . . . . . . 524.1.8 Grafice cuantila-cuantila . . . . . . . . . . . . . . . . . . . . . . . . 534.1.9 Diagrame de verificare a distributiei Weibull . . . . . . . . . . . . . 53

4.2 Verificarea ipotezelor statistice . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.1 Testul Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.2 Intervale de ıncredere . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.3 Functia ztest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.2.4 Functia ttest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.2.5 Functia ztest2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.2.6 Functia ttest2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.2.7 Testul κ2 asupra dispersiei . . . . . . . . . . . . . . . . . . . . . . 624.2.8 Testul χ2 asupra proportiilor . . . . . . . . . . . . . . . . . . . . . . 644.2.9 Testul χ2 pentru independenta si omogenitate . . . . . . . . . . . . 664.2.10 Testul Kolmogorov . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.2.11 Testul Kolmogorov-Smirnov pentru doua populatii . . . . . . . . . 71

5 Probleme Propuse 74

6 Bibliografie 77

3

1 Prefata

Problemele teoretice relative la jocurile de noroc, ın special privind sansele partenerilor,au atras atentia savantilor timpului.

Astfel fundamentarea teoretica a calculului probabilitatilor poate fi atribuita france-zilor P. de Fermat(1601-1665) si B.P Pascal (1623-1662). Corespondenta dintre cei doidin anul 1654 contine primele aspecte privind sansele ın jocurile de noroc. O parte dinproblemele considerate au fost formulate si prezentate lui Pascal de catre Cavalerul deMere un ımpatimit al jocurilor de noroc din acea vreme.

Prima carte de introducere ın calculul probabilitatilor este De Ratiocinnis in AleaLudo (Cum se rationeaza ın jocurile cu zarul) aparuta ın 1657 si are ca autor pe olandezulCh.Huygens(1629-1695).

Amintim lucrarea lui James Bernoulli (1654-1705) Ars Conjectandi (Arta de a facepresupuneri) care a fost publicata de fratele sau John Bernoulli ın anul 1713. Se remarcaın continutul cartii legea numerelor mari, rezultat fundamental ın teoria probabilitatilor.

Un alt rezultat fundamental este teorema limita centrala care se gaseste ın lucrareaDoctrine of Chances aparuta ın anul 1718 si care este opera lui A.de Moivre (1667-1754)care este strans legata de legea normala de probabilitate. Descoperirea legii normale esteatribuita lui K.F. Gauss (1775-1843) si care este considerata ca fiind specifica erorilor demasurare. Rezultatele lui Moivre privind teorema limita centrala sunt extinse de catre P.S.de Laplace (1770-1843) stabilind de asemenea legatura cu legea normala de probabilitate,ın cartea Theorie Analitique des Probabilites (Teoria analitica a probabilitatilor), aparutaın anul 1812.

Un salt remarcabil ın dezvoltarea teoriei probabilitatilor a fost facut prin contributiaremarcabila a matematicienilor rusi L.P.Cebısev (1821-1884), A.A.Markov(1856-1922),A.M.Leapunv (1857-1918),primul a introdus notiunea de variabila aleatoare, reformulandsi generalizand legea numerelor mari ın limbajul variabilelor aleatoare.

Pasul decisiv privind fundamentarea moderna a teoriei probabilitatilor este facut prinlucrarea matematicianului rus A.N. Kolmogorov (1903-1989) aparuta ın anul 1933. A.N.Kolmogorov folosind teoria masurarii reuseste sa construiasca modelul axiomatic al teorieiprobabilitatilor.

Statisticieni de renume care au pus bazele statisticii matematice sunt considerati a fienglezii F.Galton (1822-1911) si K.Pearson(1857-1936), opera acestora fiind continuatade celebrul statistician R.A.Fisher (1890-1962).

Pentru detalii privind istoricul statisticii recomand lucrarea [2].

Dintre matematicienii romani care au avut o contribute remarcabila ın acest domeniuamintim: acad. Gheorghe Mihoc, profesorii : G.Ciucu, O.Onicesu, V.Craiu, M. Malita,P.Blaga, A.I.Lupas. Au fost elaborate o serie de produse soft care prezinta ıntr-o conceptieunitara reprezentarea, prelucrarea si studiul datelor statistice : Statgraphics, Statistica,S-Plus, SAS, SPSS, ViSta, etc. Unele produse soft elaborate ın alte scopuri decat cel alprelucrarii datelor statistice, contin proceduri privind prelucrarea mai elementara sau maicomplexa a datelor statistice: Matlab, Wolfram-Mathematica, Maple. Am ales ın aceastalucrare mediul de programare Matlab [3].

Indrumarul este structurat ın cinci capitole: Capitolul I contine notiuni introductive

4

ın MATLAB, Capitolul II probleme din Teoria Probabilitatilor , Capitolul III problemedin Statistica Matematica, Capitolul IV Verficarea ipotezelor statistice, iar ultimul capitoleste dedicat unor probleme propuse spre rezolvare.

Doresc sa multumesc pe aceasta cale domnilor prof. univ dr. Petru Blaga si conf.univ.dr.Radu T. Trambitas de la Universitatea Babes- Bolyai Cluj-Napoca, Facultatea de Mate-matica si Informatica care m-au ajutat foarte mult la elaborarea acestui ındrumar.

Orice observatii privind aceast ındrumar sunt binevenite pe adresa de e-mail:[email protected].

5

2 Prezentare generala Matlab

2.1 Notiuni introductive

2.1.1 Help on-line

Limbajul MATLAB este mult mai simplu de ınvatat, daca se renunta la inspecta-rea arida a listelor cu variabile, functii si operatori si se utilizeaza ın schimb comenzilehelp, helpdesk, demo, tastate direct de la prompterul MATLAB. Pentru aflarea tutu-ror informatiilor utile despre o comanda sau o functie se tasteaza help urmat de numelecomenzii sau functiei respective.

Pachetul MATLAB dispune de asemenea de informatii complete despre utilizare subforma unei documentatii tip .pdf. In cazuri particulare se poate apela la INTERNET,existand o legatura la pagina Web a firmei producatoare.

Alte comenzi utile pentru aflarea de informatii sunt: helpwin, lookfor, help help.

2.1.2 Optiuni de salvare

Pentru salvarea variabilelor curente cu care se lucreaza ın MATLAB la ıncheierea uneisesiuni de lucru se poate utiliza comanda save. Aceasta comanda va salva toate variabilelecurente generate de catre utilizator ıntr-un fisier numit matlab.mat . Daca se doreste sepoate da un nume fisierului de date ın care se salveaza variabilele.

Spatiul de lucru contine un set de variabie (numite tablouri sau matrice) care pot fimanevrate din linia de comanda. Se pot folosi comenzile who si whos pentru a vedeacare sunt variabilele curente din workspace. Pentru stergerea variabilelor din workspacese utilizeaza comanda clear all.

Lansarea in executie: dublu click pe iconul MATLAB.Parasirea mediului de programare se face cu comanda

>> quit

2.1.3 Crearea fisierelor MATLAB (.m files)

Deoarece este mult mai comod si util decat introducerea comenzilor linie dupa liniela prompterul MATLAB, se lucreaza cu fisiere text care contin aceste linii program cucomenzile necesare.

Aceste fisiere contin cod ın limbajul MATLAB si sunt denumite .m files (sau M-files).Fisierele se creeaza utilizand un editor de text si apoi se utilizeaza ca o comanda MATLABobisnuita.

Sunt doua tipuri de fisiere .m:

• Fisiere Script, care nu accepta argumente de intrare si nu returneaza argumente deiesire. Aceste fisiere opereaza cu datele din spatiul de lucru.

• Rutine (functii), care accepta argumente de intrare si returneaza argumente de iesire.Variabilele utilizate sunt variabile locale (interne) ale functiei.

Pentru a vedea continutul unui fisier MATLAB, de exemplu nume.m, se folosestecomanda:

6

>>type nume.m

>>clc% sterge ecranul

Exemplul 1 : Urmatorul fisier creeaza o functie neliniara:Se alege din meniul New optiunea function si se salveaza cu numele nelin.

function y = nelin(x)

y = 1./((x-.3).^2 + .01) + 1./((x-.9).^2 + .04) - 6;

end

Aceasta functie poate fi evaluata pentru un set de puncte ın intervalul 0 ≤ x ≤ 1 cucomanda:

>>x = 0:.002:1;

>>y = nelin(x);

si apoi se poate reprezenta grafic functia cu comanda:

>>plot(x,y)

Graficul arata ca functia are un minim local la aproximativ x = 0.6. Daca de exempluutilizam functia fminsearch putem gasi imediat valoarea exacta a lui x . Primul argumental functiei este chiar numele functiei pentru care calculam minimul (al doilea parametrueste o aproximare grosiera a localizarii minimului).

>> x = fminsearch(’nelin’,.5);

> x

x =

0.6370

O alta posibilitate este crearea la nivelul liniei de comanda a unui obiect inline prinfolosirea unei expresii tip sir de caractere:

>> f=inline(’1./((x-.3).^2+.01)+1./((x-.9).^2+.04)-6’);

2.1.4 Matrici si Polinoame

Polinoamele sunt descrise ın MATLAB prin vectori linie ale caror elemente sunt defapt coeficientii polinoamelor ın ordinea descrescatoare a puterilor.

p(x) = x3 + 5 ∗ x+ 6

>>p = [1 0 5 6]

Un polinom poate fi evaluat pentru o valoare a lui x de exemplu x=1 cu ajutorulfunctiei polyval:

7

>>polyval(p,1)

ans=

12

Se pot afla cu usurinta radacinile polinomului folosind functia roots astfel:

>>r=roots(p);

>> r

r =

0.5000 + 2.3979i

0.5000 - 2.3979i

-1.0000

Comanda care permite ınmultirea a doua polinoame este conv:

>> p1=[1 3 5]

p1 =

1 3 5

>> p2=[2 0 1 0 5]

p2 =

2 0 1 0 5

>> p3=conv(p1,p2)

p3 =

2 6 11 3 10 15 25

Functia polyfit gaseste coeficientii unui polinom (o curba) care aproximeaza un setde date ın sensul algoritmului celor mai mici patrate:

>>p = polyfit(x,y,n);

Exemplu:

>> x = [1 2 3 4 5]; y = [5.5 43.1 128 290.7 498.4];

>> p = polyfit(x,y,3)

Pentru plotarea rezultatului se utilizeaza mai ıntai functia polyval pentru o trasarecat mai exacta a graficului polinomului si apoi se ploteaza estimarea versus datele realepentru comparatii.

>> x2 = 1:.1:5;

>> y2 = polyval(p,x2);

>> plot(x,y,’o’,x2,y2)

MATLAB-ul opereaza cu matricile cu aceeasi usurinta cu care lucreaza cu scalarii.Pentru adunarea a doua matrici de exemplu se foloseste pur si simplu semnul + ca lao adunare obisnuita. Bineınteles ca matricile trebuie sa aiba aceleasi dimensiuni pentrua putea fi adunate iar pentru ınmultire operatorul *. Mentionam ca pentru ınmultirea

8

matricilor trebuie sa respectam regula: numarul colanelor primei matrici este egal cunumarul liniilor celei de a doua.

Pentru calculul determinatului unei matrici se foloseste det(A), iar pentru calcululinversei inv(A).

>> A=[2 3;15 -3]

A =

2 3

15 -3

>> B=[11 -21; 12 4]

B =

11 -21

12 4

>> C=A+B

C =

13 -18

27 1

>> D=A*B

D =

58 -30

129 -327

>> det(A)

ans =

-51

>>inv(A);

ans =

0.0588 0.0588

0.2941 -0.0392

2.1.5 Interpolarea

Interpolarea este un proces de estimare a valorilor dintre date (puncte) cunoscute.MATLAB-ul dispune de mai multe tehnici de interpolare, alegerea unei metode sau

alteia facandu-se ın functie de acuratetea necesara, de viteza de executie si de gradul deutilizare a memoriei.

Functiile de interpolare se afla ın directorul polyfun.Exemplu

>[x,y] = meshgrid(-3:1:3);

>z = peaks(x,y);

> surf(x,y,z);

Generarea unei suprafete mesh fine pentru interpolare:

[xi,yi] = meshgrid(-3:0.25:3);

9

Interpolarea cu metoda celei mai apropiate vecinatati:

zi1 = interp2(x,y,z,xi,yi,’nearest’);

Interpolarea cu metoda biliniara:

zi2 = interp2(x,y,z,xi,yi,’bilinear’);

Interpolarea cu metoda bicubica:

zi3 = interp2(x,y,z,xi,yi,’bicubic’);

2.1.6 Importuri de date din foi Excel

Pasul 1

• In Excel dam click dreapta pe bara de meniuri alegem optiunea Customize QuickAccess Toolbar si adaugam ın Toolbar: Calculate Sheet Bar, DataSheetFormating siTable.

• Creem in Excel o foaie de calcul Nuptialitate si o salvam cu extensia nupt xlsx,(ExcelWorkBook) complectand ın prealabil coloana 2014 astfel:

AnNumarCasatorii

primeCasatorii

Ratanuptialitatii

V arstamedie

Masculin Femin inV arstamedie

prima casatorie2011 105, 6 83, 3 4, 9 59, 4 31, 4 28 55, 52012 107, 8 84, 7 5, 1 59, 9 31, 6 28, 2 562013 106, 7 85, 4 4, 8 60, 8 32, 1 26, 7 46, 1

2014 108, 8 +1, 5% +1, 2% +2, 3% +1, 8%= V.medie−masculin

+1, 4%

Inaintea salvarii alegem optiunea: Data SheetFormating +Aligneament+ Wrap Textpe care-l bifam, apoi Table.

Pasul 2

• Copiem foaia de calcul ın directorul curent al Matlab-ului fisierul cu extensia xlsxın directorul:

C:\Users\Daniel\Documents\MATLAB\Prog Matlab\

• Tastam ın linia de comanda :

>> clear all%stergem toate variabilele de lucru din workspace

>> filename = ’nupt.xlsx’;% Incarcam fisierul cu numele nupt.xlsx

>> uiimport(filename)%si alegem in fereastra de lucru

%import as Cell Array, Range:domeniul dorit (exemplul nostru A1:F10)

%daca dorim un alt sheet decat 1 implicit dam comanda Matlab

>>sheet 2;//importa sheet 2

10

Alta metoda:1)Dam dublu click pe fisierul nupt.xlsx din directorul curent al Matlabului.2)Se deschide o fereastra IMPORT3)alegem optiunea cell array si apoi columns vector selectam coloanape care dorim sa o importam4)import+data5)save workspace dam un nume fisierului obligatoriu cu extensia mat.In workspace va aparea numefisier.mat.6)lansam in executie scriptul care foloseste ca date de intrare: numefisie.mat.

• Apoi din meniul File alegem optiunea save workspace as ex: Nupt.mat.

In directorul curent va aparea Nupt.mat

• Selectam de exemplu Numar casatorii (numai datele numerice), alegem de exmpluo reprezentare de tip PIE.

Observatie 1 Daca alegem optiunea column vectors va aparea in workspace coloaneleA,B,C,...

Alegem din worksheet coloana C de exemplu si plotam sub diferite forme de diagrame.Salvam de exemplu coloanaB(Numar casatorii)

2.2 Reprezentari grafice

Sistemul Matlab dispune de o larga gama de instructiuni sau proceduri (functii) pentrureprezentarea grafica ın plan.

2.2.1 Instructiunea plot

Formele acceptate:

plot(Y)

plot(X1,Y1,...,Xn,Yn)

plot(X1,Y1,LineSpec,...,Xn,Yn,LineSpec)

plot(...,’PropertyName’,PropertyValue,...)

plot(axes_handle,...)

h = plot(...)

In cazul primei forme daca Y este un vector de lungime m se reprezinta grafic liniapoligonala ce trece prin punctele de coordonate (xi, yi), i = 1,m

Examplul 2 Sa se scrie un program *.m care reprezinta grafic linia poligonala ce unestepunctele de coordonate (xi, yi), i = 1, ...m , unde y reprezinta elementele diagonalei uneimatrici magice de ordin m

Din meniul File->New->ScriptIntroducem codul:

11

m=input(’m=’);

y=diag(magic(m));

plot(y)

Apoi salvam si selectam Runiar in linia de comanda dam

>>m=5

MATLAB-ul permite reprezentarea pe acelasi grafic a doua functii.

Examplul 3 Sa se reprezinte pe acelasi grafic functiile sin(2πx) si cos(2πx) pe intervalul[0,1] prima functie prin linie dreapta, iar a doua linie ıntrerupta, iar punctele de pe celedoua curbe care au abscisele multiplii de 1/6 sa fie marcate prin cerculete, respectiv stelute.

Din meniul File->New->ScriptIntroducem codul:

m=input(’m=’);

h=1/m;

x=0:h:1;

y=2*pi*x;

y=[sin(y)’ cos(y)’];

p=0:1/6:1; pp=2*pi*p;

plot(x,y,p,sin(pp),’o’,p,cos(pp),’*’)

grid on

Apoi salvam si selectam Run, iar in linia de comanada tastam:

>>m=200

2.2.2 Instructiunile polar si ezpolar

Instructiunea polar este similara cu plot, dar reprezentarea curbei se face ın coordo-nate polare, iar instructiunea ezpolar are sintaxa

ezpolar(’f’,[a,b])

Al doilea argument este optional valoarea implicita este [0,2π]Tastam in linia de comanda:

>>t=0:0.1:pi;

>> r=sin(3*t).*exp(-0.3*t);

>> polar(t,r,’k-’)

Un simplu exemplu de utilizare a instrutiunii ezpolar este:

>>ezpolar(’1+cos(theta)’)

12

2.2.3 Instructiunile bar , barh, subplot

Forme utilizate:

bar(Y)

bar(X,Y)

bar(...,width)

bar(...,’style’)

bar(...,’bar_color’)

bar(...,’PropertyName’,PropertyValue,...)

bar(axes_handle,...)

h = bar(...)

Diferenta dintre bar si barh este ca reprezentarea grafica se face cu bare orizontaleForme utilizate :

barh(Y)

barh(X,Y)

barh(...,width)

barh(...,’style’)

barh(...,’bar_color’)

barh(...,’PropertyName’,PropertyValue,...)

barh(axes_handle,...)

h = barh(...)

Sistemul Matlab are posibilitatea de a ımpartii o fereastra pentru reprezentarea graficaın m× n ferestre cu ajutorul instructiunii:

subplot(m,n,p)

Examplul 4 Fiind data o matrice magica de ordin m sa se reprezinte ın patru ferestrede tipul 2× 2 prin bare verticale grupate si prin bare verticale stivuite, valorile primelordoua coloane ale matricei, respectiv prin bare orizontale grupate si prin bare orizontalestivuite valorile ultimelor doua coloane.

Reprezentarea grafica se face in 3D.

Din meniul File->New->ScriptIntroducem codul:

m=input(’m=’);

A=magic(m);

subplot (221),bar3(A(:,[1 2]),’detached’)

title (’Primele doua coloane grupate’)

subplot (222),bar3(A(:,[1 2]),’stacked’)

title (’Primele doua coloane stivuite’)

subplot(223),bar3h(A(:,[m-2 m]),’stacked’)

title(’Ultimele doua coloane grupate’)

subplot(224),bar3h(A(:,[m-2 m]),’detached’)

title(’Ultimele doua coloane stivuite’)

colormap summer

13

Apoi salvam si selectam Run, iar ın linia de comanada tastam:

>>m=4

2.2.4 Instructiunea fill

Este folosita pentru umbrirea interiorului unui poligon specificat prin varfurile sale:

fill (x,y,c)

Examplul 5 Sa se scrie un program care sa umbreasca aria cuprinsa ıntre axa absciselor,curba lui Gauss si dreptele perpendiculare pe axa absciselor ın punctele a si b (-3<a<b<3).

Curba lui Gauss este data de:

f(x) =1√2π

exp(−x2

2), x ∈ R

Din meniul File->New->ScriptIntroducem codul:

a=input(’a=’); b=input(’b=’);

xmin=-3;xmax=3;

fplot(’1/sqrt(2*pi)*exp(-x^2/2)’,[xmin,xmax])

x=a; y=0;

t=a:0.01:b;

x=[x,t];y=[y,1/sqrt(2*pi)*exp(-t.^2/2)];

x=[x,b];y=[y,0];

fill(x,y,’c’)

Apoi salvam si selectam Run, iar in linia de comanada tastam:

>>a=-2

>>b=2

2.2.5 Reprezentarea prin pie

Reprezentari ale datelor prin sectoare ciculare ın plan, respectiv ın spatiu se obtin prinfunctiile pie si pie3 care se apeleaza prin formele:

pie(x,ex,label)

pie3(x,ex,label)

unde x este un vector aleator avand componentele pozitive si normalizate adica sumalor sa fie 1.

Parametrul ex este optional si specifica sectoarele de cerc ce urmeaza a fi detasate pefigura, acesta daca e prezent trebuie sa fie un vector de aceasi lungime cu vectorul x.

Parametrul optional label specifica etichetele sectoarelor de cerc, acesta daca esteprezent trebuie sa fie un vector de aceasi lungime cu vectorul x, dar care contin numaisiruri de caractere.

Deschidem un fisier pie3.mIntroducem codul

14

%Programul care urmeaza genereaza n numere aleatoare ce urmeaza

%legea uniform discreta construieste tabelul sistematizat

%dupa care reprezintadatele sistematizate folosind functiile pie si pie3

n=input(’n=’);N=input(’N=’);

x=unidrnd(N,1,n);

t=tabulate(x);

d=length(t(:,3));

ex=zeros(1,d);

ex(1)=1;

subplot(2,1,1)

pie(t(:,3)’/100,ex)

subplot(2,1,2)

pie3(t(:,3)’/100,ex)

colormap summer

Salvam si-l lansam ın executie pentru n=50, N=4 obtinem :

n=50

N=4

Value Count Percent

1 13 26.00%

2 15 30.00%

3 10 20.00%

4 12 24.00%

2.2.6 Reprezentarea curbelor de nivel

Se face prin contour si contourf.Diferenta dintre ele doar prin faptul ca ariile de-limitate de curbele de nivel sunt umbrite. Aceste functii permit reprezentarea grafica afunctiilor implicite.

Examplul 6 Sa reprezentam n curbe de nivel pentru functia definita anterior.Reprezentarile acestor curbe de nivel vor fi facute atat cu contour cat si contourf

.

Deschidem un fisier *.m si introducem codul

clear,clf

m=input(’m=’);n=input(’n=’);

h=1/m;x=-1:h:1;

[X,Y]=meshgrid(x);

Z=1/(2*pi)*exp(-0.5*(X.^2+Y.^2));

subplot(1,2,1),contour(Z,n),

title([’n=’,num2str(n),’ curbe de nivel’])

subplot(1,2,2),contourf(Z,n),

title([’n=’,num2str(n),’ curbe de nivel umbrite’])

xlabel(’x’),ylabel(’y’),zlabel(’z’)

15

Iar in linia de comanda tastam pentru stabilirea pasului.

>>m=20

>>n=5% numarul liniilor

2.2.7 Reprezentarea 3d prin mesh si surf

Examplul 7 Sa se reprezinte grafic functia:

z = f(x, y) =1

2πexp(−1

2(x2 + y2))

pe domeniulD = [−1, 1]× [−1, 1]

odata cu instructiunea mesh si apoi cu instructiunea surf

Deschidem un fisier *.mIntroducem codul

clear,clf

m=input(’m=’);

h=1/m;x=-1:h:1;

[X,Y]=meshgrid(x);

Z=1/(2*pi)*exp(-0.5*(X.^2+Y.^2));

subplot(1,2,1),mesh(X,Y,Z)

title (’Grafica prin mesh’)

xlabel(’x’),ylabel(’y’),zlabel(’z’)

subplot(1,2,2),surf(X,Y,Z)

title(’Grafica prin surf’)

xlabel(’x’),ylabel(’y’),zlabel(’z’)

Iar in linia de comanda tastam:

>>m=20

Examplul 8 Sa se scrie un program care efectueaza umbrirea suprafetei date de functiade mai sus.

Exista posibilitatea de umbrire cu shading ( tip):tip =faceted (implicit),umbreste fiecare patrulater de pe suprafata trasata.tip =flat (fara trasarea laturilor patrulaterelor).tip =interp, umbrirea fiecarui patrulater de pe suprafata trasata se face ın mod gradat

printr-un procedeu de interpolare, fara trasarea liniilor patrulaterului.Deschidem un fisier *.m si introducem codul:

clear,clf

m=input(’m=’);

h=1/m;x=-1:h:1;

[X,Y]=meshgrid(x);

16

Z=1/(2*pi)*exp(-0.5*(X.^2+Y.^2));

subplot(1,3,1),surf(X,Y,Z),

shading faceted

title(’Umbrire faceted’)

subplot(1,3,2),surf(X,Y,Z),

shading flat

title(’Umbrire flat’)

xlabel(’x’),ylabel(’y’),zlabel(’z’)

subplot(1,3,3),surf(X,Y,Z)

title(’Umbrire interp’)

shading interp

Iar ın linia de comanda tastam:

>>m=20

2.2.8 Instructiunile ezmesch,ezsurf,ezmeshc, ezsurfc

Tastam ın linia de comanda:

>>subplot(1,2,1);

>> ezmesh(’sin(x)*sin(y)’,[-pi,pi],’circ’);

>> subplot(1,2,2)

>>ezmeshc(’sin(x)*sin(y)’,[-pi,pi],’circ’);

>>colormap spring

Diferenta dintre cele doua grafice este ca primul nu face curbele de nivel, iar cel de-aldoilea da. Dam urmatorul exemplu.

Deschidem un fisier *.m si introducem codul

clear,clf

subplot(1,2,1)

ezsurf(’x*exp(-x^2-y^2)’,[-2,2],20)

title(’Reprezentarea cu ezsurf’)

subplot(1,2,2)

ezmesh(’x*exp(-x^2-y^2)’,[-2,2],20)

colormap autumn

title(’Reprezentare cu ezmesh’)

Salvam cu numele...apoi Run (butonul verde)

17

2.2.9 Problema triunghiului

Examplul 9 Sa se scrie un program Matlab care genereaza la fiecare apasare a unei tastesau click o alegere a 2 puncte in intervalul [0,1], afiseaza daca segmentele pot forma untriunghi, daca da, atunci precizeaza tipul triunghiului si deseneaza triunghiul, obtinut prinintersectia a doua semicercuri.

Solutie: Codul Matlab este:

function triangle

fig = figure;

while ishghandle(fig)

%executia are loc cat timp nu este inchisa fereastra grafica

X=sort(unifrnd(0,1,1,2));

a=X(1);b=X(2)-X(1);c=1-X(2);

clf;

hold on;

axis equal;

axis([0 1 0 0.61]);

plot([0 1],[0 0],’k’,’linewidth’,1.5);

plot(X,[0 0],’or’,’markersize’,12,...

’markerfacecolor’,’r’);

if (a<b+c)&&(b<a+c)&&(c<a+b)

x=((a^2-c^2)/b+X(1)+X(2))/2;

y=sqrt(a^2-(x-X(1))^2);

%(x,y)=coordonatele punctului de intersectie a semicercurilor superioare

% centrate in X(1) si X(2) cu razele a, respectiv c

plot([X(1) X(2) x X(1)], [0 0 y 0],’k’,’linewidth’,3);

plot([X(1) X(2) x X(1)], [0 0 y 0],’or’,...

’markersize’,12,’markerfacecolor’,’r’);

u=0:0.1:pi;

plot(X(1)+a*cos(u),a*sin(u),’--k’);

plot(X(2)+c*cos(u),c*sin(u),’--k’);

if (a^2<b^2+c^2)&&(b^2<a^2+c^2)&&(c^2<a^2+b^2)

text(0.05,0.6,’Segmentele formeaza un triunghi ascutitunghic.’,...

’fontsize’,17);

elseif (a^2==b^2+c^2)||(b^2==a^2+c^2)||(c^2==a^2+b^2)

text(0.05,0.6,’Segmentele formeaza un triunghi dreptunghic.’,...

’fontsize’,17);

else

text(0.05,0.6,’Segmentele formeaza un triunghi obtuzunghic.’,...

’fontsize’,17);

end

else

text(0.1,0.6,’Segmentele nu pot forma un triunghi.’,’fontsize’,17);

18

end

waitforbuttonpress;

end

19

3 Teoria Probabilitatilor

3.1 Probleme

3.1.1 Problema lui de Mere

Un pasionat jucator de zaruri, cavalerul de Mere, sustinea ın discutiile sale cu Pascalca jocurile de noroc uneori conduc la rezultate care contrazic matematica. Astfel, afirmael, a arunca un zar de 4 ori pentru a obtine o data fata sase, este acelasi lucru cu a aruncade 24 ori cate doua zaruri pentru a obtine o dubla de sase. Cu toate acestea, cavalerul deMere a observat ca jucand ın modul al doilea (cu doua zaruri aruncate de 24 ori), pierdeafata de adversarul sau, daca acesta alegea primul mod (aruncarea unui singur zar de 6ori), ceea ce credea el, contrazicea regulilor matematice. Pascal si Fermat au aratat ınsaca probabilitatea p1 de castig la jocul cu un singur zar aruncat de 4 ori este mai maredecat probabilitatea p2 de la jocul cu doua zaruri aruncate de 24 de ori. Desi diferentadintre cele doua probabilitati este mica, totusi, la un numar mare de partide, jucatorulcu probabilitatea de castig p1 castiga ın fata jucatorului cu probabilitatea de castig p2 .

Practica jocului confirma astfel justetea rationamentului matematic, contrar credinteilui de Mere.

Examplul 10 [6] Simulati cu ajutorul unui program MATLAB aceste jocuri:1)aruncarea de patru ori a unui zar, respectiv aruncarea unui zar de 24 de ori, apoi

estimati pe baza simularilor cele doua probabilitati p1 si p2.Are loc p1 > p2 ?2) Daca ın loc de 24 de aruncari se fac 25 de aruncari, ramane valabil ca p1 > p2?

Solutie.Codul Matlab este:

N=100;

%% Simulare primul joc

% Se simuleaza N jocuri, pentru fiecare generandu-se

%un vector coloana

% de 4 numere aleatoare uniforme discrete in 1,2,3,4,5,6

% In total o matrice de $4 \times N$.

%Se numara coloanele in care apare 6 si se

% imparte la N

J1=unidrnd(6,4,N);

p1=sum(max(J1)==6)/N

%% Simulare jocul 2

% Se simuleaza N jocuri, pentru fiecare generindu-se o matrice de

% $2 \times 24$ numere aleatoare uniforme discrete in 1,2,3,4,5,6

% In total o matrice tridimensionala de $2 \times 24 \times N$.

%Se numara coloanele in care apare % dubla de 6 si se imparte la N

J2=unidrnd(6,[2,24,N]);

p2=sum(max(sum(J2))==12)/N

%% Jocul 3

20

% Analog pentru jocul 3

J3=unidrnd(6,[2,25,N]);

p3=sum(max(sum(J3))==12)/N

Se obtin rezultatele

p1 =

0.4700

p2 =

0.4600

p3 =

0.4100

3.1.2 Joc de pariuri

Examplul 11 Se arunca simultan trei zaruri. Castiga jocul acea persoana, care prevedesuma celor trei numere, care au aparut.

(1) Cu ce numar ar trebui pariat pentru a avea sanse cat mai mari de castig?(2) Care numar (sau numere) au probabilitatea cea mai mica de a aparea?(3) Care sunt aceste probabilitati?Sa se simuleze acest joc de m (100, 1000...) ori, sa se realizeze un tabel cu suma

numerelor care au aparut. Sa se compare rezultatele obtinute din simulari cu raspunsurileteoretice de la (3).

SolutieCodul Matlab este:

m=input(’numarul de jocuri:’)

JM = unidrnd(6,3,m);

sume=sum(JM);

T=tabulate(sume);

fprintf(’Valoare Frecventa p\n’);

fprintf(’%7d %8d %f\n’, ...

[T(3:end,1),T(3:end,2), T(3:end,2)/m]’);

%% Teoretic

% Pentru verificare teoretica verificam cu |meshgrid|

% si |tabulate|

[I,J,K]=meshgrid(1:6);

S=I+J+K;

Tt=tabulate(S(:));

fprintf(’Valoare Frecventa p\n’);

fprintf(’%7d %8d %f\n’,...

[Tt(3:end,1),Tt(3:end,2), Tt(3:end,2)/m]’);

format rat

[Tt(3:end,1),Tt(3:end,2)/6^3]

%% Reprezentare grafica

% Grafice sub forma de bare

21

subplot(1,2,1)

bar(T(3:end,1),T(3:end,2))

title(’Simulare’)

subplot(1,2,2)

bar(Tt(3:end,1),Tt(3:end,2))

title(’Teoretic’)

format short

Se obtin rezultatele:

numarul de jocuri:1000

m =

1000

Valoare Frecventa p

3 4 0.004000

4 13 0.013000

5 48 0.048000

6 39 0.039000

7 77 0.077000

8 93 0.093000

9 110 0.110000

10 131 0.131000

11 128 0.128000

12 114 0.114000

13 87 0.087000

14 61 0.061000

15 46 0.046000

16 34 0.034000

17 14 0.014000

18 1 0.001000

Valoare Frecventa p

3 1 0.001000

4 3 0.003000

5 6 0.006000

6 10 0.010000

7 15 0.015000

8 21 0.021000

9 25 0.025000

10 27 0.027000

11 27 0.027000

12 25 0.025000

13 21 0.021000

14 15 0.015000

15 10 0.010000

16 6 0.006000

22

17 3 0.003000

18 1 0.001000

ans =

3 1/216

4 1/72

5 1/36

6 5/108

7 5/72

8 7/72

9 25/216

10 1/8

11 1/8

12 25/216

13 7/72

14 5/72

15 5/108

16 1/36

17 1/72

18 1/216

3.1.3 Generare numere aleatoare

Examplul 12 Se dau: n si N numere naturale (nenule) si p ∈ (0; 1). Fara a folosicomanda randsample sau binornd, sa se scrie o functie [6] :

(1) care genereaza n numere 0 si 1, astfel ıncat probabilitatea de aparitie a lui 1 safie egala cu p, iar probabilitatea de aparitie a lui 0 sa fie 1 - p (de fapt, se genereaza nvalori pentru o variabila aleatoare de tip Bernoulli);

X ∼ Bernoulli(p) ⇔ X∼(

0 11− p p

)(2) care genereaza N numere care reprezinta valorile unei variabile aleatoare binomial

distribuiteX ∼ Binomial(n; p) ⇔

X ∼(

0 1 ... k ... n(1− p)n np(1− p)n−1 ... Ck

npk(1− p)n−k ... pn

)Solutie:

Codul Matalab este:

function nr=bernoulli(p,n)

x=rand(1,n);

nr=(x<p);

end

>> clear all

>> b= bernoulli(0.5,100);

>> tabulate(b) % daca este in Statistics Toolbox

23

>> binornd(1,0.5,1,100); % daca este Statistics Toolbox

function nr=binom(p,n,N)

for i=1:N

nr(i)=sum(bernoulli(p,n));

end

end

>> clear all

>> bi=binom(0.5,10,1000);

>> tabulate(bi) % daca este Statistics Toolbox

>> binornd(10,0.5,1,1000); % daca este Statistics Toolbox

Se obtin rezultatele:

Value Count Percent

1 0 0.00%

2 0 0.00%

3 2 20.00%

4 3 30.00%

5 4 40.00%

6 1 10.00%

3.1.4 Retea de Calculatoare

Examplul 13 O retea de laborator este compusa din 15 calculatoare. Reteaua a fostatacata de un virus nou, care ataca un calculator cu o probabilitatea 0.4, independent dealte calculatoare. Care este probabilitatea ca virusul a atacat: a) cel mult 10 computere;b) cel putin 10 calculatoare; c) exact 10 calculatoare.

Solutie

Codul Matlab este:

>> N=10000;

>> c=binom(0.4,15,N);

>> prob_a=sum(c<=10)/N % binocdf(10,15,0.4) = P(X<=10)

>> prob_b=sum(c>=10)/N % 1-binocdf(9,15,0.4) = 1- P(X<= 9)= P(X>=10)

>> prob_c=sum(c==10)/N % binopdf(10,15,0.4) = P(X=10)

%bincodf, binopdf fac parte din Statistics Toolbox

Se obtin rezultatele

prob_a =

0.1500

prob_b =

0

prob_c =

0

24

3.1.5 Partitionarea unei multimi date ın doua submultimi

Examplul 14 [6] Sa se realizeze un program care afiseaza toate partitionarile unei multimidate de n elemente ın doua submultimi a cate k, respectiv n-k, elemente, pentru n; knumere naturale ce satisfac n ≥k (a se vedea functiile din Octave/Matlab nchoosek,

ismember).

Solutie:Codul Matlab este:

function P=partition2(v,k)

%returneaza toate partitiile vectorului v in 2 submultimi,

% cu k elemente, respectiv cu n-k elemente

%exemplu apel:>> partition2(’abcdef’,3)

n=length(v);

P=[’ ’];

if k==0

P=[’’ ’’ v ’’];

elseif k==n-k

p1=v(nchoosek(1:n-1,k));

if k==1 p1=p1’;

end

%p1=are pe fiecare linie k elemente,

% corespunzatoare primei submultimi din partitie

for i=1:nchoosek(n-1,k)

p2=v(ismember(v,p1(i,:))!=1);

%p1=are n-k elemente, corespunzatoare submultimii

% complementare p1(i,:)

P=[P; ’’ p1(i,:) ’’ ’’ p2 ’’];

end

else

p1=v(nchoosek(1:n,k));

if k==1 p1=p1’; end

for i=1:nchoosek(n,k)

p2=v(ismember(v,p1(i,:))!=1);

P=[P; ’’ p1(i,:) ’’ ’’ p2 ’’];

end

end

Examplul 15 10 baschetbalisti vor sa formeze 2 echipe, a cate 5 jucatori fiecare, pentru ajuca una ımpotriva celeilalte. Fiecare jucator are inscriptionat pe tricou cate unul dintrecaracterele urmatoare: a, b, c, d, 0, 1, 2, 3, 4, 5.

a)Afisati toate perechile de echipe care se pot forma. Cate astfel de perechi sunt posi-bile?

b) Dintre toate perechile de echipe, sa se afiseze doar cele ın care o echipa are cel putin4 jucatori cu cifre pe tricouri. Cate astfel de perechi sunt posibile?

25

c) Dintre toate perechile de echipe, sa se afiseze doar cele ın care jucatorii care autricourile cu a si 0 sunt coechipieri. Cate astfel de perechi sunt posibile?

d) Simulati de N (=100, 1000) ori alegerea aleatoare a unei echipe ın care trei jucatoriau litere si doi jucatori au cifre.

De cate ori jucatorii cu tricourile cu a si 0 au fost coechipieri? Pentru alegerea alea-toare descrisa mai sus, estimati probabilitatea ca jucatorii cu tricourile cu a si 0 sa fiecoechipieri.

Solutie:a) Folosim functia partition2

>>P=partition2(’abcd012345’,5)

Numarul de perechi este:

>>size(P,1)= 126

b)

count=0;

fprintf(’Perechile de echipe in care o ...

echipa are cel putin 4 jucatori cu cifre:\n’);

for i=1:126

if sum(ismember(P(i,1:7),’012345’))>=4||...

sum(ismember(P(i,8:14),’012345’))>=4 ...

fprintf(’%s\n’,P(i,:));

count=count+1;

end

end

fprintf(’%d de perechi de echipe in care o echipa ...

are cel putin 4 jucatori cu cifre.\n’,count);

Numarul de echipe este:C4

6C14 + C5

6

c)

count=0;

fprintf(’Perechile de echipe in care jucatorii cu ...

a si 0 sunt coechipieri:\n’);

for i=1:126

if sum(ismember(P(i,1:7),’a0’))==2 ||...

sum(ismember(P(i,8:14),’a0’))==2

fprintf(’%s\n’,P(i,:));

count=count+1;

end

end

fprintf(’%d de perechi de echipe in care jucatorii ...

cu a si 0 sunt coechipieri.\n’,count);

26

Numarul de echipe este: C37

d)

N=1000;

count=0;

for i=1:N

l=’abcd’;

c=’012345’;

e=[randsample(l,3) randsample(c,2)];

if sum(ismember(e,’a0’))==2

count=count+1;

end

end

fprintf(’In %d de simulari, din totalul de %d, a si 0...

au fost coechipieri.\n’, count, N);

fprintf(’Probabilitatea ca a si 0 sa fie coechipieri...

este aproximativ %3.2f\n’, count/N);

Probabilitatea evenimentului este: 0.25

3.1.6 Permutarea aleatoare a unui sir

Examplul 16 Fara a folosi randperm sau randsample, sa se realizeze o permutarealeatoare a elementelor unui sir.

Codul Matlab este:

X=[’a’,’b’,’c’,’d’,’e’,’f’,’g’] ;

n = length(X);

for i = 2:n % shuffle in forward direction:

w = ceil(rand * i); % 1 <= w <= i

t = X(w);

X(w) = X(i);

X(i) = t;

end

X

%%%%%%%%%%%%%%%%%%%%

X=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’] ;

n = length(X);

for i = n:-1:2 % shuffle in backward direction:

w = ceil(rand * i); % 1 <= w <= i

t = X(w);

X(w) = X(i);

X(i) = t;

end

Dam in linia de comanda:

>>X

27

3.1.7 Schema lui Poisson

Examplul 17 Se dau 3 urne: prima contine 2 bile albe si 3 bile negre, a doua 4 bile albesi o bila neagra, iar a treia 3 bile albe si doua bile negre. Din fiecare urna se extrage cateo bila. Care este probabilitatea ca doua bile sa fie albe si una neagra?

SolutieConsideram evenimentele independente:Ai — bila extrasa din urna i este alba, i = 1,2, 3.Se cere probabilitatea realizarii a doua evenimente din cele trei. Suntem ın cazul

schemei lui Poisson cu n = 3, k = 2, p1 = P(A1) =25, p2=

45, p3=

35

Folosind functia Matlab conv care calculeaza produsul a doua polinoame, tastam ınlinia de comanda:

>> p1=[2/5 3/5]

>> p2=[4/5 1/5]

>> p3=[3/5 2/5]

>> p=conv(p1,p2)

>> pf=conv(p,p3)

Se obtin rezultatele:

pf =

0.1920 0.4640 0.2960 0.0480

Deoarece se cere probabilitatea ca doua bile sa fie albe si una neagra,

alegem coeficientul lui x^2.

Deci p=0.4640

3.2 Distributii de probabilitate

3.2.1 Distributii discrete

Generarea de numere pseudo-aleatoare ce urmeaza o distributie discreta data(metoda inversei) Se dau (x1, . . . , xn) (valorile) si (p1, . . . , pn) (probabilitatile lor).Realizati un program MATLAB care genereazaN numere pseudo-aleatoare, care urmeazadistributia discreta:

X ∼(x1 x2 . . . xn

p1 p2 . . . pn

),

folosind numere aleatoare uniform distribuite pe [0,1].Procedeul de generare al numerelor aleatoare Y (i), i = 1, N , este:

• Se citesc valorile x1, x2, . . . , xn si probabilitatile corespunzatoare p1, p2, . . . , pn, precumsi numarul N . Fie p0 = 0.• Se genereaza N numere aleatoare uniform distribuite pe [0,1]: U(i), i = 1, N .• Pentru fiecare i = 1, N : Y (i) = xk daca si numai daca

p0 + p1 + · · ·+ pk−1 < U(i) ≤ p0 + p1 + · · ·+ pk, k ∈ 1, . . . , n.

• Se returneaza: Y (i), i = 1, N.

28

Verificarea procedeului: deoarece U urmeaza legea uniforma, avem pe baza procedeuluide mai sus:

P (”se genereaza xk ”)=P (p0 + p1 + · · ·+ pk−1 < U ≤≤ p0 + p1 + · · ·+ pk) = pk, k = 1, . . . , n

deci numerele generate urmeaza legea de distributie discreta data.

Examplul 18 Conform statisticilor medicale 46% din oameni au grupa sanguina 0, 40%au grupa sanguina A, 10% au grupa sanguina B si 4% au grupa sanguina AB. Simulatide N(= 100, 1000) ori stabilirea grupei sanguine a unei persoane alese aleator si afisatifrecventa de aparitie a fiecarei grupe sanguine. Comparati rezultatele obtinute cu celeteoretice.

function Y=ivtdiscret(x,p,N) %inverse transform method

Y=zeros(1,N);

q=cumsum(p);

for i=1:N

U=unifrnd(0,1);

Y(i)=x(find(U<=q,1));

end

function sanguina(N)

y=ivtdiscret(0:3,[0.46 0.4 0.1 0.04],N);

% 0 -> grupa ’0’, 1 -> grupa ’A’, 2 -> grupa ’B’, 3 -> grupa ’AB’

frecvente=zeros(1,4);

for i=1:4

frecvente(i)=sum(ismember(y,i-1))/N;

end

probabilitati=[0.46 0.4 0.1 0.04]

frecvente

Se ob\U163in rezultatele

>>sanguina(100)

probabilitati =

0.4600 0.4000 0.1000 0.0400

frecvente =

0.5200 0.3400 0.1000 0.0400

Examplul 19 Un pachet de carti de joc contine 4 asi. Se extrag fara returnare 4 cartide joc. Fie X variabila aleatoare, care indica cati asi au fost extrasi. Folosinda) randsampleb) hygerndc) metoda prezentata mai susSa se simuleze valori aleatoare ale lui X.Comparati rezultatele obtinute cu cele teoretice.

29

Solutie:

Scriem codul Matlab:

N=input(’numar de simulari: ’);

M=hygernd(52,4,4,1,N);

tabulate(M)

count=zeros(1,N);

for i=1:N

s=randsample(52,4,true);

count(i)=sum(mod(s,14)==0);

end

tabulate(count)

Daca dam in linia de comanda:

>>numar de simulari=100

ob\U163inem:

Value Count Percent

0 73 73.00%

1 26 26.00%

2 1 1.00%

Value Count Percent

0 72 72.00%

1 23 23.00%

2 5 5.00%

Examplul 20 [5] Se stie ca 5% din produsele unei anumite companii sunt defecte. Pro-dusele sunt testate pe rand pana la detectarea primului produs defect. Fie X variabilaaleatoare, care indica numarul de produse testate pana la detectarea primului produs de-fect. Folosind metoda prezentata mai sus, sa se simuleze valori aleatoare pentru X. Careeste probabilitatea de a se verifica mai mult de 5 produse, pana la detectarea primuluiprodus defect? (P (X > 5))Comparati rezultatele obtinute prin simulare cu cele teoretice.

Solutie: Scriem codul Matlab:

N=input(’numar de simulari: ’);

p=0.05;

pr=sum(geornd(p,1,N)>=5)/N

prt=1-geocdf(4,0.05)

Pentru N=100 obtinem:

numar de simulari: 100

pr =

0.7400

prt =

0.7738

30

Examplul 21 Numarul de clienti care suna la o centrala telefonica ın decurs de o oraurmeaza distributia Poisson cu media de 20 clienti pe ora (⇒ λ = 20). Simulati numarulde apeluri ın centrala si afisati frecventa de aparitie a exact k clienti, unde k ∈ 5, 10, 15.Comparati rezultatele obtinute prin simulare cu cele teoretice.Solutie

Scriem codul Matalab:

N=input(’numar de simulari: ’);

lambda=20;

M=poissrnd(lambda,1,N);

p5=sum(M==5)/N;

p10=sum(M==10)/N;

p15=sum(M==15)/N;

disp(’Simulare’)

disp([p5,p10,p15])

disp(’teoretic’)

disp(poisspdf([5,10,15],lambda))

Pentru n=100 se obtin rezultatel:

numar de simulari: 100

Simulare

0 0 0.0600

teoretic

0.0001 0.0058 0.0516

Examplul 22 Realizati un program care genereaza N valori aleatoare care urmeaza legeauniforma discreta Unif(n) (n ∈ N∗ parametru dat), folosind metoda inversei.

X ∼ Unif(n) ⇔ X ∼(1 2 . . . n1n

1n. . . 1

n

)Fie U ∼ U [0, 1]

X = k (k = 1, 2..., n) ⇔ k ⇒ U ≤k∑

j=0

1

n=

k

n

X = k (k = 1, 2..., n) ⇔ k − 1 < nU ≤ k

Simularea de la metoda inversei revine la calculul valorilor X = ⌈nU⌉,adica U ∼ U [0, 1] ⇒ X = ceil(nU) ∼ Unif(n).Se ia o variabila aleatoare Y ∼ U [0, 1]. Ce distributie are variabila aleatoare ⌊10 · Y ⌋?(⌊x⌋ = floor(x) partea ıntreaga a numarului pozitiv x)Indicatie: ⌊10 · Y ⌋+ 1 ∼ Unif(10), adica

⌊10 · Y ⌋ ∼(0 1 . . . 9110

110. . . 1

10

)

31

Solutie:

Scriem codul Matlab:

N=input(’numar de simulari: ’);

X=floor(10*rand(1,N));

tabulate(X)

>>numar de simulari: 1000

Value Count Percent

0 101 10.10%

1 83 8.30%

2 103 10.30%

3 86 8.60%

4 104 10.40%

5 111 11.10%

6 99 9.90%

7 92 9.20%

8 125 12.50%

9 96 9.60%

Examplul 23 Fie variabila aleatoare X care se refera la aruncarea unui zar , anumedaca ın urma aruncarii zarului se obtine 4 sau 6 se pierde o miza (X=-1),iar daca seobtine un numar prim 2,3,5 se castiga o miza (X=1), altfel nu se castiga si nu se pierdenimic (X=0). Sa se reprezinte prin puncte si bare functia de probabilitate si functia derepartitie pe aceasi figura.

Solutie:

Variabila aleatoare X are distributia:

X =

(−1 0 113

16

12

)Scriem urmatorul program Matlab

x=[-1:1];

p=[1/3,1/6,1/2];

pc=[1/3,1/2,1];

subplot(1,3,1),plot(x,p,’o’)

axis([-1.5 1.5 0 1])

title(’Functia de probabilitate’)

subplot(1,3,2),bar(x,p)

axis([-1.5 1.5 0 1])

title(’Functia de probabilitate prin bare’)

subplot(1,3,3),stairs(x,pc)

title(’Functia de repartitie’)

32

Legea binomiala

Examplul 24 Sa se scrie un program Matlab care sa reprezinte grafic functia de proba-bilitate (prin puncte si bare) si functia de repartitie ale legii binomiale.

Solutie:Scriem urmatorul cod Matlab:

x=0:10;

p=0.2;

n=10;

y1=binopdf(x,n,p)

y2=binocdf(x,n,p)

subplot(1,2,1)

stem(x,y1)

title(’b(10,0.2) - pdf’,’Fontsize’,14)

subplot(1,2,2)

stairs(x,y2)

title(’b(10,0.2) - cdf’,’Fontsize’,14)

Legea hipergeometrica Spunem ca variabila aleatoare X urmeaza legea hipergeome-trica H (n,M,K), daca are distributia

X :

(k

P (n, k =

)k=0,n

, unde

P (n, k)=

(Kk

)(M −Kn− k

)(Mn

) , n ≤ K ≤ M

Variabila aleatoare X reprezinta numarul de succese obtinute ın n extrageri dintr-opopulatie de volum M, fara ıntoarcere, daca numarul indivizilor cu proprietatea cercetataeste K.

Functia densitate de peobabilitate este:

f(x, n,M,K) =

(Kx

)(M −Kn− x

)(Mn

)Daca se noteaza p=K

Msi q=M−K

Madica probabilitatile ca la prima extragere sa se

obtina succes sau insucces ,iar M→ ∞, se obtine distributia binomiala.Ilustram acest lucru prin urmatorul program Matlab:

%legea hipergeometrica+legea binomiala M=25,k=11,n=40

clf;

33

M=input(’M:’);

K=input(’K(K<=M:’);

n=input(’n(n<=K:)’);

x=0:n;

p=K/M;

fg=hygepdf(x,M,K,n);

fb=binopdf(x,n,p);

bar(x’,[fg’,fb’])

title(’Legea hipergeometrica+legea binomiala’)

colormap winter

Legea lui Poisson Variabila aleatoare X urmeaza legea lui Poisson P0(λ) daca aredistributia

X :

(k

pk(λ)

)k′0,1,2,...

unde

pk(λ)=λk

k!e−λ, λ > 0

Functia densitate de probabilitate corespunzatoare este:

f(x, λ) =λx

x!e−λ, x = 0, 1, ...

Variabila aleatoare numara de cate ori apare un anumit eveniment ıntr-un interval detimp ,pe o distanta, pe o suprafata,etc. Poisson a aratat ca aceasta lege este un caz limitaa legii binomiale daca np→ λ,pentru n→ ∞.

Vom scrie un program Matlab care sa reprezinte grafic prin bare functiile densitate deprobabilitate pentru B(n,p) si Po(λ) cu λ = np.

%legea hipergeometrica, legea binomiala,

clf;

n=input(’n=’);

p=input(’p=’);

lambda=n*p;

%%%%%%%%%%

vi=fix(lambda-3*sqrt(lambda));

vf=fix(lambda+3*sqrt(lambda));

x=vi:vf;

fb=binopdf(x,n,p);

fh=poisspdf(x,lambda);

colormap spring

subplot(1,2,1);

Dam in linia de comanda:

n=100

p=0.05

34

3.2.2 Legi de distributie continue clasice

Definitie 25 Fie (Ω, K, P ) un camp de probabilitate borelian, se numeste variabilaaleatoare discreta o functie X=x(ω) definita pe multimea evenimentelor elementareω = Ω cu valori reale a.ı.

Ai = ω/ x(ω) = xi ∈ K, ∀xi ∈ R, i ∈ N

Definitie 26 Se numeste variabila aleatoare continua functie reala X=x(ω), definitapentru ∀ ω ∈ Ω a.ı

Ai = ω/ x(ω) < x ∈ K, ∀x ∈ R, i ∈ N

Definitie 27 Daca X este variabila aleatoare functia

F (x) = P (AX) = P (X < x)

se numeste functia de repartitie a variabilei X.

Lema 28 Fie F (x) functia de repartitie a v.a. X atunci:

1. 0 ≤ F (x) ≤ 1, ∀x ∈ R

2. P( a ≤ X < b) = F (b)− F (a)

3. P( a<X<b )=F(b)-F(a)-P(x=a)

4. P( a<X≤ b) = F (b)− F (a)−P(x=a)+P(x=b)

Teorema 29 Functia de repartitie a oricarei v.a X este o functie nedescrescatoare, con-tinua la stanga si

limx→−∞

F (x) = 0; limx→∞

F (x) = 1

Definitie 30 Fie F(x) functia de repartitie a unei variabilei X, daca ∃ o functie integra-bila f(x) a.ı.

F (x) =

x∫−∞

f(u)du (1)

atunci X se numeste v.a. continua, iar f(x) se numeste densitate de probabilitate saudensitate de repartitie a lui X.

Observatie 31 Relatia (1) se mai poate scrie

f(x) = F′(x)

35

3.2.3 Functiile Matlab pdf,cdf

Concluzionam ca distributia variabilei aleatoare X poate fi precizata prin ceea cenumim functie de probabilitate (pdf=probability distribution function)definitaprin

f (xi) = pi, i ∈ I

sau prin functia de repartitie (cdf=cumulative distribution function).

Daca valorile pi, i ∈ I sunt calculate atunci folosind instructiunile plot,bar, stairs

se pot reprezenta grafic functia de probabilitate (pdf)si functia de repartitie (cdf).Anumedaca vectorul x contine valorile variabilei aleatoareX ,iar p probabiltatile corespunzatoare,atunci instructiunile:

plot(x,p,’s’)

bar(x,p)

stairs(x,p)

vor reprezenta grafic respectiv functia de probabilitate prin simbolul s functia deprobabilitate prin bare si functia de repartitie (functia ın scara). Remarcam faptul cadaca X ia o infinitate numarabila de valori, atunci trebuie sa ne limitam la un numar finitde valori ale variabilei aleatoare, iar reprezentarile grafice se vor face pe domeniul cuprinsıntre valorile minima si maxima.ale acestora.

Examplul 32 Sa se scrie cod Matlab care sa reprezinte legea normala.

Solutie:Scriem un script Legea Normala.m cu urmatorul continut:

m=input(’mu=’);

s=input(’sigma=’);

x=m-3*s:0.01:m+3*s;

f=normpdf(x,m,s);

F=normcdf(x,m,s);

subplot(1,2,1),

%grid on

plot(x,f,’k-’)

grid on

title(’Densitatea de probabilitate’)

subplot(1,2,2),

%grid on

plot(x,F,’k-’)

grid on

title(’Functia de repartitie’)

Il salvam, apoi ıl lansam ın executie (butonul verde al editorului), iar ın linia decomanda dam:

36

mu=2

sigma=3

Examplul 33 Sa se reprezinte grafic functia densitate de probabilitate f si functia derepartitie pentru legea uniforma U(a,b)

Solutie:Codul Matlab este:

clf;

a=input(’a=’);

b=input(’b=’);

x=a-1:0.01:b+1;

f=unifpdf(x,a,b);

F=unifcdf(x,a,b);

subplot(1,2,1),plot(x,f,’k-’)

axis([a-1 b+1 -0.01 1/(b-a)+0.1])

title(’Densitate de probabilitate’)

subplot(1,2,2),plot(x,F,’k-’)

axis([a-1 b+1 -0.01 1.1])

title(’Functia de repartitie’)

%In linia de comanda dam a=1, b=4

Examplul 34 Sa se reprezinte pe acelasi grafic densitatile de probabilitate pentru legeanormala si legea gamma pentru a=100, b=10.

Solutie:Stim ca daca X urmeaza legea gamma Ga(a, b), atunci pentru a→ ∞, variabila alea-

toare poate fi considerata ca urmand legea N(µ, σ) cu

µ = ab, σ = b√a

Exemplificam acest lucru prin urmatorul cod Matlab.

a=input(’a=’);

b=input(’b=’);

m=a*b;

s=b*sqrt(a);

x=m-3*s:0.01:m+3*s;

f=normpdf(x,m,s);

F=gampdf(x,a,b);

plot(x,f,’k-.’,x,F,’k-’)

grid on

legend (’Legea normala’,’Legea gamma’)

%in linia de comanda a=100,b=10

37

3.2.4 Functia randtool

Lansarea ın executie a acestei functii se face prin [4, pag 134]:

>>randtool

In urma careia se produce o fereastra grafica interactiva privind generarea numereloraleatoare si ilustrarea acestora cu ajutorul histogramelor. Fixarea (stabilirea) legii deprobabilitate ın scop demonstrativ se face prin alegerea din meniul legilor de probabilitatesituat ın partea stanga sus a ferestrei.

Volumul numerelor aleatoare, ce urmeaza a fi generate, se precizeaza prin introducereaacestuia ın fereastra din partea dreapta sus. Pentru stabilirea valorilor parametrilor legiide probabilitate cnsiderate se poate prceda ın doua moduri.

1. Fie prin introducerea ın ferestrele corespunzatoare ale valorilor dorite,

2. fie prin deplasarea barelor atasate acestora.In plus, limitele pentru parametrii legiide probabilitate considerate pot fi precizate prin introducerea acestora ın ferestreleconsiderate.

Activarea butonului output are ca efect salvarea numerelor aleatoare curente ın vari-abila ans sau ın variabila precizata de utilizator, iar butonul resample permite repetareagenerarii de numere aleatoare cu acelasi volum si aceasi parametrii.

3.2.5 Legea normala bidimensionala

Vectorul aleator (X,Y) bidimensional urmeaza legea normala bidimensionala, daca aredensitatea de probabilitate:

f(x, y)=1

2πσ1σ2

×

× exp− 1

2(1− r2)

[(x− µ1)

2

σ21

− 2r(x− µ1)(y − µ2)

σ1σ2

+(y − µ2)

2

σ22

]

unde σ1, σ2 > 0 si |r|<1.Se cunoaste ca fiecare din componentele X si Y ale vectorului aleator urmeaza legea

normala repectiv N(µ1, σ1) si N(µ2, σ2) .

Examplul 35 Sa se scrie un program Matlab care reprezinta grafic densitatea de proba-bilitate a legii normale bidimensinale.

Solutie:

clf,clear all

m1=input(’mu1=’);

m2=input(’mu2=’);

s1=input(’s1=’);

s2=input(’s2=’);

r=input(’r(-1<r<1):’);

38

x=m1-3*s1:.2:m1+3*s1;

y=m2-3*s2:.2:m2+3*s2;

%reprez grafica

[X,Y]=meshgrid(x,y);

Z=1/(2*pi*s1*s2*sqrt(1-r^2))*exp(-1/(2*(1-r^2))...

*((X-m1).^2/s1^2-2*r*(X-m1).*(Y-m2)/(s1*s2)...

+(Y-m1).^2/s2^2));

mesh(X,Y,Z)

grid on

title(’Legea normala bidimensionala’)

%In linia de comanda dam m1=m2=0,s1=1,s2=2, r=-0.5

3.2.6 Legi de probabilitate continue statistice

Legea t(Student) Variabila aleatoare X urmeaza legea t (Student) de probabilitatenotata T (n) daca are densitatea de probabilitate

f(x, n) =Γ(n+1

2)

Γ(n2) 2√n ∗ π

(1 +

x2

n

)−n+12

, x ∈ R

n∈ N numarul gradelor de libertate, iar Γ(.) este functia gamma alui Euler.

Cand n→ ∞ se ajunge la legea normala standard N(0,1)

Vom exemplifia acest fapt prin urmatorul cod Matlab:

clf;

n=input(’n=’);

d=input(’delta=’);

x=-5:0.01:5;

fc=tcdf(x,n);

Fnc=nctcdf(x,n,d);

plot(x,fc,’k-.’,x,Fnc,’k-’)

grid on

legend(’Legea student’,...

’Legea student necentrata’,2)

%se dau in linia de comanda n=10,d=1

Legea χ2 Variabila aleatoare urmeaza legea χ2 sau legea Helmet-Pearson notata χ2(n),daca are densitatea de probabilitate

f(x, n) =1

2n2Γ(n

2)x

n2−1e−

x2 , x > 0, n = nr. grad e de libertate

Daca variabila aleatoare X urmeaza legea χ2(n), atunci pentru n→ ∞ variabila aleatoareurmeaza legea normala N(n,

√2 ∗ n).

Vom exemplifica acest lucru prin urmatorul cod Matlab:

39

clf;

n=input(’n=’);

s=sqrt(2*n);

x=n-3*s:0.01:n+3*s;

fn=normpdf(x,n,s);

fchi=chi2pdf(x,n);

plot(x,fn,’k-.’,x,fchi,’k-’)

grid on

legend(’Legea normala’,’legea chi2’,2)

% in linia de comanda se da n=1000

Examplul 36 Sa se reprezinte grafic legea Helmet-Pearson.

Solutie:

Scriem urmatorul cod Matlab:

%chi2plot

x1=linspace(0,80)’;

x2=linspace(0,12);

y1=zeros(length(x1),3);

y2=chi2pdf(x2,1)

df=[5,10,30];

for k=1:3

y1(:,k)=chi2pdf(x1,df(k));

end

subplot(2,1,1)

plot(x1,y1)

grid on

Observatie 37 [1, pag 107] Mediul de programare Matlab dispune de comanda >>disttoolcare permite construirea interactiva a graficelor legilor de distributie discrete, continue.

3.2.7 Functia plotmatrix

Aceasta functie reprezinta pe aceasi figura mai multi nori statistici. Apelul este:

plotmatrix(x)

plotmatrix(x,y)

plotmatrix(x,y,s)

unde x,y sunt matrice cu acelasi numar de linii, dar numarul coloanelor poate fi diferit, fie acesta m si n. Executarea unei instructiuni de acest tip produce m×n nori statistici,pentru fiecare coloana a matricei x cu fiecare coloana a matricei y cu marcajele specificateprin parametrul optional s, care are sintaxa de la functia plot.

Examplul 38 Sa se scrie un program Matlab, care sa genereze o matrice x de tipul (N,3)care contine vectori aleatori ce urmeaza legea normala tridimensionala, dupa care se vaaplica functia plotmatrix.

40

Solutie:Scriem urmatorul cod Matlab:

clear all

mu(1)=input(’m1=’);

mu(2)=input(’m2=’);

mu(3)=input(’m3=’);

v(1,1)=input(’sigma1^2=’);

v(2,2)=input(’sigma2^2=’);

v(3,3)=input(’sigma3^2=’);

v(1,2)=input(’Cov(X,Y)=’);v(2,1)=v(1,2);

v(1,3)=input(’Cov(X,Z)=’);v(3,1)=v(1,3);

v(2,3)=input(’Cov(Y,Z)=’);v(3,2)=v(2,3);

N=input(’N=’);

X=mvnrnd(mu,v,N);

plotmatrix(X,’o’)

title(’Nori statistici’)

grid on

%dam in linia de comanda:N=100,mu=(5,10,15)

%v(1,1)=2, v(2,2)=3,v(3,3)=1

%v(1,2)=-1,v(1,3)=1,v(3,2)=-1

3.2.8 Teorema Moivre-Laplace

Daca variabila aleatoare Zn urmeaza legea binomiala, adica are distributia:

Zn :

(x

f(x, n, p)

)x=1,n

unde:f(x, n, p) = Cx

npx(1− p)n−x

atunci:Zn − np√np(1− p)

→ Z

unde Z este o variabila aleatoare ce urmeaza legea normala N(0, 1).

Examplul 39 Sa se scrie un program MATLAB care sa reprezinte grafic prin barefunctia de probabilitate a legii binomiale B(n,p) ımpreuna cu densitatea de probabilitate alegii normale N(np,

√np(1− p) .

Solutie:Scriem urmatorul script Matlab:

clf

n=input(’n=’);

p=input(’p=’);

41

m=n*p;

s=sqrt(n*p*(1-p));

x=-1:n;

xx=-1:0.01:n+1;

P=binopdf(x,n,p);

y=normpdf(xx,m,s);

bar(x,P,0.3)

hold on

plot(xx,y)

grid on

%executarea programului se face pentru n=50,p=0.03

42

4 Statistica matematica

4.1 Parametrii distributiilor statistice

Se considera datele statistice primare x′

k k = 1, N, relative la carcteristica X din carese obtine distributia statistica:

X

(xi

fi

), i = 1, n

4.1.1 Parametrii statistici care masoara tendinta

• Media aritmetica a distributiei statistice a caracteristicii X este data prin

xa =1

N

n∑k=1

fkxk

• Media geometrica a distributiei statistice a caracteristicii X este data prin

xg =N

√√√√ N∏k=1

xfkk

• Media armonica a distributiei statistice a caracteristicii X este data prin

xh =N

N∑k=1

fk1xk

Sistemul de baza MATLAB contine functia mean,iar STATISTICS TOOLBOX dis-pune de celelate doua functii geomean si harmean.Mentionam ca ın STATISTICS TO-OLBOX se afla si functia trimmean avand ca efect calculul mediei aritmetice a vectoruluix dupa ce au fost eliminate cele mai mici p

2% componente si cele mai mari p

2% componente,

iar daca x este o matrice, aceasta operatie se face pentru fiecare coloana.ın parte.

Definitie 40 Numim mediana a distributiei statistice a caracteristicii X valoarea nu-merica m care ımparte datele statististice, ordonate crescator ın doua parti egale.

Sistemul de baza MATLAB dispune de de functia median.

Definitie 41 Numim deviatia standard

s = (1

N

N∑i=1

(xi − xa)2)1/2

Sistemul de baza MATLAB dispune de de functia std.

43

4.1.2 Parametrii statistici ce masoara dispersia

Definitie 42 Numim cuantile ale distributiei statistice a caracteristicii X valorile Q1

(cuantila inferioara), Q2 = m,Q3(cuantila superioara), care ımpart datele statistice ordo-nate crescator ın patru parti egale.

Definitie 43 Numim mod al distributiei statistice a carcteristicii X orice punct mo demaxim local al distributiei statistice.

Cand datele statistice sunt grupate pentru determinarea modulului, se determina in-tervalul modal adica intervalul cu frecventa maxima.

Definitie 44 Numim moment de ordin k al distributiei statistice a caracteristiciiX valoarea numerica:

νk =1

N

N∑i=1

fixki

Definitie 45 Numim amplitudinea distributiei statistice a carcteristicii X valoarea nu-merica:

w = xmax − xmin

Definitie 46 Numim abatere medie absoluta a distributiei statistice X valoarea nu-merica:

δ =N∑k=1

fk |xk − xa|

Definitie 47 Numim moment centrat de ordin k al distributiei statistice X valoareanumerica

µk =N∑k=1

fi |xi − xa|k

Momentul centrat de ordin doi al distributiei statistice X se numeste dispersie si senoteaza σ2 = µ2, iar σ =

õ2 se numeste abaterea medie patratica sau abaterea standard.

In general media si dispersia sunt functii simple care depind de parametrii distributiei.Functiile Toolbox-ului Statistics a caror nume se termina cu stat returneaza media sidispersia unei distributii de parametrii dati.

Examplul 48 Sa se scrie un program Matalb care returneaza media si dispersia uneidistributii Weibull si sa se reprezinte sub forma unei curbe de nivel.

Solutie:

44

Scriem urmatorul cod Matlab:

x=0.5:0.1:5;

y=1:0.04:2;

[X,Y]=meshgrid(x,y);

Z=weibstat(X,Y);

[c,h]=contour(x,y,Z,[0.4 0.6 1.0 1.8]);

grid on

clabel(c);

Se obtin rezulatele

c =

Columns 1 through 8

0.4000 2.5000 2.5521 2.6000 2.6059 2.6646 2.7000 2.7260

50.0000 1.0000 1.0400 1.0759 1.0800 1.1200 1.1439 1.1600

Columns 9 through 16

2.7906 2.8000 2.8594 2.9000 2.9312 3.0000 3.0061 3.0853

1.2000 1.2059 1.2400 1.2633 1.2800 1.3169 1.3200 1.3600

Columns 17 through 24

3.1000 3.1681 3.2000 3.2545 3.3000 3.3446 3.4000 3.4385

1.3675 1.4000 1.4153 1.4400 1.4608 1.4800 1.5042 1.5200

Columns 25 through 32

3.5000 3.5364 3.6000 3.6384 3.7000 3.7445 3.8000 3.8549

1.5456 1.5600 1.5854 1.6000 1.6237 1.6400 1.6606 1.6800

Columns 33 through 40

3.9000 3.9697 4.0000 4.0889 4.1000 4.2000 4.2130 4.3000

1.6962 1.7200 1.7305 1.7600 1.7637 1.7960 1.8000 1.8273

Columns 41 through 48

4.3421 4.4000 4.4759 4.5000 4.6000 4.6148 4.7000 4.7593

1.8400 1.8577 1.8800 1.8872 1.9159 1.9200 1.9439 1.9600

Columns 49 through 56

4.8000 4.9000 4.9089 0.6000 1.6680 1.6745 1.6826 1.6920

1.9712 1.9977 2.0000 31.0000 1.0000 1.0400 1.0800 1.1200

Columns 57 through 64

1.7000 1.7029 1.7160 1.7301 1.7453 1.7613 1.7782 1.7957

1.1505 1.1600 1.2000 1.2400 1.2800 1.3200 1.3600 1.4000

Columns 65 through 72

1.8000 1.8154 1.8361 1.8574 1.8792 1.9000 1.9016 1.9263

1.4095 1.4400 1.4800 1.5200 1.5600 1.5975 1.6000 1.6400

Columns 73 through 80

1.9514 1.9769 2.0000 2.0030 2.0313 2.0599 2.0887 2.1000

1.6800 1.7200 1.7557 1.7600 1.8000 1.8400 1.8800 1.8957

Columns 81 through 88

2.1191 2.1505 2.1822 1.0000 0.7866 0.7907 0.7950 0.7994

1.9200 1.9600 2.0000 29.0000 2.0000 1.9600 1.9200 1.8800

Columns 89 through 96

45

0.8000 0.8048 0.8104 0.8163 0.8224 0.8287 0.8353 0.8420

1.8747 1.8400 1.8000 1.7600 1.7200 1.6800 1.6400 1.6000

Columns 97 through 104

0.8491 0.8564 0.8639 0.8718 0.8799 0.8883 0.8971 0.9000

1.5600 1.5200 1.4800 1.4400 1.4000 1.3600 1.3200 1.3077

Columns 105 through 112

0.9076 0.9192 0.9313 0.9439 0.9570 0.9708 0.9851 1.0000

1.2800 1.2400 1.2000 1.1600 1.1200 1.0800 1.0400 1.0000

Columns 113 through 118

1.0000 1.8000 0.5600 0.5379 0.5156 0.5000

1.0000 4.0000 1.0000 1.0400 1.0800 1.1082

h =

159.0031

Examplul 49 Cecetatorii au aratat ca fumatul are un efect negativ asupra functiilorplamanilor. Facandu-se un studiu asupra capacitatilor plamanului de difuzie a monoxi-dului de carbon (DL=140) ın 20 de judete din Romania s-a observat ca fumatorii au DLmai mic decat fostii fumatori sau nefumatori. Mentionam ca acest coeficient (DL) a foststabilit de Knudson, Kalterborn si Burrows ın 1989 si a fost publicat ın American Reviewof Respiratory Diseases pp. 641-651.Sa se scrie un program MATLAB care sa calculezeparametrii statistici prezentati anterior si apoi sa se verifice rezultatele obtinute cu celedin Excel (Formulas+More functions+Statiscal)

Solutie: Cream ın Excel tabelul urmatorJud DLAlba 103.75Arad 88.602Arges 73.003Bihor 123.086Bistrita 91.052Brasov 92.295

Caras− Severin 61.675Cluj 90.677

Cons tan ta 84.023Dambovita 76.014

Dolj 100.615Galati 88.017Iasi 71.210Ilfov 82.115Mures 89.222Olt 102.754

Suceava 108.579Timis 73.154Tulcea 106.755V aslui 90.479

46

Datele vor fi memorate ıntr-un vector Plamani.mat (importat din fisierul Plamani.xls).Initial vom calcula valoarea maxima si valoarea minima a datelor din vectorul Plamani,vom reprezenta grafic, apoi vom calcula mediile aritmetica,geometrica, armonica,mediana,momentul centrat de ordin 2, deviatia standard. Codul Matlab este:

load(’Plamani.mat’);

% valoarea maxima, valoarea minima

r=max(Plamani);

q=min(Plamani);

fprintf(’valoarea maxima= %f\n’,r);

fprintf(’valoarea minima= %f\n’,q);

%reprezentari grafice

plot(Plamani(1:20,1),’DisplayName’,’Plamani(1:20,1)’,

’YDataSource’,’Plamani(1:20,1)’);

grid on

figure(gcf)

%media aritmetica

ma=mean(Plamani,1);

fprintf(’ma= %f\n’,ma);

%media geometrica

mg=geomean(Plamani,1);

fprintf(’mg= %f\n’,mg);

%mrdia armonica

mh=harmmean(Plamani,1);

fprintf(’mh= %f\n’,mh);

%mdiana

m=median(Plamani,1);

fprintf(’mediana= %f\n’,m);

%calculul momentului centrat de ordin 2

mu=moment(Plamani,2);

fprintf(’moment centrat de ordin 2= %f\n’,m);

%functia std

s=moment(Plamani,2);

fprintf(’Standard deviation= %f\n’,s);

In urma executiei programului se obtin rezultatele:

valoarea maxima= 123.086000

valoarea minima= 61.675000

ma= 89.853850

mg= 88.672001

mh= 87.479619

mediana= 89.850500

moment centrat de ordin 2= 89.850500

Standard deviation= 210.984279

47

4.1.3 Corelatie si Regresie

In MATLAB corelatia se poate calcula cu ajutorul functiei cov.Apelul de formacov(X)returneaza matricea de covarianta care este o matrice cu elementele

aij = cov(Xi, Xj)

Se presupune ca valorile caracteristicii Xi apar ın coloana i a matricei X. Daca Xeste un vector ce returneaza dispersia lui X, matricea coeficientilor de corelatie se obtinecu corrcoef(X),unde X este o matrice ın care liniile reprezinta observatii, iar coloanelevariabile(caracteristici). Apelul cov(x,y)si corrcoeff(x,y)unde x,y sunt vectori deaceeasi dimensiune este echivalent cu cov([x(:) y(:)]).

Regresia polinomiala se realizeaza cu functia polyfit.

Sintaxa apelului este:p=polyfit(x,y,n)

determina aproximarea ın sensul celor mai mici patrate a multimii de puncte(xi, yi).Vectorulp contine coeficientii aproximantei ordonati descrescator dupa puterile variabilei.

Forma[p,S]=polyfit(x,y,n)

returneaza pe langa polinomul p o matrice S care poate fi utlizata de functiile polyvalsi polyconf pentru a produce estimatii ale erorilor predictiilor. Daca erorile ce cores-pund vectorului de date y sunt normale si cu dispersie constanta polyval va produce limiteale erorii ce contin cel putin 50% dintre predictii.

Evaluarea polinoamelor (si realizarea predictiilor) se realizeaza cu functia polyval,

care are forma:Y=polyval(p,X)

Forma[Y,Delta]=polyval(p,X,S)

utililizeaza parametrul optional S returnat de polyfit pentru a genera estimatii aleerorii de forma Y+/-Delta.

Functia polyconf se pate utiliza la evaluari de polinoame si estimarea unor intervalede ıncredere. Apelul

[Y,Delta]=polyconf(p,X,S,alpha)

evalueaza polinomul dat de p si da intervale de ıncredere de 1-alpha pentru Y de formaY+/-Delta. Implicit alpha=0.05.

Examplul 50 Statisticile din Romania arata ca ın perioada 2011-2014 natalitatea aaviut o rata de incidenta (exprimata la 1000 locuitori) data de tabelul urmator:

V arstaSub20ani

20− 24ani

25− 29ani

30− 34ani

35-39ani

Peste 40 ani

2011 12, 8 9, 6 7, 4 8, 4 11, 9 192012 11, 9 9, 4 6, 6 8 11, 4 21, 52013 12, 4 10, 1 7, 8 8, 3 12, 5 252014 12, 3 10, 2 8, 1 8, 5 12, 4 27, 3

Fie Y rata de incidenta si

x anul codificat astfel: −3 pentru anul 2011,−1 pentru anul 2012, 1 pentru anul 2013, 3 pentru anul 2014

48

1. Determinati dreapta de regresie.

2. Pentru aceleasi date determinati un estimator de forma parabolica:

Y = a0 + a1x+ a2x2

si unul de forma unui polinom de grad III:

Y = a0 + a1x+ a2x2 + a3x

3

3. Determinati rata de incidenta pentru anul 2015.

Solutie:

Secventa MATLAB care rezolva problema este:

x=2011:2014;

y=Numarcasatorii;%

xc=-3:2:3;

corrcoef(xc,y)%matricea coeficientilor de colrelatie

%extimatorul parabolic

a1=polyfit(xc,y’,2);

%estimatorul de grad tri

a2=polyfit(xc,y’,3);

%graficele

xg=-10:0.2:10;

yg1=polyval(a1,xg);

yg2=polyval(a2,xg);

subplot(1,2,1)

plot(xc,y’,’o’,xg,yg1)

title(’Extimatorul parabolic’)

subplot(1,2,2)

plot(xc,y’,’*’,xg,yg2)

title(’Estimatorul de grad III’)

%%predictie

polyval(a1,5)

polyval(a2,5)

4.1.4 Functia Matlab icdf

Pentru calculul cuantilelor este necesara inversarea functiei de repartitie. SistemulMatlab prin Statistics toolbox dispune de functii pentru pentru inversarea functiei derepartitie ale legilor de probabilitate implementate. Apelarea se face astfel:

x=icdf(’legea’,P,p$_1,$p$_2,...)$

x=numef(P,p$_1,$p$_2,...)$

49

Unde legea este un sir de caractere predefinit pentru fiecare din legile de probabilitatedisponibile ın Statistics toolbox, numef este un sir de caractere din care sunt inv, iarcele care le precede sunt cele care dau numele predefinit al legii de probabilitate. Inurma executarii uneia din cele doua instructiuni, se calculeaza matricea x a cuantilelorlegii precizata prin parametrii legea, respectiv numef, corespunzatoare valorilor date prinmatricea P si avand parametrii dati prin matricele p1,p2, ..

Examplul 51 [4, pag 127-128] Sa se scrie un program care calculeaza mediana pentrulegea uniforma discreta si reprezinta acest lucru prin doua valori distincte ale parametruluiN: N=5, N=6 ,respectiv µ = 0, σ = 2.De asemenea calculeaza quantilele legii normale.

Solutie: Codul Matlab este:

%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);

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-’)

50

4.1.5 Grafice statistice

Toobox-ul Statistics pune la dispozitia utilizatorului functiile grafice din tabelul urmator:Functia Semnificatiaboxplot grafic de tip casetaerrorbar bare de eroarefsurfht grafic interactiv de tip conturgline desenare interactiva liniegname etichetare interactiva de puncteisline adaugare unei drepte de regresie

normplot diagrama de verificare a normalitatiipareto diagrame Paretoqqplot grafic cuantila-cuantilarcoplot grafic de regresie ordonata dupa cazurirefcurve polinom de referintarefline linie de referintasurfht desenare interactiva de contur interpolatorweibplot diagrama de verificare Weibull

4.1.6 Grafice de tip caseta

Grafice de tip caseta (box plots) sunt descrieri ale datelor de selectie. Ele suntutile pentru compararea mediilor mai multor selectii (ANOVA). Sunt admise urmatoareleforme:

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) pentrufiecare coloana a lui X. Caseta are linii ce indica cuantila inferioara, mediana, cuantilasuperioara. Mustatile sunt segmente ce arata intervalul ce contine restul datelor. Valorileilegale (outliers in english) arata valorile situate dincolo de capetele mustatilor. Celelateforme produc grafice cu crestaturi ın cazul cand notch=1, iar cand notch=0 graficedreptunghiulare. 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, ul-tima forma foloseste parametrul whis pentru a defini lungimea mustatilor ca functiede intervalul intercuartilic (implicit =1,*lungimea intervalului cuartilic). Daca whis=0,atunci boxplot deseneaza toate valorile dinafara casetei utilizand simbolul ’sym’.

Examplul 52 Sa se compare doua siruri de numere aleatoare normale.

51

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.

4.1.7 Diagrame de verificare a normalitatii

Sunt grafice folosite pentru a determina, daca o selectie are o distributie normala saunu.

Examplul 53 Sa se verifice normalitatea a 25 de numere aleatoare.

Tastam in linia de comanda:

>>x=normrnd(10,1,25,1);

>> normplot(x)

Graficul are trei elemente:

1. Semnele plus arata probabilitatea empirica a fiecarui punct din selectie.

2. Linia continua uneste cuantilele selectiei si reprezinta o estimatie robusta, insensibilala valorile extreme ale selectiei.

3. Linia punctata prelungeste linia continua pana la abscise egale cu valorile extremeal selectiei.

Scara pe axa ordonatelor nu este uniforma, valorile merg de la 0 la 1. Distanta dintrediviziuni este pe ordonata, nu este aceasi, ele sunt mai rare ıntre mediana si cuantilesi devin tot mai dese pe masura ce ne ındepartam de mediana. Daca toate datele suntapropiate de dreapta, ipoteza de normalitate este considerata rezonabila. Daca datele nusunt normale semnele plus pot descrie o curba destul de diferita de dreapta descrisa maisus, acest fapt se poate vedea ın exemplul urmator care utilizeaza o secventa aleatoareexponentiala.

>> x=exprnd(10,100,1);

>> normplot(x)

52

4.1.8 Grafice cuantila-cuantila

Compara doua selectii pentru a determina, daca ele au aceasi distributie.

Examplul 54 Sa se compare doua selectii cu distributia Poisson.

>> 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 celedoua selectii provin din populatii cu aceasi distributie. Graficele au trei elemente:

1. Plusurile sunt cuantilele fiecarei selectii, implicit numarul de plusuri este volumulcelei mai mici selectii,

2. Linia continua uneste cuantilele selectiei,

3. Linia punctata prelungeste linia continua pana la abscise egale cu valorile extremeale selectiei.

Examplul 55 Sa se genereze un grafic cuantila-cuantila pentru selectii cu distributii di-ferite.

>> x=normrnd(5,1,100,1);

>> y=weibrnd(2,0.5,100,1);

>> qqplot(x,y)

>> grid on

Evident selectiile nu provin din populatii cu aceasi distributie. Este incorect sa inter-pretam un grafic liniar ca fiind o garantie ca selectiile provin din aceasi distributie, dar unastfel de grafic ar putea fi suficient pentru a ne pronunta asupra validitati unei proceduricare se bazeaza pe ipoteza ca selectiile provin din aceasi distributie.

4.1.9 Diagrame de verificare a distributiei Weibull

Este util pentru a verifica, daca o selectie provine dintr-o populatie ce urmeaza legeaWeibull. Multe analize din domeniul fiabilitati se bazeaza pe ipoteza ca durata deviata a unei componente are distributia Weibull asa ca un astfel de grafic ne poate daanumite asigurari de validitate a acestei ipoteze sau ne poate avertiza din timp asuprainvaliditatii ei. Scara ordonatelor nu este uniforma, ordonatele fiind probabilitati ce vorfi situate in intervalul 0,1], distanta dintre diviziunile de pe axa y este conforma cudistanta dintre cuantilele unei distributii Weibull.Daca datele sunt marcate cu +sunt ın apropierea liniei, atunci ipoteza ca datele provin dintr-o populatie cu distributiaWeibull este rezonabila. Dam un exemplu pentru un astfel de grafic:

>> y=weibrnd(2,0.5,100,1)

>> weibplot(y)

53

4.2 Verificarea ipotezelor statistice

Toobox-ul Statistics pune la dispozitia utilizatorului functiile din tabelul urmator:Functia Semnificatiaranksum testul Wilcoxon−Mann−Whitneysignrank testul Wilcoxon pentru observatii perechisigntest testul semnelor pentru observatii perechittest testul T pentru o selectiettest2 testul T pentru doua selectiiztest testulZ

4.2.1 Testul Z

Se considera caracteristica X care urmeaza legea normala N(m,σ2) m ∈ R, σ > 0,dat

f(x|m,σ) =1

σ√2π

exp(−(x−m)2

2σ2) (2)

relativ la media teoreticam = E(x)

avem :

1. H0 : m = m0 , relativ la una din alternative:

2. H1 : m = m0,testul Z bilateral

P = 2P (|Z| > z∗)

3. H1 : m > m0, testul Z unilateral dreapta

P = P (Z > z∗)

4. H1 : m < m0, testul Z unilateral stanga

P = P (Z < z∗)

Pentru verificarea ipotezei H0 ın raport cu una din alternativele de mai sus, se considerao selectie repetata de volum n si un nivel de semnificatie:

α ∈ (0, 1)

Fie statistica

Z =x−m

σ/√n

pentru α ∈ (0, 1) putem determina un interval de incredere (z1, z2) astfel ca

P (z1 < Z < z2) = Φ(z2)− Φ(z1) = 1− α

54

unde

Φ(x) =1√2π

x∫−∞

exp(−t2

2)dt

Intervalul (z1, z2) nu este determinat ın mod unic, dar avind ın vedere alternativa H1

considerata adaugam una din conditiile suplimentare:

(i) z1 = −z2 daca H1 : m = m0 ⇔

Φ(z1−α/2) = 1− α/2

(ii) z1 = −∞, z2 = z1−α daca H1 : m > m0 unde

Φ(z1−α) = 1− α

(iii) z1 = α, z2 = +∞ daca H1 : m < m0,unde

Φ(zα) = α

4.2.2 Intervale de ıncredere

Fie zα cuantila de ordin α a repartitiei normale reduse

f(x|0, 1) = 1√2π

exp(−x2/2)

Deoarece:

P (zα/2 < Z < z1−α/2) = F (z1−α/2, 0, 1)− F (zα/2, 0, 1) = Φ(z1−α/2)− Φ(zα/2) = 1− α

unde

Z =x−m

σ/√n

Se obtine pentru m un interval de ıncredere de forma:

x+ zα/2σ√n< m < x+ z1−α/2

σ√n

deoarece:zα/2 = −z1−α/2

intervalul are forma:x± z1−α/2

σ√n

Examplul 56 S-a afirmat ca greutatea medie a studentelor de la Departamentul de Cal-culatoare an I-IV este de 54, 4kg.Profesorul care preda teoria probabilitatilor si statisticamatematica nu crede asta. Se poate respinge ipoteza H0 : m = 54.4kg?. El a considerato selectie aleatoare de 100 de studente obtinind o medie de selectie de 53.75kg. Se poaterespinge ipoteza H0 pentru α = 0.05 si σ = 5.4kg.

55

Calculam statistica

Z =x−m

σ/√n

=53.75− 54.4

5.4

√100 =

−0.65

0.54= −1, 2037

Din tabele obtinemΦ(Z) = Φ(−1, 2037) = 0.1151

P = 2P (|Z| > z∗) = 2 ∗ 0.1151 = 0.2302 > 0.05

⇒ ipoteza H0 se accepta.

Examplul 57 La un exitpol din 1000 persoane ıntrebate, 350 s-au pronuntat an favoareadreptei(PNL+USR+PMP). Determinati intervalul de ıncredere de 90% pentru probabili-tate.

α = 0.9, α/2 = 0.45. Din tabele

zα/2 = 1.65

Fie statistica

|Z| =∣∣∣∣P − p

σ∗√n

∣∣∣∣ =∣∣∣∣∣ P − p√

p(1− p)∗√n

∣∣∣∣∣ < 1.65

p=0.35,1-p=q=0.65⇒ √p(1− p)

1000= 0.015

⇒ ∣∣∣∣ P − p

0.0015

∣∣∣∣ < 1.65

⇒ ∣∣∣∣P − 0.35

0.0015

∣∣∣∣ < 1.65

|P − 0.35| < 1.65 ∗ 0.0015

|P − 0.35| < 0.0248

⇒P ∈ (0.3252, 0.3747)

Examplul 58 Caracteristica X reprezinta cheltuielile lunare ın sute lei la gaz metan aleunei familii. Sa se verifice cu nivelul de semnificatie α = 0.001, daca media este 16 iarabaterea standard σ = 3 si avind o selectie repetata de vlum n=40. Se obtine variabilaaleatoare

X :

(11 13 15 17 204 6 12 10 8

)

56

textbfSolutie: Folosim testul Z pentru verificarea ipotezei nule:

H0 :m = E(X) = 16

H1 :m = 16

α = 0.001 ⇒ α/2 = 0.005; 1− α/2 = 0.995.

Φ(z0.995) =1− α

2=

0.99

2= 0.495

z0.995 = Φ−1(0.495) = 2.68

⇒Intervalul de ıncredere

(−2.68, 2.68)

Fie statistica

Z =x−m

σ/√n

x =1

n

5∑k=1

nk ∗ xk =1

40(4 ∗ 11 + 6 ∗ 13 + 12 ∗ 15 + 10 ∗ 17 + 8 ∗ 20) = 15.8

⇒Z =

15.8− 16

3∗√40 = −0.422

Deoarece z=-0.422∈ (−2.58, 2.58), se accepta ipoteza nula. Vom da o solutie folsindurmatorul script Matlab TestZB.m care contine:

x=[11 13 15 17 20];

f=[4 6 12 10 8];

z=(sum(x.*f)/40-16)/(3/sqrt(40));

z1=norminv(0.005,0,1);

z2=norminv(0.995,0,1);

fprintf(’(z1,z2)=(%6.3f,%6.3f)\n’,z1,z2)

z

fprintf(’z1<z<z2 se accepta ipoteza nula\n’)

Se obtin rezultatele:

(z1,z2)=(-2.576, 2.576)

z = -0.4216

z1<z<z2 se accepta ipoteza nula

Examplul 59 Biroul de internari a unui spital afirma ca varsta medie a pacientilor saieste de 42 ani. O selectie aleatoare de 120 de varste obtinute din ınregistrarile bolnavilorda o medie de selectie de 44,2 ani . Este selectia semnificativa pentru a afirma ca mediaeste mai mare de 42 ani, pentru α = 5% si σ = 20?

57

textbfSolutie: Avem

H0 : m = 42

H1 : m > 42

α=0.05

Calculam statistica

Z =x−m

σ/√n

=44.2− 42

20/√120

= 1.205

Din tabele

Φ(1.205) = 0.8849

⇒P = 1− 0.8849 = 0.1151 > 0.05

Deci se accepta ipoteza H1.

4.2.3 Functia ztest

Functia ztest din Matlab realizeaza testul Z asupra mediei unei selectii si poate ape-lata ın unul din urmatoarele moduri: 1. h=ztest(x,m,sigma) 2. h=ztest(x,m,sigma,alpha)3. [h,sig,ci]=ztest(x,m,sigma,alpha,tail) Semnificatia parametrilor este urmatoarea:

• x-selectia

• m-media

• sigma-abaterea medie patratica

• alpha- nivel de semnificatie (implicit 0.05)

• tail-tipul de alternativa; tail = 0 bilaterala implicita, tail =1 unilateral dreapta, tail=-1, unilateral a stanga.

• h=0, pentru acceptare, h=1 pentru respingere

• sig-valoarea P pentru abordare bazata pe probabilitati

• ci- interval de ıncredere, 1-alpha pentru medie

Examplul 60 Se considera pretul unei masini SMART sport ıntr-o luna la 8 magazinede distributie din Uniunea Europeana. Datele sunt memorate ın variabila smauto ın miilei: [30922 31159 30988 31029 31129 31124 31168 31142] Presupunand ca abaterea mediepatratica este 311 sa se verifice ipoteza m=31100 pentru α= 5%:

Solutie:Secventa MATLAB care urmeaza afiseaza valorile de selectie si verifica ipoteza ın

abordarea bazata pe probabilitati.

58

%testul Z

smauto=[30922 31159 30988 31029 31129 31124 31168 31142];

reshape(smauto,2,4);% afisare sub forma unei matrici 4 coloane si doua linii

[h,vp,iim]=ztest(smauto,31100,311);

In urma executiei se obtin rezultatele:

h=0, vp=0.874

iim =

1.0e+004 *

3.0867 3.1298

Exista si o abordare clasica :

>> vz=(mean(smauto)-31100)/(311/sqrt(16));

Se obtine: vz =-0.2235

>> norminv([0.025,1-0.025],0,1)

Se obtine:

ans =-1.9600 1.9600

Deoarece valoarea statisticii Z, vz este ın interiorul regiunii critice ipoteza nula seaccepta.

4.2.4 Functia ttest

Functia ttest realizeaza testul T asupra mediei unei selectii si poate apelata ın unul dinurmatoarele moduri: 1. h=ttest(x,m) 2. h=ttest(x,m,alpha) 3. [h,sig,ci]=ttest(x,m,alpha,tail)Semnificatia parametrilor este cea de la functia ztest.

Examplul 61 Se pare ca baietii anormali se nasc mai frecvent din parinti cu mame pestemedie. Pentru 20 baieti nascuti anormali se dau varstele mamelor [5]:

31 21 28 28 34 45 21 41 27 3143 21 39 38 32 28 37 28 16 39Ne permite selectia sa afirmam ca baietii anormali tind sa apara mai frecvent la ma-

mele cu varsta peste medie la nivelul de semnificatie α =5%

SolutieIpoteza nula este H0 : m = 28; iar ipoteza alternativa este H1 : m > 28: Vom folosi

testul t.Scriem urmatorul cod MATLAB:

>>anormali=[31 29 34 21 27 43 39 32 37 16 21 28 45 41 31 21 38 28 28 39];

>>reshape(anormali,2,10);

>>[h,p,ii]=ttest(anormali,28, 0.05,1);

care va produce urmatoarele rezultate.

59

ans =

31 34 27 39 37 21 45 31 38 28

29 21 43 32 16 28 41 21 28 39

h = 1

p =

0.0352

deoarece p < α; ipoteza nula se respinge si se accepta ipoteza altenativa.

4.2.5 Functia ztest2

Functia ztest2 realizeaza testul Z pentru doua populatii. Iata codul Matlab pentruaceasta functie:

%testul z pentru doua populatii

% nargin=Number of function input arguments

function[h,p,ci,stats]=ztest2(x1,x2,sigma1,sigma2,difm,alpha,tail)

%apel [h,p,ci,stats]=ztest2(x1,x2,sigma1,sigma2,difm,alpha,tail)

% x1,x2-selectiile

%sigma1,sigma2-abaterile medii patratice

%difm- diferenta mediilor (implicit 0)

%alfa-nivel de semnificatie(implicit 0)

%tail-tip de alternativa 0-bilaterala (implicit),1-unilat dr,-1 unilat st

%h=0 acceptare, h=1 respingere

%sig- nivel P de probabilitate

%ci-interval de incredere pentru diferenta mediilor

%stats valoarea statisticii Z

if nargin<7

tail=0;

end

if nargin<6

alpha=0.05;

end

if nargin<5

difm=0;

end

xbar=mean(x1)-mean(x2);

ers=sqrt(sigma1^2/length(x1)+sigma2^2/length(x2));

Z=(xbar-difm)/ers;

vp=normcdf(Z,0,1);

if nargout>3

stats=Z;

end

switch tail

case -1

p=pv;

60

if nargout>2

ci=[-Inf,norminv(1-alpha,0,1)*ers+xbar];

end

case 0

p=2*min(vp,1-vp);

if nargout>2

ci=norminv([alpha/2,1-alpha/2],0,1)*ers+xbar;

end

case 1

p=1-vp;

if nargout>2

ci=[norminv(alpha,0,1)*ers+xbar,Inf];

end

end

h=p<=alpha;

4.2.6 Functia ttest2

Functia MATLAB ttest2 realizeaza testul t asupra diferentei mediilor a doua selectiisi poate fi apelata ın unul din urmatoarele moduri:

1. [h,sig,ci]=ttest2(x,y)2. [h,sig,ci]=ttest2(x,y,alpha)3. [h,sig,ci]=ttest2(x,y,alpha,tail)Semnificatia parametrilor este:

• x,y-selectiile

• alpha-nivel de semnificatie (implicit 0.05)

• tail-tipul de alternativa: tail=0 bilaterala(implicit), tail=1, unilaterala dreapta,tail=-1, unilaterala stanga

• h=0 pentru acceptare, 1 pentru respingere

• sig-valoarea P asociata statisticii T pentru abordarea bazata pe probabilitati

• ci-interval de incredere 1-α pentru medie.

Examplul 62 [1, pag 328] Se cerceteaza doua loturi de ulei pentru automobile, din punctde vedere al vascozitatii obtinandu-se datele de selectie:

x′k 10.27 10.28 10.29 10.30 10.32

f ′k 3 2 1 1 1

pentru primul lot, respectiv

x”k 10.26 10.27 10.29 10.30 10.31

f”k 3 2 1 1 1

61

pentru al doilea lot. Analizele facandu-se cu acelasi aparat, se considera ca abaterilestandard sunt aceleasi. Considerand nivelul de semnificatie α = 0.05

sa se verifice daca mediile de vascozitate pentru cele doua loturi difera semnificativ.

Solutie:

Scriem urmatorul cod Matlab:

x=[10.27*ones(1,3),10.28*ones(1,2),10.29,10.3,10.32];

y=[10.26*ones(1,2),10.27,10.29,10.3,10.31*ones(1,3)];

fprintf(’h c ci \n’)

fprintf(’_______________________\n’)

for i=-1:1

[h,c,ci]=ttest2(x,y,0.05,i);

fprintf(’ %d %5.4f (%4.2f,%4.2f) \n’,h,c,ci)

end

Se obtin rezultatele:

h c ci

_______________________

0 0.3577 (-Inf,0.01)

0 0.7154 (-0.03,0.02)

0 0.6423 (-0.02, Inf)

4.2.7 Testul κ2 asupra dispersiei

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;

end

62

if nargin < 3

alpha=0.05;

end

%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);

end

switch alt

case -1

sig=vp;

if nargout > 2

ii=[x2./chi2inv(1-alpha,df),Inf];

end

case 0

sig=2*min(vp,1-vp);

if nargout > 2

ii=x2./chi2inv([1-alpha/2,alpha/2],df);

end

case 1

sig=1-vp;

if nargout > 2

ii=[0,x2./chi2inv(alpha,df)];

end

end

%decizia

h=sig<=alpha;

Examplul 63 La o determinare a poluarii aerului se masoara nivelul de monoxid decarbon din atmosfera timp de 12 zile si se obtin urmatoarele valori [5]:

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 ıncredere de 95% si 98% pentru medie si dispersie.

Solutie:Primul punct se rezolva utilizand ttest, iar al doilea chi2disp.

63

>> 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

Obtinem uraspunsul la primele doua cerinte, dar si intervalele de incredere de 95%pentru medie si dispersie. Ipoteza nula se respinge ın primul caz deoarece m < 4.9 si seaccepta ın al doilea deoarece σ2 ≤ 0.25, deoarece alternativa este σ2 > 0.25. Intervalelede ıncredere 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

4.2.8 Testul χ2 asupra proportiilor

Scriem urmatoarea functie MATLAB chi2prop care implementeaza testul χ2 asupraproportiilor.

% 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;

end

efr=sum(obfr)*prop;

comp=((obfr-efr).^2)./efr;

x2=sum(comp);

64

df=length(prop)-1;

sig1=1-chi2cdf(x2,df);

dec=sig1<=alpha;

if nargout > 2

stats=struct(’tstat’,x2,’df’,df,’comp’,comp);

end

Examplul 64 Teoria mendeliana a ereditatii afirma ca daca se ıncruciseaza doua va-rietati de mazare, atunci frecventele pentru rotund si galben, zbarcit si galben, rotund siverde, zbarcit si verde apar ın raportul 9 : 3 : 3 : 1. Cand a testat aceasta teorie Mendela obtinut frecventele 315,101,108 si respectiv 32. Ne permit aceste date de selectie sarespingem teoria la nivele de semnificatie α = 5%?

Solutie: Ipoteza nula: Raportul de mostenire este 9:3:3:1, sau ın formulare matema-tica:

H0 : p1 =9

16, p2 =

3

16, p3 =

3

16, p4 =

1

16.

Ipoteza altenativa: Raportul de mostenire nu este 9:3:3:1 sau ın formulare matematica:

H1 : p1 =9

16∨ p2 =

3

16∨ p3 =

3

16∨ p4 =

1

16

Avem urmatoarea sesiune MATLAB:

>> mendel=[315 101 108 32];

>> pm1=[9 3 3 1]/16;

Se obtin rezultatele:

dec = 0

sig1 = 0.9254

stat =

0.4700

Ipoteza nula se accepta deoarece 0.4700 < 0.49.

Examplul 65 Cercetatorii din Germania au tras concluzia ca riscul de infarct este cupana la 50% mai mare la persoanele active ın ziua de luni decat ın alta zi a saptamanii.Ei au tinut evidenta atacurilor de cord si accidentelor coronariene pe o perioada de 5ani pentru 330000 de persoane ce locuiesc ın zona Augsburg (Riverside Press-Enterprise,November 17, 1992). Pentru a verifica, afirmatia cecetatorilor consideram o selectie de200 persoane ın activitate, ce apare ın tabelul urmator:

LuniMartiMiercuri Joi V ineri SambataDuminica36 27 26 32 26 29 24

Ne permit aceste date sa afirmam ca exista diferente ıntre procentajele de atacuri decord ce apar ın diferite zile ale saptamanii, pentru α = 0.05.

65

Solutie: Ipoteza nula este:

H0 : pi =1

7, i = 1, 7

Vom verifica ıntai aceasta ipoteza:

>> infarcto=[36 27 26 32 36 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. Daca presupunem ca lunea apar 25% dintre infarcte si ınrestul saptamanii avem procentaje egale obtinem:

>>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.

4.2.9 Testul χ2 pentru independenta si omogenitate

Se realizeaza cu ajutorul functiei MATLAB:

function [h,sigl,x2,stats]=chi2io(ct,alpha)

%Acest test se face asupra unei tabele de contingenta

%apel:[h,sig1,x,comp]=chi2io(ct,alpha)

%ct-tabela de contingenta

%x-valoarea statisticii

%comp-componentele statisticii

66

%sig1-nivelul de semnificatie

%alpha-probabilitatea de independenta (implicit 5%)

%h=0(accept),h=1 reject

%stas -afisare rezultate

if nargin==1

apha=0.05;

end

[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);

end

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;

if nargout > 2

stats=struct(’tstat’,x2,’ef’,ef);

end

Examplul 66 S-a experimentat efectul unui nou vaccin antigripal asupra unei comu-nitati. Unii oameni au fost injectati de doua ori, altii o singura data, iar altii deloc.Pentruo selectie de 1000 de locuitori s-au obtinut urmatoarele rezultate [6]:

Stare 0 1 2 Totalcu gripa 24 9 13 46

fara gripa 289 100 565 954Total 313 109 578 1000

Exista o dependenta ıntre categoria de vaccinare (de doua ori,odata,deloc) si vaccinaresau nevaccinare ?

Solutie: Scriem ın 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:

67

h =

1

sigl =

1.7399e-004

x =

17.3130

ef=

14.398 5.0140 26.588

298.602 103.986 551.4120

Ipoteza nula (independenta) se respinge.Tragem concluzia ca cele doua caracteristici sunt independente.

4.2.10 Testul Kolmogorov

Se considera caracteristica X de tip continuu cu functia teoretica de repartitie F necu-noscuta. Relativ la functia F se face ipoteza nula H0 : F = F0 cu una din din alternativele:

H1 :F = F0 (testul lui Kolmogorov bilateral)

H1 :F > F0 (testul lui Kolmogorov unilateral dreapta)

H1 :F < F0 (testul lui Kolmogorov unilateral stanga)

Statistics toolbox contine functia kstest care efectueaza testul Kolmogorov.Apelul se poate face astfel:

h=kstest(x)

h=kstest(x,cdf)

h=kstest(x,cdf,alpha)

h=kstest(x,cdf,alpha,tail)

[h,c,ks]=kstest(x,cdf,alpha,tail)

Comenzile de acest tip lanseaza executia testului lui Kolmogorov bilateral (candtail=0, valoare implicita), unilateral dreapta (cand tail=1), umilateral stanga (cand tail=-1), prin considerarea datelor continute ın vectorul x, iar functia de repartitie ipotezatafiind precizata prin parametrul cdf. Implicit se considera cdf corespunzand legii normalestandard.

Parametrul alpha (implicit alpha=0.05) reprezinta nivelul de semnificatie.

Examplul 67 Se considera un set de 200 de componente electronice de acelasi tip si setesteaza durata lor de viata. Se presupune ca durata de viata urmeaza legea exponentiala deparametru α=700. Sa se verifice ipoteza nula H0 :F=Fexp,700 ın raport cu alternativa,H1 :F = Fexp,700, unde Fexp,α este functia de repartitie exponentiala de parametruα.

Solutie:Scriem urmatorul cod Matlab:

68

%

% # cu testul Kolmogorov

% # cu testul chi^2

%

%% incarcare date si definire functie de repartitie

% datele sunt in vectorul X

close all

load dateexpo

F=@(x) expcdf(x,700);

format compact

format short g

reshape(X,40,5)

%alpha=0.05;

%% Verificare cu testul Kolmogorov

% se face intai o comparatie grafica intre functia empirica de repartitie

% si functia de repartitie teoretica

figure(1)

[f,x_values] = ecdf(X);

F1 = plot(x_values,f);

set(F1,’LineWidth’,2);

hold on;

G = plot(x_values,expcdf(x_values,700),’r-’);

grid on

set(G,’LineWidth’,2);

legend([F1 G],...

’Empirical CDF’,’Exponential CDF’,...

’Location’,’SE’);

tcdf=[X(:),expcdf(X(:),700)];

[h,p,ksstat,cv] = kstest(X,tcdf)

%% Verificare cu testul $\chi^2$

% se face intai o comparatie grafica comparatie intre histograma si

% densitatea de probabilitate

figure(2)

[nc,xc]=hist(X,14);

h=(max(X)-min(X))/14;

h1=bar(xc,nc/length(X)/h);

set(h1,’Facecolor’,[0.6,0.6,0.6]);

hold on

xg=linspace(min(X),max(X),100);

yg=exppdf(xg,700);

h2=plot(xg,yg,’r-’);

grid on

set(h2,’LineWidth’,2);

legend([h1 h2],...

69

’histogram’,’Exponential PDF’,...

’Location’,’best’);

[h,p,stats]=chi2gof(X,’cdf’,F,’nbins’,14)

Se obtin rezultatele

ans =

143.43 576.69 731.56 1566.7 173.7

69.262 674.44 129.73 27.193 659.59

1444.6 187.04 374.98 3762 994.07

63.425 160.41 418.84 178.51 634.59

320.81 1174.1 60.506 141.22 1637.1

1629.2 499.68 876.63 98.534 1417.6

894.84 565.86 194.69 1730.2 41.787

422.47 305.53 197.91 641.78 31.4

30.396 240.37 676.49 943.3 387.12

25.02 197.02 396.16 156.14 1972

1293.3 901.08 1805.3 588.48 1014.4

20.894 270.27 2043.8 65.52 728.59

30.644 296.08 443.36 1193.2 137.9

505.98 1271.5 174.67 932.79 2921.2

155.96 1490.1 47.787 1349.1 2202.2

1366.9 487.5 1428.7 1396.2 1244.5

604.32 28.762 394.93 98.053 302.5

61.619 754.37 529.42 381.67 218.65

163.05 374.98 3101.7 418.66 303.98

28.946 1047.9 761.12 1351.9 557.52

295.39 200.2 1273.3 111.27 422.3

2332.6 956.28 161.22 332.31 851.42

114.48 476.91 817.09 732.97 206.35

47.8 250.6 446.35 466.9 1166.4

271.27 80.864 1258.5 638.25 263.02

194.19 29.092 355.27 1804.2 1186.8

207.82 422.04 935 999.23 698.85

655.14 1383.2 297.17 1465.1 328.31

295.67 1331.3 260.54 1185.3 173.72

1235.5 949.69 203.1 999.12 1758.2

243.65 121.45 558.11 611.82 51.262

2413.1 958.52 1735.3 2101.9 177.78

898.81 143.81 1031.9 71.643 503.94

2152.8 988.78 63.455 39.757 581.31

1632.2 51.354 1317 498.11 563.98

135.97 734.91 133.97 500.41 828.12

254.86 1138.6 433.48 759.88 473.39

803.98 967.38 2.7109 73.71 470.28

35.742 339.11 1784.2 697.4 140.94

70

2357.9 523.63 570.44 1537.5 160.74

h =

0

p =

0.92233

ksstat =

0.038132

cv =

0.095159

h =

0

p =

0.87023

stats =

chi2stat: 3.1557

df: 7

edges: [2.7109 271.23 539.75 808.27 1076.8 1345.3 1613.8 1882.4 3762]

O: [67 39 27 21 14 12 9 11]

E: [64.246 43.251 29.471 20.082 13.684 9.3242 6.3535 13.589]

4.2.11 Testul Kolmogorov-Smirnov pentru doua populatii

Statistic toolbox contine functia kstest2 care efectueaza testul Kolmogorov-Smirnovpentru doua populatii.

Apelul se face:

h=kstest(x,y)

h=kstest(x,y,alpha)

h=kstest(x,y,alpha,tail)

[h,c,ks]=kstest(x,y,alpha,tail)

Comenzile de acest tip lanseaza executia testului lui Kolmogorov-Smirnov bilateral(cand tail=0, valoare implicita), unilateral dreapta (cand tail=1), umilateral stanga (candtail=-1) , prin considerarea datelor continute ın vectorii x,y. Parametrul alpha (implicitalpha=0.05) reprezinta nivelul de semnificatie.

Rezultatele au urmatoarea semnificatie. Daca h=1, ipoteza nula se respinge, ceea cecorespunde faptului ca valoarea critica c satisface relatia c ≤ alpha, iar daca h=0, ipotezanula nu poate fi respinsa.

Pentru a exemplifica scriem urmatorul cod Matlab:

x1 = [0.6 1.2 1.6 1.7 1.7 2.1 2.8 2.9 3.0 3.2];

x2 = [2.1 2.3 3.0 3.1 3.2 3.2 3.5 3.8 4.6 7.2];

X1 = cumsum(x1);

71

X2 = cumsum(x2);

%Verificare grafica

close all

figure(1)

[f,x\_values1] = ecdf(X1);

F1 = plot(x\_values1,f);

grid on;

set(F1,’LineWidth’,2);

hold on;

[f2, x\_values2] =ecdf(X2);

G = plot(x\_values2, f2,’r-’);

set(G,’LineWidth’,2);

legend([F1 G],...

’Empirical CDF 1’,’Empirical CDF 2’,...

’Location’,’Best’);

%Verificare cu test

[h,p,ks2stat] = kstest2(X1,X2)

Obtinem urmatoarele rezultate:

h =

0

p =

0.6751

ks2stat =

0.3000

Concluzia: Deoarece p returnat este mai mare ca 0.5 ,ipoteza nula se accepta,

deci selectiile provin din aceeasi populatie.

72

73

5 Probleme Propuse

1. Sa se genereze N(= 250, 500, ...) numere aleatoare ce urmeaza legea:

a) χ2 (n) – Chi-patrat cu n grade de libertate;

b) Gamma(a,b);

c) Beta(a,b);

d) T(n) – Student.

Sa se reprezinte grafic numerele generate, pentru fiecare caz, cu ajutorul unei histo-grame cu bare, folosind regula lui Rice:

-se ımparte intervalul [min, max] ın [2N1/3] subintervale de aceeasi lungime ([x] repre-zinta cel mai mic numar ıntreg mai mare decat x), unde max, respectiv min, reprezintacel mai mare numar generat, respectiv cel mai mic numar generat;

-pe fiecare subinterval se “sprijina” o bara a carei ınaltime este egala cu frecventarelativa a numerelor generate ce apartin subintervalului.

Pe aceeasi figura, sa se reprezinte grafic si functia de densitate a legii corespunzatoare.Ce se observa?

2. Un test are 30 de ıntrebari. Fiecare ıntrebare are patru variante de raspuns: A,B, C si D, dintre care doar una are raspunsul corect. Determinati probabilitatea de araspunde corect la n ıntrebari, unde n este dat, stiind ca pentru fiecare ıntrebare esteales un raspuns aleator. Realizati N(= 500, 1000,...) simulari ale alegerii raspunsurilor,apoi reprezentasi grafic, cu ajutorul unei histograme, frecventa absoluta a raspunsurilorcorecte.

3. Numarul de virusi detectati zilnic de un anumit program antivirus urmeaza legeaexponentiala de parametru λ= 0.01. Programul antivirus transmite un raport cu medianumarului de virusi care au fost detectati ın ultimele n zile, unde n∈1,2,... ,20. RealizatiN(= 100, 1000, ...) simulari ale acestui raport pentru n zile, unde n∈1,2,... ,20 estefixat, si afisati histograma frecventelor absolute. Ce forma ia histograma pe masura cevaloarea lui n creste de la 1 la 20?

4. Intr-o urna sunt 23 de bile numerotate cu cifra 1, 20 de bile numerotate cu cifra2, 5 bile numerotate cu cifra 3 si 2 bile numerotate cu cifra 4. Simulati de N(= 100;1000; ..) ori extragerea unei bile si afisati frecventa de aparitie a fiecarei cifre. Comparatirezultatele obtinute cu cele teoretice.

5. Un nou joc pe calculator este lansat. 60% din jucatorii acestui joc reusesc sa treacade toate nivelurile, iar 30% dintre acestia cumpara o extensie a acestui joc. Realizati N(=100; 1000; ..) simulari ale num arului de jucatori din 15 jucatori alesi aleator care cumparaextensia jocului si afisati frecventa de aparitie a exact k jucatori care au cumparat extensiajocului, unde k = 0; 1;...15. Comparati rezultatele obtinute cu cele teoretice.

6. Conform unei statistici 5% din placile video aflate pe piata sunt defecte. Simulatide N(= 100; 1000; : : :) ori num arul de plsci video ıncercate pana la gasirea primei placivideo functionale si afisati frecventa de aparitie a exact k placi video defecte ıncercatepana la gasirea celei functionale, unde k = 0; 1; 2; 3; 4. Comparati rezultatele obtinutecu cele teoretice.

7. Un pachet software are 12 programe din care 5 trebuie actualizate (au nevoie de\upgrade”). Simulati de N(= 100; 1000; ...) ori alegerea aleatoare a 4 programe din

74

pachet si afisati frecventa de aparitie a exact k programe care trebuie actualizate, unde k= 0; 1; 2; 3; 4. Comparat i rezultatele obtinute cu cele teoretice.

8. Un furnizor de servicii de internet are n = 40.000 de potentiali noi clienti. Proba-bilitatea ca o persoana sa apeleze la serviciile furnizorului este p = 0; 00025. RealizatiN(= 100; 1000) simulari ın care fiecare persoana apeleaza sau nu la serviciile furnizoruluisi afisati frecventa de aparitie a exact k clienti, unde k = 0; 1; 2;... 20. Comparati rezul-tatele obtinute cu probilitatile corespunzatoare din distributia lui Poisson cu parametruλ = n*p = 10.

9. Conform unei statistici numarul de ore pe saptamana petrecut de un adult ı n fatacalculatorului personal urmeaza legea normal a cu media = 7 ore si σ2 = 1. Simulati de N= (100; 1000; ...) ori timpul pe care ıl petrece o persoana ın fata calculatorului personalsi afisati frecventa de aparitie a unui timp ıntre 4; 5 ore si 7 ore. Comparati rezultateleobtinute cu valorile functiei de repartitie a legii normale cu parametri µ= 7 si

σ2 = 1.10. Dandu-se n, sa se genereze o permutare aleatoare a multimii 1; 2;... n. Un

generator bun va genera toate permutarile cu aceeasi probabilitate.11. Numarul de accidente dintr-o intersectie din Sibiu, s-a ınregistrat timp de de un

an si apare ın tabelul urmator[6]:

n Frecventa0 321 122 6

3 sau mai multe 0

Testati ipoteza ca n are o distributie Poisson, presupunand ca observatiile sunt inde-pendente, la nivelul α = 0.05.

Indicatie: Deoarece distributia este discreta nu se poate aplica testul Kolmogorov.Deoarece λ nu este dat, trebuie facuta o estimare a lui.

12. La alegeri se considera o selectie de cate 200 de alegatori selectati din patrucircumscriptii electorale din Sibiu. Datele sunt memorate ın tabelul urmator:

Opinia 1 2 3 4 Totalpro PSD 76 53 59 48 236

contra PSD 124 147 141 152 564Total 200 200 200 200 800

Dorim sa comparam procentele de alegatori din fiecare circumscriptie favorabili PSD.Ne permite selectia sa afirmam ca procentele de alegatori favorabili PSD difera de la ocircumscriptie la alta?

13. Defectele care apar ın timpul prelucrarii unei piese metalice la strung se potproduce din doua cauze: centrarea imperfecta a cutitului si calitatea necorespunzatoarea lui. Probabilitatea de a apare un defect din cauza centrarii cutitului este 0.05, iarprobabilitatea aparitiei unui defect provenit din calitatea necorespunzatoare a cutituluieste 0.2.Sa se determine probabilitatea de a respinge o piesa.

75

14.Se arunca doua zaruri. Care este probabilitatea ca pe zarul al doilea sa apara fatacu 6 puncte stiind ca suma punctelor obtinute pe fetele celor doua zaruri este mai maredecat 9?

15.Se considera 4 urne cu componentele U1 = 5 bile albe si 3 negre, U2 =7 bile albesi 4 negre,U3 = 5 bile albe si 4 bile negre,U4 =5 bile albe si 3 negre. Se extrage o bila dinurne. care este probabilitatea ca:

a) bila extrasa sa fie neagra ?b) bila extrasa sa fie din urna U4?16.Variabila aleatoare X are functia densitate de probabilitate

f(x) =

0, daca x ∈ (−∞,−1] ∪ [1,+∞)

23, daca x ∈ (−1, 1)

a) Sa se determine functia de repartitie corespunzatoare.b)Sa se determine densitatea de probabilitate a variabilei:

Y = exp(X)

17. Folsind eventual inegalitatea lui Cebishev sa se determine o margine inferioara

P (16 < X < 44)

unde X este o variabila aleatoare cu valoarea medie m = 30 si abaterea medie patraticaσ = 9.

18. La aruncarea unui zar o persoana nu primeste nici un punct daca apar fetele 5,6, primeste 1 punct daca apar fetele 1 sau 2, 2 puncte daca apare fata 4, 3 puncte dacaapare fata 5.

Scrieti variabila aleatoare discreta X, iar apoi calculati M(X), D2(X).19.O loterie contine 40 bile numerotate de la 1 la 40 (Jocul 5 din 40). Biletele

castigatoare sunt multipli de 5.O persoana cumpara 3 bilete. se cere probabilitatea ca sa aiba:

1. Un bilet castigator.

2. Nici un bilet castigator,

3. Cel putin un bilet castigator.

20. Fie variabila aleatoare X care se refera la aruncarea unui zar, anume daca ın urmaaruncarii zarului se obtine 3 sau 5 se pierde o miza (X=-1),iar daca se obtine un numarpar, se castiga o miza (X=1), altfel nu se castiga si nu se pierde nimic (X=0) )(adicaapare 1). Folosind functiile Matlab pdf, cdf , sa se reprezinte prin puncte si bare functiade probabilitate si functia de repartitie pe aceasi figura.

76

6 Bibliografie

References

[1] Petru Blaga-Statistica prin Matlab- Editura Presa Universitara Clujeana, 2002.[2] M.Iosifescu, C.Moineanu, V.Trebici, E.Ursianu-Mica enciclopedie de statistica,-

Editura Stiintifica si enciclopedica, 1985.[3] *** – MATLAB User’s Guide, The Mathworks Inc., SUA, 2015[4] Daniel N.Pop- Initiere ın Matlab, Cateva aplicatii practice ın diverse domenii de ac-

tivitate,- Editura Presa Universitara Clujeana, 2013.[5] Ion Sacuiu, D.Zorilescu-Numere aleatoare.Aplicatii ın economie, industrie si studiul

fenomenelor naturale , Editura Academiei, Bucuresti,1978.[6] Radu T. Trambitas. -Metode Statistice, Editura Presa Universitara Clujeana, 2013.

77