Legkisebb négyzetek módszere, Spline interpoláció

Hasonló dokumentumok
Polinomok, Lagrange interpoláció

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Gauss elimináció, LU felbontás

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

Konjugált gradiens módszer

MÉSZÁROS JÓZSEFNÉ, NUMERIKUS MÓDSZEREK

Numerikus módszerek 1.

Numerikus integrálás

Lineáris algebra numerikus módszerei

Gauss-Seidel iteráció

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Ipari matematika 2. gyakorlófeladatok

Numerikus Matematika

Numerikus matematika vizsga

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

1 Lebegőpontos számábrázolás

GPK M1 (BME) Interpoláció / 16

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

Numerikus módszerek beugró kérdések

Függvények Megoldások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

rank(a) == rank([a b])

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Matematika III előadás

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Határozatlan integrál (2) First Prev Next Last Go Back Full Screen Close Quit

Eddig csak a polinom x-ben felvett értékét kerestük

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Vektorok, mátrixok, lineáris egyenletrendszerek

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

Egyenletek, egyenlőtlenségek VII.

Line aris f uggv enyilleszt es m arcius 19.

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Nemlineáris egyenletrendszerek megoldása április 15.

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz:

Interpolációs eljárások

Mátrixok 2017 Mátrixok

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Végeselem modellezés alapjai 1. óra

Numerikus módszerek I. zárthelyi dolgozat, 2009/10. I. félév, A. csoport, MEGOLDÁSOK

2 (j) f(x) dx = 1 arcsin(3x 2) + C. (d) A x + Bx + C 5x (2x 2 + 7) + Hx + I. 2 2x F x + G. x

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

5. előadás - Regressziószámítás

Tartalomjegyzék 1 BEVEZETÉS 2

Szélsőérték-számítás

9. gyakorlat Lineáris egyenletrendszerek megoldási módszerei folyt. Néhány kiegészítés a Gauss- és a Gauss Jordan-eliminációhoz

Diszkréten mintavételezett függvények

NUMERIKUS MÓDSZEREK FARAGÓ ISTVÁN HORVÁTH RÓBERT. Ismertet Tartalomjegyzék Pályázati támogatás Gondozó

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

Newton módszer. az F(x) = 0 egyenlet x* gyökének elég jó közelítése. Húzzuk meg az F(x) függvény (x 0. )) pontbeli érintőjét, és jelölje x 1

Egy általános iskolai feladat egyetemi megvilágításban

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

1. Gauss-eloszlás, természetes szórás

Példa: Tartó lehajlásfüggvényének meghatározása végeselemes módszer segítségével

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

1. Interpoláció. Egyértelműség Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

Másodfokú egyenletek, egyenlőtlenségek

A CSOPORT 4 PONTOS: 1. A

2) = 0 ahol x 1 és x 2 az ax 2 + bx + c = 0 ( a,b, c R és a 0 )

Lineáris algebra. (közgazdászoknak)

A mérési eredmény megadása

Polinomok maradékos osztása

Differenciálegyenletek megoldása próbafüggvény-módszerrel

Bevezetés az algebrába 2

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

Lineáris algebra Gyakorló feladatok

Normák, kondíciószám

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Másodfokú egyenletek, egyenlőtlenségek

Baran Ágnes. Gyakorlat Numerikus matematika. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 79

2012. október 2 és 4. Dr. Vincze Szilvia

A parciális törtekre bontás?

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

1. Görbe illesztés a legkissebb négyzetek módszerével

Matematika 10 Másodfokú egyenletek. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Magasabbfokú egyenletek

1. zárthelyi,

y + a y + b y = r(x),

Gépi tanulás a gyakorlatban. Lineáris regresszió

Átírás:

Közelítő és szimbolikus számítások 10. gyakorlat Legkisebb négyzetek módszere, Spline interpoláció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján

1. Legkisebb négyzetek módszere Az interpolációs feladatoknál (pl. a Lagrange interpolációnál) abból indultunk ki, hogy függvények egy F halmazából (pl. a Lagrange esetében F a polinomok halmaza volt) választottunk egy olyan f függvényt, mely pontosan illeszkedett a megadott (x i, y i ) alappontokra (azaz az összes i-re f(x i ) = y i kellett legyen). Ez abban az esetben, ha az F függvények terében kevesebb a szabad paraméter, mint amennyi alappontunk van, nem mindig lehetséges: polinomok esetében ez a probléma nem állt fenn, n alappont esetében mindig találhatunk egy legfeljebb n 1-edfokú polinomot, mely illeszkedik az összes alappontra, de pl. ha korlátozzuk F-et (pl. konkrétan egy másodfokú polinomot akarunk illeszteni), akkor már előfordulhat (ilyenkor akár már négy alappont esetében is), hogy az egész F térben nincs egyetlen függvény sem, mely pontosan illeszkedne. Ezt mondhatjuk úgy is, hogy az illesztési alapproblémánk túlhatározott. Annak, hogy nem akarunk feltétlenül pontos illesztést keresni, csak egy,,közelítőt, az is lehet az oka, hogy az input,,zajjal terhelt, pl. mérési hibák miatt, ilyenkor eleve interpolációnál is indokolt megengedni valamekkora hibát az illesztésben. Optimalizálási problémaként felírva egy olyan f F függvényt keresünk, melyre a hibák négyzetösszege, azaz a n (f(x i ) y i ) 2 kifejezés értéke minimális. Felmerülhet, hogy miért épp a négyzetösszeget és nem mondjuk egyszerűen a távolságok összegét akarjuk minimalizálni; erre az egy válasz, hogy ha pl. a hipotézisünk egy lineáris összefüggés (azaz feltesszük, hogy f(a 1,..., a n ) = a i x i valamilyen x i együtthatókra, és a F függvényterünk az ilyen alakú függvényekből áll), akkor az Ax = b egyenletben adott A-hoz és b-hez keressük az x-et, ahol is b-t olyan mérési hiba terheli, hogy a,,valódi b vektor helyett minden b i érték helyén egy y i = b i + ɛ i,,mért érték szerepel (az ɛ i az i. méréshez adódott zaj, melynek értékét persze nem ismerjük), és még az is igaz, hogy ezek a zajok (az ɛ értékek) függetlenek, azonos szórásúak és várható értékük 0, akkor a Gauss-Markov tétel szerint a legjobb torzítatlan becslését az x-nek úgy kapjuk, hogy az Ax y különbségvektor kettes normáját, vagyis Ax y 2 -t minimalizáljuk. Emlékezzünk vissza: ez a különbségvektor koordinátáinak négyzetösszegének a négyzetgyöke. Mivel a gyökvonás egy monoton függvény, a kettes normának pontosan ugyanott lesz a minimumhelye, mint a négyzetösszegnek, tehát a legjobb x-et pontosan a legkisebb négyzetek módszerével kapjuk: olyan x-et keresünk, melyre Ax y koordinátánkénti négyzetösszege a minimális, ebben a vektorban pedig pont a hibák szerepelnek. 1 1 Egyébként azért is a hibák négyzetösszegét szoktuk gyakorlatilag mindenféle függvénynél minimalizálni, nem csak a lineáris esetben, mert sokszor kényelmes vele számolni: a minimumhely meghatározásához, ha a deriváltat nullával tesszük egyenlővé, akkor elsőfokú egyenletet kapunk. 1

1.1 Lineáris illesztés Ha ténylegesen (többdimenziós) lineáris illesztést szeretnénk végezni a legkisebb négyzetek módszerével, azaz adott A-hoz és y-hoz akarjuk kiszámítani azt az x-et, mely minimalizálja Ax y 2 -t, ahhoz a következő tételt tudjuk használni: Tétel 1.1. Tegyük fel, hogy A C m n, b C m és A H A nem szinguláris. Ekkor b Ax 2 a minimumát abban az x vektorban veszi fel, amelyikre az A H Ax = A H b normálegyenlet teljesül. Valós számok esetén (ami egyébként gyakorlatban általában szerepel) persze a konjugált transzponálást (A H ) átveszi a hagyományos transzponálás (A T ). Továbbá a fenti egyenletrendszerre teljesül az, hogy az A H A szimmetrikus és pozitív szemidefinit, illetve akár pozitív definit, ha az A a rangja n. Ez a két feltétel pont a Cholesky felbontás alkalmazását teszi lehetővé, amivel így megoldható az egyenletrendszer és meg is kapjuk az adatpontokat legjobban közelítő (legkisebb négyzetes értelemben) hipersíkot. A megoldás lépései tehát (ami teljesen megegyezik a Cholesky felbontásnál tanultakkal), amennyiben adott egy Ax = b formában megadott adathalmaz: 1. Szorozzuk be az egyenletet A H -val, így kialakul az A H Ax = A H b forma. 2. Adjuk meg az A H A = LL H Cholesky felbontást, így LL H x = A H b lesz. 3. Az L H x = z helyettesítéssel oldjuk meg az Lz = A H b egyenletet z-re. 4. Oljuk meg az L H x = z egyenletet x -ra. 1.2 Polinomillesztés direkt és gradiens módszerrel Ha az F függvényterünkben n-edfokú polinomok vannak, és m adatpontunk van (ahol m > n, tehát a feladat túlhatározott), az (x 1, y 1 ),..., (x m, y m ) párok, akkor a legkisebb négyzetek módszere szerint egy olyan p Θ (x) = Θ 0 x n + Θ 1 x n 1 +... + Θ n 1 x + Θ n polinomot keresünk (tehát az ismeretlen együtthatóvektorunk most a Θ = (Θ 0,..., Θ n ) vektor), mely minimalizálja a J(Θ) = m (p Θ (x i ) y i ) 2 2

