CURS 6: APROXIMAREA FUNCTIILOR PRIN REGRESIE

Similar documents
Lucrarea de laborator nr. 11

Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Matematică (Varianta 1)

Probleme de numărare: combinări, aranjamente, permutări de Manuela Prajea 1)

ALGORITMI GENETICI DE OPTIMIZARE

1.3. OPERAŢII CU NUMERE NEZECIMALE

ADRIAN CHISĂLIŢĂ ANA. Biblioteca de Analiză numerică surse Fortran 90. Manual de utilizare

Testarea ipotezelor statistice. Stud. Master - AMP. Cateva elemente recapitulative PRELUCRAREA DATELOR DE SONDAJ SI INFERENTA STATISTICA

Prezentarea şi prelucrarea datelor experimentale

APLICATII NUMERICE DE STATISTICA IN FARMACIE SI IN STUDIILE CLINICE VOL. I metode manuale. Editia a II a Revizuita

O V E R V I E W. This study suggests grouping of numbers that do not divide the number

IMAR Problema 1. Fie P un punct situat în interiorul unui triunghi ABC. Dreapta AP intersectează

7 ECUAŢII ALGEBRICE ŞI TRANSCENDENTE

Sisteme cu logica fuzzy

METODE DE CĂUTARE DIRECTĂ Algoritmi şi Studii Numerice

Curs 1 PARAMETRII ELEMENTELOR DE SISTEM

ON THE QUATERNARY QUADRATIC DIOPHANTINE EQUATIONS (II) NICOLAE BRATU 1 ADINA CRETAN 2

Numere prime. O selecţie de probleme pentru gimnaziu

PORTOFOLIILOR CU CONSTRÂNGERI DE LICHIDITATE FUZZY MODELING THE PORTFOLIO SELECTION PROBLEM WITH FUZZY LIQUIDITY CONSTRAINTS

Revista Informatica Economica, nr. 1 (21)/2002. Program pentru utilizarea functiilor spline în probleme de interpolare neliniara

X... ne ij =, i =1,p, j = 1,q T 2. Se calculează statistica testului: Se calculează valoarea critică a testului:

REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUAłII LINIARE

Soluţii juniori., unde 1, 2

REGRESIA LINIARĂ ŞI CORELAŢIA

Teorema Reziduurilor şi Bucuria Integralelor Reale Prezentare de Alexandru Negrescu

Ecuatii si inecuatii de gradul al doilea si reductibile la gradul al doilea. Ecuatii de gradul al doilea

COMPARATIVE DISCUSSION ABOUT THE DETERMINING METHODS OF THE STRESSES IN PLANE SLABS

OPTIMIZAREA DECIZIILOR ÎN CONDIŢII DE RISC ŞI INCERTITUDINE

APLICATII NUMERICE DE STATISTICA IN FARMACIE SI IN STUDIILE CLINICE

Laborator 4. Rezolvarea ecuaţiilor diferenţiale în Matlab

UTILIZAREA METODEI NUCLEELOR DEGENERATE MODIFICATĂ LA REZOLVAREA APROXIMATIVĂ A ECUAŢIILOR INTEGRALE LINIARE DE TIP FREDHOLM

Test de Departajare pentru MofM 2014 (Bucureşti) Enunţuri & Soluţii

MODELAREA DECIZIEI FINANCIARE - Manual de studiu individual -

Lucrarea de laborator nr. 8

REZOLVAREA PROBLEMELOR DE TRANSPORT SPECIFICE DOMENIULUI MILITAR

UNITATEA DE ÎNVĂȚARE 3 Analiza algoritmilor

Divizibilitate în mulțimea numerelor naturale/întregi

FORMULELE LUI STIRLING, WALLIS, GAUSS ŞI APLICAŢII

Modele neliniare. Teorie şi aplicaţii

2. Lema chinezească a resturilor. Fie,,..., mai mari decât 1 astfel încât pentru. Atunci, oricare ar fi ϵ există unic determinat astfel încât,, unde.

Rezolvarea ecuaţiilor şi sistemelor de ecuaţii diferenţiale ordinare (II)

O tehnica fuzzy de partitionare si inductie automata bazata pe extensia fuzzy a distantei c 2

MODELAREA SISTEMELOR ORIENTATE PE SERVICII PRIN REŢELE PETRI RECONFIGURABILE CU ATRIBUTE MATRICEALE

Dr. Shalabh. Indian Institute of Technology Kanpur

Laborator 5. Instructiuni de control logic : FOR, IF, WHILE. - Staţii de lucru care au instalat Orcad9.2. si MatLab 7.1

Prof univ dr. Sever Spânulescu - LUCRARI DE LABORATOR

