Laborator 9- Estimarea parametrilor Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 29.nov.2017 1
2
1 Estimarea parametrilor in ToolBox-ul Statistics Functiile de estimare aparametrilor returneaza estimatii de verosimilitate maxima a parametrilor unei distributii pornind de la datele de selectie si intervalele de incredere pentru acesti parametrii F unctia Semnif icatia betaf it estimarea parametrilor pentru distributia Beta betalike opusul log aritmului f unctiei de verosimilitate Beta binof it estimarea parametrilor pentru distributia Binmiala exp f it estimarea parametrilor pentru distributia Exponentiala gamef it estimarea parametrilor pentru distributia Gamma gamelike opusul log aritmului f unctiei de verosimilitate Gama mle estimatie de verosimilitate max ima normlike opusul log aritmului f unctiei de verosimilitate normale normf it estimarea parametrilor pentru distributia normala poissf it estimarea parametrilor pentru distributia P oisson unif it estimarea parametrilor pentru distributia unif orma Functiile care se termina in fit estimatii de verosimilitate maxima pentru parametrii unei distributii (sau estimatii eficiente nedeplasate pentru distributia normala) si la cererea utilizatorului intervale de incredere (1 α)% pentru acestia. 2 Exemple Exemplu 1 Sa presupunem ca avem o selectie aleatoare de 60 de date provenind dintr-o populatie N(m=50,σ = 16).Sa se determine estimatii de verosimilitate maxima pentru medie si dispersie. Solutie 2 Prima varianta utilizeaza functia mle care returneaza estimatii de verosimilitate maxima pentru medie si dispersie. A doua varianta utilizeaza functia normfit. Ea da ca estimator pentru dispersie estimatorul eficient nedeplasat s 2 = 1 n 1 n (x k x) 2 k=1 Tastam in linia de comanda: >> x=normrnd(50,4,60,1); >> [phat,ci]=mle( normal,x,0.05) Se obtin rezultatele: phat = 3
49.8413 4.2527 ci = 48.7334 3.6351 50.9491 5.2306 >> [muhat,sigmahat,maci,sigmaci]=normfit(x,0.5) Se obtin rezultatele: muhat = 49.8413 sigmahat = 4.2886 maci = 49.4655 50.2170 sigmaci = 4.0573 4.5967 Exemplu 3 Fie un sir de 100 de numere aleatoare cu distributia gama de parametrii a=10 si b=5. Sa se obtina estimatii de verosimilitate maxima. pentru a si b si intervale de incredere de 95%. Reamintim distributia gama. Definitie 4 Variabila aleatore X urmeaza legea Gamma daca are densitatea de probabilitate f(x a, b) = 1 b a Γ(a) xa 1 e x b, x > 0, a, b > 0 unde Γ(a) este functia lui Euler de speta II adica Γ(a) = 0 x a 1 e x dx, a > 0 Vom folosii functia gamfit. Comenzile Matlab si rezultatul lor sunt: >> dv=gamrnd(10,5,100,1); >> [phat,ic]=gamfit(dv,0.01) phat = 9.9439 4.9152 ic = 6.9492 3.4035 14.229 7.0984 4
Exemplu 5 Fie doua selectii de dimensiune 10 dintr-o populatie Poisson cu λ = 5.Dati estimatii de verosimilitate maxima si intervale de incredere de 95% pentru λ. Comanda Matlab si rezultatele sunt: >> r=poissrnd(5,10,2); >> [l,lci]=poissfit(r) l = 5.8000 4.4000 lci = 4.4042 3.1970 7.4978 5.9068 Exemplu 6 Un fabrivcant de praf de pusca doreste sa testeze o noua pulbere. El testeaza 8 cartuse, masurind viteza glontelui la gura tevii. Se obtin urmatoarele viteze in m/s: vglonte=[1001.7 975 978.33 988.33 998.33 1001.7 979.0 968.33]. Determinati un interval de incredere de 95% pentru media vitezelor in ipoteza ca vitezele sunt normal distribuite. Cu datele pastrate in vectorul vglonte calculam media, abaterea medie patratica si cuantilele. >> mean(vglonte) 986.3400 >> std(vglonte) 13.0415 >> tinv([0.025,0.975],7) -2.3646 2.3646 Intervalul de incredere se obtine cu ajutorul functiei ttest. >> [h,sig,iim]=ttest(vglonte) h = 1 sig = 1.2879e-014 iim = 975.4370 997.2430 5
3 Corelatie si regresie Reamintim de la curs formulele pentru covarianta si raportul de corelatie: Cov(X, Y ) = M(X, Y ) M(X)M(Y ) Cov(X, Y ) r(x, Y ) = D2 (X) D 2 (Y ) In MATLAB corelatia se realizeaza cu ajutorul functiei COV. Apelul lui COV(X) returneaza matricea de covarianta, cu elementele a ij = COV (X i, Y j ) Se presupune ca valorile caracteristicii X i apar pe coloana i a matricei X. Daca X este un vector se returneaza dispersia lui X. Matricea coeficientilor de corelatie se obtine cu functia Coerrcoef(X,Y). Regresia polinomiala se poate realiza in MATLAB cu functia polyfit. Forma de apel [p,s]=polyfit(x,y,n) returneaza pe linga polinomul p o matrice S care poate fi utilizata de functiile polyval,polyconf pentru a produce estimatii ale erorii predictiilor. Daca erorile ce corespund vectorului de date y sunt normale si cu dispersie constanta polyval va produce limite ale erorii ce contin cel putin 50% dintre predictii. Evaluarea polinoamelor si realizarea predictiilor se realizeaza cu functia polyval. Forma Y=polyval(p,X) returneaza valoarea polinomului cu coeficientii dati de p in toate elementele vectorului sau matricei X. Functia polyconf se poate utiliza la evaluari de polinoame si estimarea unor intervale de incredere. Apelul [Y,DELTA]=polyconf(p,X,S,alpha) evalueaza polinomul dat de p si da intervalele de incredere de 1-alpha pentru Y (de forma Y+/- DELTA).Implicit alpha este 0.05. Un instrument interactiv util de predictie este functia polytool. Apelul ei este de forma: polytool (x,y,n,alpha) Valorile implicite pentru n si alpha sunt 1 si respectiv 0.05. Functia este o interfata grafica interactiva conceputa pentru a prognoza valoarea polinomului de regresie in x sau selectat interactiv cu un cursor si a studia efectul schimbarii gradului asupra calitati estimatiei. Exemplu 7 Pentru punctele x=[-2:1:2], si y=[0,0,1,1,3] obtineti dreapta de regresie, iar apoi prognozati valoarea lui y pentru x=2.5 si x=3. 6
Solutie 8 Vom folosi functia polyfit pentru a determina coeficientii dreptei de regresie. Se observa ca valoarea coeficientului de corelatie returnat de de functia corrcoef este de 0.9037, deci este foarte probabil ca intre x si y sa existe o legatura liniara..>>x=[-2:1:2] ; >> y=[0,0,1,1,3] ; >> corrcoef([x,y]) 1.0000 0.9037 0.9037 1.0000 Coeficientii se obtin astfel: >> a=polyfit(x,y,1) a = 0.7000 1.0000 Predictia se poate realiza cu ajutorul functiei polyval >> polyval(a,[2.5,3]) 2.7500 3.1000 7