négyzetes hibát. Ennek a függvénynek a Θ j, j = 0,..., n szerinti parciális deriváltját a következőképp kapjuk meg: Θ j J(Θ) = m 2(p Θ (x i ) y i )x n j i, hiszen a p Θ (x i ) = Θ 0 x n i + Θ 1 x n 1 i +... + Θ n 1 x i + Θ n kifejezés Θ j szerinti deriváltja épp x n j i. Mivel így megvan minden j-re a Θ j szerinti deriváltunk, két lehetőség áll előttünk: 1. Felírhatjuk, hogy a,,derivált értéke 0, azaz a fenti gradiens vektort a nullvektorral tehetjük egyenlővé. Ekkor Θ-ra rendezve egy AΘ = w alakú lineáris egyenletrendszert kapunk, amit az 1.1. pontban látott lineáris illesztő módszerrel megoldhatunk. Ezt csak akkor szoktuk használni, amikor kevés az adatpontok száma, részben a nagy műveletigény miatt, részben pedig azért, mert ha A rosszul kondicionált, akkor numerikusan instabil is lesz a kapott eredmény. 2. Ehelyett gradiens módszerrel, optimalizálással is megkaphatjuk a megoldást: kiindulunk egy Θ vektorból, majd iterációval a fenti képlettel kiszámított gradiensnek egy α-szorosát kivonjuk (mert minimalizálunk) minden egyes lépésben, vagyis: egy,,alkalmas α lépésközzel. Θ = Θ α Θ J(Θ) 2. Spline interpoláció Sajnos az a probléma az korábban vett Lagrange interpolációval, hogy az interpolációs polinom fokszáma nő az alappontok számával, amelynek az a következménye, hogy bizonyos esetekben indokolatlanul nagy hullámzások jelennek meg a polinom grafikus képében, két egymást követő pont között. Ez annak tudható be, hogy az eredeti alappontokat szolgáltató f(x) függvény nem polinomiális, és egy közelítő polinom csak úgy tud eleget tenni a feltételeknek, hogy közben lokális minimum és maximumhelyeken halad át. Erre nyújt megoldást a spline interpoláció. A lényege az, hogy kicsi fokszámú polinomokból rakjuk össze a közelítő polinomot, mégpedig úgy, hogy először keresünk egy polinomot az első két alappontra, majd a második és a harmadikra (és így tovább), de mindezt úgy tesszük, hogy közben figyelünk az illeszkedési pontokban a derivált értékekre (ezzel biztosítva a görbék tökéletes illeszkedését, mivel a spline-ok akkor illeszkednek szépen, ha az alappontokban nem csak az első, hanem a második derivált értéke is megegyezik). Tehát a kis fokszámú polinomok mindig az egymást követő két pont között értelmezettek. 3

Létezik elsőfokú, másodfokú, harmadfokú és néhány magasabb fokú spline is, de gyakorlatban a harmadfokú (cubic) splineok a legelterjedtebbek, hiszen amikor már megvan egy szakaszon a közelítés, és oda akarunk csatlakoztatni egy következő spline-t, akkor van két adatponton érték, illetve a csatlakozási ponton az első és a második derivált. Ez négy feltétel, amire egy harmadfokú polinomot tudunk illeszteni, (ahogy Lagrange-nál is, négy szabadsági fok harmadfokot ad), ezért használunk épp harmadfokú spline-t. 3. Interpoláció Matlabban Alapvetően az interp1 utasítást használjuk Matlabban az interpolációra. Általános alakja az y0=interp1(x,y,x0), amely illeszt az x és y által (szigorúan növekvő sorrendben) megadott alappontokra, majd kiértékeli x0- ban. Van egy általános negyedik paramétere is, ami az interpoláció típusa lehet ('cubic','linear','nearest','spline'). A polyfit utasítást a legkisebb négyzetek módszere szerinti interpolációra használjuk. Általános alakja a polyfit(x,y,n), ahol x és y az alappontok, n pedig az interpoláló polinom foka. Legyen például egy A mátrixunk, ami az alappontokat tartalmazza (első oszlop az x, második az y koordinátákat). Ekkor a következőképp tudjuk az interpolációt implementálni: >> A = [1 1; 3 2; 4 4; 5 6; 8 8]; >> p = polyfit(a(:,1),a(:,2),1); >> plot(a(:,1),a(:,2),'r*',0:10,polyval(p,0:10)) A spline interpoláció esetében ez már kicsit bonyolultabb: >> A = [1 1; 3 2; 4 4; 5 6; 8 8]; >> s = spline(a(:,1),a(:,2)) >> xx = linspace(0,10,101); >> plot(a(:,1),a(:,2),'r*',xx,ppval(s,xx),' '); 4