Training Sample Model: Given n observations, [[( Yi, x i the sample model can be expressed as (1) where, zero and variance σ

2. Finite Impulse Response Filters (FIR)

Maximum Likelihood Estimation

Elemente de teoria erorilor si incertitudinilor Calcule statistice si modele de aproximare

3. FORŢE SI MOMENTE Caracterul de vector alunecător al forţei aplicată unui rigid. 3.2 Momentul unei forţe în raport cu un punct

VARIABILE ALEATOARE. este o mulţime infinită de numere reale.

FINITE ELEMENT ANALYSIS OF FRICTIONAL CONTACTS

Modelling the Steady State Characteristic of ph Neutralization Process: a Neuro-Fuzzy Approach

Multiple Choice Test. Chapter Adequacy of Models for Regression

Multivariate Transformation of Variables and Maximum Likelihood Estimation

A GENERALIZATION OF A CLASSICAL MONTE CARLO ALGORITHM TO ESTIMATE π

2. METODA GRADIENTULUI CONJUGAT PENTRU REZOLVAREA SISTEMELOR ALGEBRICE LINIARE

GENERATOARE DE SEMNAL DIGITALE

A DARK GREY P O N T, with a Switch Tail, and a small Star on the Forehead. Any

Numerical Analysis Formulae Booklet

Barem de notare clasa a V-a

Habilitation Thesis. Periodic solutions of differential systems: existence, stability and bifurcations

Avem 6 tipuri de simboluri in logica predicatelor:

Teoria probabilit¼aţilor şi statistic¼a matematic¼a

FD. FIZICĂ STATISTICĂ

DESPRE COMPLEMENTAREA METODELOR JEFFERSON, ADAMS, WEBSTER ŞI HUNTINGTON-HILL

A L A BA M A L A W R E V IE W

CONVEIOARE DE CURENT: TIPURI SI APLICATII

METODOLOGIE DE CALCUL A PIERDERILOR DE PUTERE SI ENERGIE ELECTRICA IN LINIILE DE JOASA TENSIUNE CU SARCINI ECHIDISTANT REPARTIZATE

Introduction to Matrices and Matrix Approach to Simple Linear Regression

Matematici speciale Seminar 12

ȘIRURI (TABLOURI UNIDIMENSIONALE)

Utilizarea limbajului SQL pentru cereri OLAP. Mihaela Muntean 2015

LUCRAREA NR Reprezentarea sistemelor liniare și invariante în timp 2. Răspunsul sistemelor la semnale de intrare

Reactoare chimice cu curgere piston (ideala) cu amestecare completa de tip batch (autoclava)

LIGHTNING MVP System

Inteligenta Artificiala

Pentru clasa a X-a Ştiinţele naturii-sem II

INEGALITĂŢI DE TIP HARNACK ŞI SOLUŢII POZITIVE MULTIPLE PENTRU PROBLEME NELINIARE

LABORATOR DE ETALONARE A DISPOZITIVELOR DE MASURARE CURENTI MARI

FINDING THE TRACES OF A GIVEN PLANE: ANALYTICALLY AND THROUGH GRAPHICAL CONSTRUCTIONS

Gradul de comutativitate al grupurilor finite 1

Mugur Acu OPERATORUL INTEGRAL LIBERA-PASCU ŞI PROPRIETĂŢILE ACESTUIA CU PRIVIRE LA FUNCŢIILE UNIFORM STELATE, CONVEXE, APROAPE CONVEXE ŞI

TWO BOUNDARY ELEMENT APPROACHES FOR THE COMPRESSIBLE FLUID FLOW AROUND A NON-LIFTING BODY

Common Fixed Points for Multifunctions Satisfying a Polynomial Inequality

DE LA TEOREMA FAN MINIMAX LA ECHILIBRUL NASH FROM FAN MINIMAX THEOREM TO NASH EQUILIBRIUM

Fig. 2 a) Secventele de impulsuri RMN specifice membranelor PFSA/SiO 2 hidratate pentru corelatiile 2D de tipul a) T 2 T 2 si b) T 1 T 2.

4/68. Mini-comutatoare cu came. Prezentare generalã a sistemului. Întreruptoare Pornit-Oprit TM. Comutatoare de comandã TM.

Ordin. pentru aprobarea structurii informaţiilor înscrise pe cardul naţional de asigurări sociale de sănătate

THE METROLOGY OF OPTICAL FIBRE LOSSES

Econometric Methods. Review of Estimation

Singular Value Decomposition. Linear Algebra (3) Singular Value Decomposition. SVD and Eigenvectors. Solving LEs with SVD

Lecture Notes 2. The ability to manipulate matrices is critical in economics.

b. There appears to be a positive relationship between X and Y; that is, as X increases, so does Y.

Alte rezultate din teoria codurilor

Testarea ipotezelor statistice

APLICAŢII ALE FORMULELOR LUI NEWTON PENTRU POLINOAME SIMETRICE

X X X E[ ] E X E X. is the ()m n where the ( i,)th. j element is the mean of the ( i,)th., then

Regression and the LMS Algorithm

Statistică Aplicată. Iulian Stoleriu

Transcription:

CURS 6: APROXIMAREA FUNCTIILOR PRIN REGRESIE Metoda celor ma mc pătrate. Formularea probleme. Notaț Metoda celor ma mc pătrate (ale eror) este cea ma uzuală metodă de aproxmare a ue depedeţe y=y(x), date tabelar (ca î tabelul ), prtr-o fucţe aaltcă, care se umeşte fucţe (de obce polomală) de regrese. De aceea, metoda celor ma mc pătrate se ma umeşte ş regrese, cu largă aplcabltate î estmare, statstcă ş prelucrarea datelor. x x x 2... x y y y 2... y Tabel Depedeţa y=y(x) dată pr tabel Depedeţa y=y(x) se poate reprezeta grafc î plaul (x, y), obţâdu-se aşa-umtul or de pucte. De cele ma multe or, după alura orulu de pucte se poate stabl forma exactă a fucţe de regrese: dacă puctele se dstrbue î jurul ue drepte, atuc se alege drept fucţe de regrese u polom de gradul I (regrese lară), dacă se dstrbue î jurul ue parabole sau a ue parabole cubce, atuc trebue aleasă o fucţe polomală de gradul al II-lea, respectv de gradul al III-lea etc. Dacă forma sugerată a orulu de pucte u corespude uu caz smplu, atuc se procedează la regresa cu o fucţe polomală de grad superor, ales arbtrar î prmă fază. Dacă se otează cu y, =,, valorle aproxmate (estmate) ş cu f reg fucţa geerală de regrese, atuc este valablă relaţa: () y = f ( x ) reg Fucţa f reg depde de u set de m parametr, fe aceşta a, =, m (î partcular, aceşta sut coefceţ polomulu de regrese), care se determă d mmzarea eror pătratce cumulate dtre valorle reale, y, ş valorle aproxmate, y : ( ) 2 (2) E( a, a2,... am ) y y Fucţa de eroare (2) este o exprese a dsperse valorlor reale de la curba presupusă. Fd o sumă de pătrate, această fucţe preztă u mm poztv (î cazul deal, acesta este 0, corespuzâd aproxmăr exacte), care se obţe d aularea dervatelor sale parţale î raport cu fecare dtre parametr a, =, m. Rezultă astfel sstemul de m ecuaţ î ecuoscutele a, =, m, umt sstemul ecuaţlor ormale: E( a (3), a2,... am) = 0, =, m a

Î cazul î care f reg este fucţe polomală, sstemul (3) este lar ş compatbl determat, soluţa lu admţâd o formă geerală, care este prezetată î.5. O aplcaţe medată ş tutvă a metode celor ma mc pătrate este trasarea grafcă a ue depedeţe de tpul cele d tabelul, presupuâd că datele respectve s-au obţut î urma măsurăr varaţe varable depedete y î fucţe de varaţa varable depedete x. Măsurătorle fd î geeral afectate de eror, se aplcă îtâ o metodă de regrese petru determarea ue aproxmăr aaltce a depedeţe respectve. Pr reprezetarea grafcă a orulu de pucte de coordoate (x,y ),,2,..., ş a fucţe de regrese y = ( y x) î acelaş sstem de coordoate, se observă că aproxmarea pr regrese corespude trasăr grafculu prtre pucte (fgura )..5 y 0.5-3 -2-0 2 3 4 5 x -0.5 - -.5 Fg. Trasarea grafculu de regrese prtre puctele orulu de pucte Algortm de regrese sut practc îşrurea relaţlor de calcul al coefceţlor de regrese. De aceea se preztă drect mplemetărle Matlab ale celor ma uzuale cazur de regrese lară, parabolcă ş expoeţală ş a cazulu geeral de regrese polomală..2 Aproxmarea pr regrese lară Regresa lară costă î aproxmarea uu or de pucte prtr-o dreaptă; ca atare, relaţa de calcul al valorlor aproxmate (estmate), y, =,, este: (4) y = a x + b Coefceţ a ş b sut soluţle sstemulu (3), partcularzat petru m=2: (5) Sxy Sx Sy Sxx Sy Sx Sxy a =, b = 2 2 Sxx Sx Sxx Sx, ude s-au făcut otaţle: Sx x =, Sxx 2 x =, 2 Sy y =, Sxy x y =. Relaţle (5) rezultă d dezvoltarea determaţlor mplcaţ î sstemul (3). Fucţa Matlab de mplemetare a metode de regrese lară trebue să prmească drept date de trare ce do vector, x ş y, ş să retureze valorle celor do coefceţ de regrese,

a ş b. Fucţa Matlab cmmp_l lstată ma jos ma returează ş şrul de valor aproxmate, y, =,, î vectorul y_aprox, precum ş valoarea (mmzată) a eror pătratce globale (coform relaţe (2)) î varabla E. fucto [a,b,y_aprox,e]=cmmp_l(x,y) %REGRESIE LINIARĂ pe u set de perech de date (x,y); %dreapta de regrese are ecuaţa y=a*x+b; %x ş y sut vector de aceeaş dmesue, %(recomadabl ca x să fe ordoat crescător/descrescător) =legth(x); %calculul sumelor Sx=sum(x);Sxx=sum(x.^2);Sy=sum(y);Syy=sum(x.*y); %calculul umtorulu ş umărătorlor d formulele lu a ş b d=*sxx-sx^2;da=*syy-sx*sy;db=sxx*sy-sx*syy; %calculul coefceţlor de regrese, a ş b a=da/d;b=db/d; %valorle aproxmate y_aprox=a*x+b; %eroarea globală E=sum((y-y_aprox).^2); Ca o observaţe, se poate folos ş fucţa det d bbloteca Matlab, care calculează determatul ue matrce pătratce. Î exemplul de ma jos se arată o modaltate de verfcare a fucţe cmmp_l. Exemplul : Dâdu-se şrul de valor x=[.5 2 2.5 3 3.5 4 4.5 5 5.5 6] (la cazul geeral, acestea u trebue să fe echdstate), se geerează vectorul y după relaţa y=2*x+7 ş se apelează fucţa cmmp_l. x=[.5 2 2.5 3 3.5 4 4.5 5 5.5 6];y=2*x+7; [a,b,y_aprox,e]=cmmp_l(x,y) Rezultatul este coform aşteptărlor: a = 2 b = 7 y_aprox = 9 0 2 3 4 5 6 7 8 9 E = 0 Se perturbă apo valorle obţute cu formula y=2*x+7 (de exemplu, cu maxm ±0%), rezultâd y=[8. 9.9 3.2.7 5.4 3.5 7.6 5.3 9.8 7.]. Apelul fucţe cmmp_l cu argumetele de trare x ş y (exstete î spaţul de lucru): [a,b,y_aprox,e]=cmmp_l(x,y) produce următoarele rezultate: 3

a =.8757 b = 7.304 y_aprox = Colums through 7 9.860 0.238.067.9995 2.9373 3.8752 4.830 Colums 8 through 5.7508 6.6887 7.6265 8.5643 E = 4.5376 Evdet, valorle coefceţlor de regrese, a ş b, vor f cu atât ma devate de la valorle 2, respectv 7, cu cât perturbaţa setulu y de la dreapta exactă 2x+7 va f ma mare. Rezultatele regrese se vzualzează grafc pr reprezetarea orulu de pucte ş a grafculu drepte de regrese, ax+b (petru care se dscretzează tervalul de varaţe al varable depedete, x, cu u pas sufcet de mc rezultatul se depue î vectorul xx ş se calculează varabla depedetă, y, î fecare valoare astfel obţută rezultatul se depue î vectorul yy). 20 8 6 4 2 0 8.5 2 2.5 3 3.5 4 4.5 5 5.5 6 Fg. 2 Aproxmarea uu or de pucte pr regrese lară Î urma comezlor Matlab: xx=m(x):(max(x)-m(x))/200:max(x); yy=a*xx+b; plot(x,y, o,xx,yy, - );grd; se obţe grafcul d fgura 2..3 Aproxmarea pr regrese parabolcă Dacă orul de pucte are alură de parabolă, atuc se poate aplca regresa parabolcă. Relaţa de calcul al valorlor aproxmate, y, =,, este î acest caz: 4

(6) 2 y = a x + b x + c Coefceţ a, b ş c sut soluţle sstemulu (2.3), partcularzat petru m=3: (7) a a, b b = =, c = c, ude este determatul sstemulu (2.3), ar a, b ş c sut determaţ de calcul a coefceţlor. Formele lor compacte, precum ş formulele desfăşurate sut date ma jos. S S S 4x 3x xx 2 2 3 3x xx x xx 4x x 4x 3x 2 x xx 3x xx = S S S = S S S S S + S S S S S S xx x S2xy S3x Sxx a = Sxy Sxx Sx 2 2 = SxxS2xy Sx S2xy S3xSxy + SxS3xSy + SxSxxSxy SxxS y S y Sx S4x S2xy Sxx b = S3x Sxy Sx 2 = S4xSxy SxS4xSy S3xS2xy + SxSxxS2xy + SxxS3xS y SxxSxy Sxx Sy S4x S3x S2xy c = S3x Sxx Sxy 2 2 = SxxS4xS y SxS4xSxy S3xS y + SxxS3xSxy + SxS3xS2xy SxxS2xy Sxx Sx S y 2 3 4 S-au făcut otaţle: Sx = x, Sxx = x, S3x = x, S4x = x, Sy = y, 2 Sxy = x y, S2xy = x y. Metoda de regrese parabolcă este mplemetată prtr-o fucţe umtă cmmp_par, care prmeşte aceleaş argumete de trare ca ş cmmp_l, fucţa destată regrese lare, ş aume seturle de date x ş y. Pe lâgă coefceţ de regrese, a, b ş c, ş eroarea globală, fucţa ma returează ş perechea de vector (xx,yy), calculaţ petru reprezetarea grafcă a curbe de regrese (î maera arătată la regresa lară, exemplul 2.). fucto [a,b,c,e,xx,yy]=cmmp_par(x,y) %REGRESIE PARABOLICĂ pe seturle de date (x,y); % 2 %curba de regrese are ecuaţa y = a*x + b*x + c; %x ş y sut vector de aceeaş dmesue, %(recomadabl ca x să fe ordoat crescător/descrescător) =legth(x); %calculul sumelor 5

Sx=sum(x);Sxx=sum(x.^2);S3x=sum(x.^3);S4x=sum(x.^4); Sy=sum(y);Sxy=sum(x.*y);S2xy=sum((x.^2).*y); %calculul determaţlor d=*sxx*s4x-sx^2*s4x-*s3x^2+2*sx*sxx*s3x-sxx^3; da=*sxx*s2xy-sx^2*s2xy-*s3x*sxy+sx*s3x*sy+... Sx*Sxx*Sxy-Sxx^2*Sy; db=*s4x*sxy-sx*s4x*sy-*s3x*s2xy+sx*sxx*s2xy+... Sxx*S3x*Sy-Sxx^2*Sxy; dc=sxx*s4x*sy-sx*s4x*sxy-s3x^2*sy+sxx*s3x*sxy+... Sx*S3x*S2xy-Sxx^2*S2xy; %calculul coefceţlor de regrese a=da/d; b=db/d; c=dc/d; %vector calculaţ î vederea ue evetuale reprezetăr grafce xx=m(x):(max(x)-m(x))/200:max(x); yy=a*xx.^2+b*xx+c; %eroarea globală E=sum((y-a*x.^2-b*x-c).^2); A se observa modul de plasare pe ma multe râdur a ue formule eobşut de lug (termarea fecăru râd cu caracterele... ). Exemplul 2: Dâdu-se vectorul x=[0 0.3.4.6 2 2. 2.4 2.8 3 3.5 3.7 3.9 4] ş vectorul y=x.^2-4*x-0, apelul fucţe cmmp_par cu returarea uma a prmelor patru argumete de eşre: [a,b,c,e]=cmmp_par(x,y) va avea drept ecou la ecra: a =.0000 b = -4.0000 c = -0.0000 E = 4.308e-024 Rezultatele cofrmă aşteptărle; câteva cometar se mpu. Se observă că valoarea eror globale este foarte mcă, practc 0; totuş, ea u a fost afşată ca 0, ceea ce îseamă că u este exact 0, aşa cum s-a obţut î cazul regrese lare pe u set de date perfect curat, eperturbat (exemplul 2.). Nc coefceţ de regrese u corespud exact valorlor curbe după care a fost geerat vectorul y; aceasta se costată reafşâd coefceţ î formatul de afşare cu 5 zecmale: format log a 6

a = 0.99999999999995 b b = -3.99999999999985 c c = -9.99999999999946 Rezultatele cofrmă o tuţe frească: erorle de calcul cresc cu cât ordul regrese creşte (cu cât umărul coefceţlor de regrese este ma mare). Exemplul 3: Regresa parabolcă se aplcă acum pe setur de date legate prtr-o lege lară; de exemplu, fe cele d exemplul 2.: x=[.5 2 2.5 3 3.5 4 4.5 5 5.5 6] ş y=2*x+7. Rezultatul aşteptat î urma apelulu fucţe cmmp_par este ca parabola de regrese să abă coefcetul a aproxmatv ul (parabola se reduce la o dreaptă). Îtr-adevăr, comada: [a,b,c,e]=cmmp_par(x,y) are ca rezultat: a = 0 b = c = 2 7 E = 0 Rezultatul este de această dată exact, coefceţ sut determaţ fără eroare. Rămââd î cotuare la exemplul 2. ş apelâd fucţa cmmp_par petru setul y perturbat, y=[8. 9.9 3.2.7 5.4 3.5 7.6 5.3 9.8 7.]: [a,b,c,e]=cmmp_par(x,y) se obţe: a = -0.305 b = 2.8592 c = 5.7909 7

E = 2.4862 Eroarea globală obţută pr regrese parabolcă (2.4862) este ma mare decât cea pr regrese lară (4.5376, d exemplul 2.), ceea ce arată că respectvul or de pucte se aproxmează ma be prtr-o dreaptă decât prtr-o parabolă. De ac se desprde o cocluze geerală: î cazul aplcăr regrese polomale uu set dat de date, ma îtâ trebue determat ordul regrese care asgură eroarea mmă. Se va reve la această problemă câd se va dscuta cazul geeral de regrese polomală ( 2..5)..4 Aproxmarea pr regrese expoețală Regresa expoeţală se aplcă atuc câd varabla depedetă are valor de sem costat (are fe uma valor poztve, fe uma valor egatve, ş atuc se cosderă y ca varablă depedetă). Fără a reduce geeraltatea se poate, dec, presupue că y coţe uma valor poztve. Norul de pucte se aproxmează prtr-o curbă expoeţală; valorle estmate, y > 0, =,, determâdu-se cu: (8) y = C e, C > 0 α x Pr logartmarea relaţe (2.8) ş troducerea schmbăr de varablă obţe: (9) z = α x + l( C ), A B z l( y ), z > 0, se care este u model de regrese lară petru seturle de date x ş z l( y), cu coefceţ A = α ş B = l( C) > 0. Aceşta se pot, dec, determa adaptâd formulele (2.5): (0) Sxz Sx Sz S, xx Sz Sx S A B xz = = 2 2 Sxx Sx Sxx Sx, 2 ude s-au făcut otaţle: Sx = x, Sxx = x, l( ) l Sz = z = y = y, Sxz = x z = x l( y ). Relaţa (2.8) se poate rescre sub forma: A x + B y = e, B > 0 Avâd î vedere reducerea de ma sus, fucţa Matlab petru regresa expoeţală, umtă cmmp_exp, costă î eseţă î apelarea fucţe cmmp_l, de regrese lară. Semfcaţa argumetelor de eşre ale fucţe cmmp_exp este aceeaş ca î cazul fucţe cmmp_par, de regrese parabolcă; ea este lstată ş cometată ma jos. fucto [A,B,E,xx,yy]=cmmp_exp(x,y) %REGRESIE după o CURBA EXPONENTIALĂ a uu set de date (x,y); % A*x+B %curba de regrese are ecuaţa y=e; 8

%x ş y sut vector de aceeaş dmesue; %(recomadabl ca x să fe ordoat crescător/descrescător); %y coţe valor poztve %regresa de acest tp se reduce la regresa lară pr %logartmarea aturală a valorlor d y z=log(y); [A,B,E,y_aprox]=cmmp_l(x,z); %şrur de valor calculate î vederea ue evetuale reprezetăr grafce xx=m(x):(max(x)-m(x))/200:max(x); yy=exp(a*xx+b); %eroarea globală E=sum((y-exp(A*x+B)).^2); Fucţa returează coefceţ A ş B (o modfcare moră, folosd relaţle troduse î formula (2.9), este ecesară petru a îtoarce valorle coefceţlor C ş α). Exemplul 4: Pord de la seturle de date x=[-3-2 0 0.5.5 3 4] ş y =[0.2725 0.4493.224.5683 2.5857 5.4739 9.0250] 0.5 x+ 0.2 (geerat cu relaţa y = e : y=exp(0.5*x+0.2)), apelul fucţe cmmp_exp: cu prmele tre argumete de eşre: [A,B,E]=cmmp_exp(x,y) furzează rezultatul aşteptat: A = 0.5000 B = 0.2000 E =.6424e-030 Eroarea globală u este exact 0, d cauza erorlor troduse de logartmarea ţală. Exemplul 5: Se perturbă acum uşor valorle lu y d exemplul 2.4 cu maxm ±25%, obţâdu-se şrul y=[0.2998 0.4044.3435.45 2.8443 4.9266 9.9275 8.9768]. Făcâd abstracţe de modul de geerare a datelor, alura orulu de pucte poate corespude la fel de be ş ue curbe expoeţale, dar ş ue parabole. Se vor îcerca ambele tpur de regrese expoeţală ş parabolcă ş se vor compara erorle globale. Se apelează îtâ fucţa cmmp_exp, petru regresa expoeţală: [A,B,E]=cmmp_exp(x,y) obţâdu-se: A = 0.464 B = 0.79 9

E = 69.5620 Dec orul de pucte poate f aproxmat pr 0.464 x+ 0.79 yexp = e, cu eroarea globală de 69.562. Apelul fucţe cmmp_par, petru regrese parabolcă: [a,b,c,e2]=cmmp_par(x,y) coduce la: a = 0.2457 b = c = 0.9255.475 E2 = 66.489 5 0 2 par y = 0.2457 x + 0.9255 x +.475 5 0.464 x+ 0.79 yexp = e 0-3 -2-0 2 3 4 5 Fg. 3 Aproxmarea pr regrese parabolcă ş expoeţală a uu or de pucte Dec orul de pucte ma admte ş aproxmarea 2 y par = 0.2457 x + 0.9255 x +.475, cu eroarea globală de 66.489. Se observă că eroarea globală are valor mar î ambele cazur, dar că este ma mcă î cazul regrese parabolce (66.489) decât î cazul regrese expoeţale (69.562). Dec, deş datele ţale, eperturbate, corespudeau ue depedeţe expoeţale, perturbarea lor a fost sufcet de semfcatvă petru a modfca tpul depedeţe: datele perturbate ale varable depedete, y, respectă ma degrabă o lege parabolcă î raport cu varabla depedetă, x. Reprezetarea orulu de pucte ş trasarea grafcelor curbelor de regrese obţute ma sus î acelaş sstem de coordoate se realzează pr următorul bloc de comez: [A,B,E,xx,yy]=cmmp_exp(x,y); 0

[a,b,c,e2,xx2,yy2]=cmmp_par(x,y); plot(x,y,'ko',xx,yy,'k--',xx2,yy2,'k-');grd; care produce rezultatele d fgura 2.3..5 Cazul geeral de regrese polomală Dacă alura orulu de pucte u corespude cuua d cazurle de ma sus, atuc se efectuează regresa după o curbă polomală de grad cel puţ 3. Notâd cu m umărul coefceţlor de regrese care este, dec, cel puţ 4 valorle aproxmate, y, =,, sut date de relaţa geerală: () m m 2 y = am x + am x +... + a2 x + a Să observăm că exstă o cerţă geerală: petru a face regrese polomală cu m parametr este ecesar să se dspuă de cel puţ m perech de date (x,y ). Dec trebue îdepltă codţa m. Notâd cu c = [ a ] =, m vectorul coefceţlor de regrese, sstemul (2.3) este lar pătratc; el se poate pue sub forma compactă: (2.3 ) S c = t ude S = s j este matrcea sstemulu, ar t = t j=, m,, m j este vectorul j=, m termelor lber, ale căror elemete se calculează după relaţle: (2) j 2 s j x + j = k, t j = yk x k k = k = Matrcea S fd esgulară, sstemul (2.3 ) este compatbl determat ş are soluţa: (3) c = S t Ma jos este prezetată fucţa Matlab cmmp_ge, care repreztă o mplemetare posblă a cazulu geeral de regrese polomală. Spre deosebre de fucţle de regrese prezetate pâă acum, această fucţe ma prmeşte îcă u argumet de trare, ş aume pe m, umărul de parametr de regrese (pe lâgă vector x ş y). Petru smpltate, formula (2.3) s-a realzat pr apelul fucţe v d bbloteca Matlab (mplemetarea de algortm umerc petru calculul verselor matrcale va f dscutată pe larg ma târzu î această lucrare). Prmul argumet de eşre al fucţe de ma jos, coef, este vectorul coefceţlor polomulu de regrese, î orde crescătoare a puterlor varable. Celelalte argumete de eşre au aceeaş semfcaţe ca î cazul celorlalte fucţ. fucto [coef,e,y_aprox,xx,yy]=cmmp_ge(x,y,m) %metoda CMMP de aproxmare a depedeţe y=f(x) %prtr-u POLINOM DE GRADUL m- (altfel spus, regrese cu m parametr); %coefceţ polomulu de regrese se returează î coef, %care este de dmesue m, î orde crescătoare a puterlor varable; %x ş y au aceeaş dmesue; %(recomadabl ca x să fe ordoat crescător/descrescător); %>m (umărul de perech de date trebue sa fe ma mare % decât umărul parametrlor de regrese)

=legth(x); %calculul elemetelor matrce ş al termelor lber for j=:m, t(j)=0; for :m, s(j,)=0; for k=:, s(j,)=s(j,)+x(k)^(j+-2); ed; ed; for k=:, t(j)=t(j)+y(k)*(x(k)^(j-)); ed; ed; coef=v(s)*t'; coef=coef';%operaţe de traspuere petru ca vectorul coef să rezulte de tp le %calculul valorlor aproxmate ale varable depedete for k=:, y_aprox(k)=0; for :m, y_aprox(k)=y_aprox(k)+coef()*(x(k)^(-)); ed; ed; %eroarea globală E=(y-y_aprox)*(y-y_aprox)';%echvalet cu E=(y-y_aprox).^2 %geerarea vectorlor de valor petru o evetuală reprezetare grafcă xx=m(x):(max(x)-m(x))/200:max(x); for k=:legth(xx), yy(k)=0; for :m, yy(k)=yy(k)+coef()*(xx(k)^(-)); ed; ed; Observațe: Dacă se doreşte obţerea coefceţlor de regrese î orde descrescătoare a puterlor varable (ceea ce corespude maere Matlab de returare a rezultatelor de acest tp), atuc se poate folos fucţa Matlab flplr (egl. flp left-rght, ogldre stâga-dreapta; alte fucţ d aceeaş clasă sut flpud egl. flp up-dow ş rot90). Avatajul aceste varate este că y_aprox ş yy se pot calcula ma elegat, ş aume apelâd o altă fucţe d bblotecă, polyval, de calcul al valor uu polom dat pr vectorul coefceţlor î orde descrescătoare a puterlor varable îtr-o valoare dată (a se vedea ş.3.3.8, exercţul propus 4). Ultmele tre blocur de comez d fucţa cmmp_ge se rescru sub forma: 2

coef=v(s)*t'; coef=flplr(coef'); %calculul valorlor aproxmate ale varable depedete for k=:, y_aprox(k)=polyval(coef,x(k)); ed; %eroarea globală E=(y-y_aprox)*(y-y_aprox)'; %geerarea vectorlor de valor petru o evetuală reprezetare grafcă xx=m(x):(max(x)-m(x))/200:max(x); for k=:legth(xx), yy(k)=polyval(coef,xx(k)); ed; O problemă atcpată î paragrafele ateroare costă î modul cum se stableşte gradul polomulu de regrese, altfel spus umărul parametrlor de regrese, m. Avâd î vedere codţa m, î prmă fază se poate cosdera m=, adcă efectuarea ue regres de grad maxm adms de seturle respectve de date. Este posbl ca această regrese să u fe ecesară, caz î care uul sau ma mulţ coefceţ polomal, îcepâd cu cel de rag maxm, m-, să fe aproape ul sau, î orce caz, mult ma mc î valoare absolută decât celalţ. Î acest caz, o a doua teraţe de regrese se va face cu gradul egal cu ragul prmulu coefcet eul (î orde descrescătoare a puterlor varable). Exemplul 6: Petru seturle de date x=[3 3.3 3.7 3.9 4.7 4.8 4.9 5 5.25] ş y=[3 5 0 4 43 49 56 63 84] (de lugme =9) se efectuează îtâ regresa de gradul -, adcă de gradul 8: [coef,e]=cmmp_ge(x,y,legth(x)-) Rezultatul apelulu de ma sus costă î prmul râd î afşarea uu mesaj de avertzare asupra aproper de sgulartate a matrce sstemulu (a căre versă se calculează), umărul e de codţoare calculat î RCOND fd mc (comparabl cu epslo maşă). Iterpretorul avertzează astfel că este posbl ca acurateţea rezultatelor să u fe buă. Warg: Matrx s close to sgular or badly scaled. Results may be accurate. RCOND = 7.58432e-024 Setărle mplcte d medul Matlab prevăd ca avertzărle de acest ge să fe gorate de către terpretor ş să u oprească execuţa programelor; astfel, după mesajul de eroare se afşează rezultatele de ma jos: coef =.0e+004 * Colums through 7-4.2489 6.775-4.4086.4564-0.2303 0.0038 0.0044 Colums 8 through 9-0.0006 0.0000 E = 86.4324 Se observă că ultmele două elemete, de rag 7 ş 8, d vectorul coef sut mult ma 3

mc decât restul coefceţlor. Dec procedura de regrese se poate repeta cu gradul polomulu de regrese mcşorat cu două utăţ (gradul 6): [coef,e]=cmmp_ge(x,y,legth(x)-3) Rezultatele sut d ou îsoţte de acelaş mesaj de eroare, dar eroarea globală are o valoare mult ma mcă: Warg: Matrx s close to sgular or badly scaled. Results may be accurate. RCOND =.28806e-09 coef =.0e+004 * 0.888 -.2970 0.7868-0.259 0.0449-0.0042 0.0002 E = 0.257 Dacă se scade î cotuare gradul polomulu de regrese la 5: [coef,e]=cmmp_ge(x,y,legth(x)-4) se observă că valoarea eror globale creşte (rămââd de acelaş ord de mărme), dar u se ma afşează mesajul de eroare: coef = 7.9262-7.4289-3.7338 3.09-0.767 0.0888 E = 0.3205 Dacă velul maxm admsbl al eror de aproxmare o permte, scăderea gradulu regrese poate cotua î aceeş maeră, ţâd cot că ragul maxm este ocupat de u coefcet cu u ord de mărme ma mc î modul decât celalţ (0.0888). Dacă u se cotuă scăderea gradulu, se pue problema care dtre ultmele două rezultate se reţe drept rezultat fal. Î geeral, trebue evtate rezultatele de îcredere dmuată (îsoţte de avertzăr de geul celor de ma sus); î cazul de faţă, ultmul rezultat ar trebu ales, cu atât ma mult cu cât eroarea de aproxmare faţă de cazul medat superor u este cu mult ma mare. Ca atare, seturle de date x ş y se găsesc aproxmatv î depedeţa: 5 4 3 2 y y = 0.0888x 0.767x + 3.09x 3.7338x 7.4289x + 7.9262 Î bbloteca Matlab exstă o fucţe care mplemetează cazul geeral de regrese polomală, ea se umeşte polyft. Această fucţe prmeşte ca date de trare cele două setur de date, precum ş gradul polomulu de regrese (fucţa cmmp_ge, scrsă ma sus, prmeşte umărul coefceţlor polomal) ş returează coefceţ polomulu î orde descrescătoare a puterlor varable (î tmp ce cmmp_ge î returează î orde crescătoare). De pldă, petru aceleaş setur de date x=[2 4 5 7 8] ş y=[.4 2.3.2 0.4], petru ca cele două fucţ să calculeze acelaş polom, de exemplu de gradul 3, ele se vor apela cu: [coef]=polyft(x,y,4); [coef2]=cmmp_ge(x,y,5); ş vor furza rezultatele coef=[0.0406-0.8733 6.4739-9.0567 9.5556] ş coef2=[9.5556-9.0567 6.4739-0.8733 0.0406], care exprmă acelaş polom 4 3 2 de regrese, 0.0406 x - 0.8733 x + 6.4739 x -9.0567 x + 9.5556. 4