36
Prednáška č. 10 Numerické metódy matematiky I Aproximácie funkcií – metóda najmenších štvorcov

Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

  • Upload
    vobao

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Prednáška č. 10

Numerické metódy matematiky I

Aproximácie funkcií –metóda najmenších štvorcov

Page 2: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Prednáška č. 10

OBSAH

1. Aproximácia a interpolácia2. Metóda najmenších štvorcov

• bázové funkcie• návrhová matica• rezíduá• vážená metóda najmenších štvorcov• normálna sústava rovníc• Gramova matica• Príklady• Riešenie preurčených sústav rovníc

3. Opakovanie4. Literatúra

Page 3: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Aproximácia a interpolácia

Aproximovať funkciu f (x) znamená

nahradiť ju funkciou φ(x),ktorá je k funkcii f (x) v istom zmysle blízka.

Budeme sa zoberať dvomi základnými typmi aproximáciea to interpoláciou a metódou najmenších štvorcov.

Definícia: Interpolácia je taká aproximácia,

pri ktorej φ(x) nadobúda v zadaných bodoch xi

predpísané hodnoty yi=f (xi) .

Niekedy navyše žiadame,

aby funkcie f a φ mali v bodoch xitiež rovnaké derivácie.

Page 4: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Aproximácia a interpolácia

Aproximovať funkciu f (x) znamená

nahradiť ju funkciou φ(x),ktorá je k funkcii f (x) v istom zmysle blízka.

Budeme sa zoberať dvomi základnými typmi aproximáciea to interpoláciou a metódou najmenších štvorcov.

Definícia: Metóda najmenších štvorcov je taká aproximácia,

pri ktorej φ(x) „prekladáme“

medzi zadanými bodmi [xi,yi] tak,

aby „vzdialenosť“ funkcií f a φ bola

v istom zmysle minimálna.Je pri tom charakteristické,

že funkcia φ(x) bodmi [xi,yi] neprechádza.

Page 5: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda najmenších štvorcov

označuje postup pre približné riešenie preurčených rovnícalebo nepresne zadaných sústav rovníc

založený na minimalizácii kvadrátov ich rezíduí

Prekladanie dát krivkami je významná skupina úloh,ktoré je možné riešiť metódou najmenších štvorcov(v anglicky písanej literatúre sa pre takéto aplikácie

používa označenie curve fitting)

Popíšme si, o čo v takýchto úlohách ide.

Page 6: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda najmenších štvorcov

Nech t je nezávislá premenná, napríklad čas,a y(t) je neznáma funkcia premennej t,

ktorú chceme aproximovať.

Predpokladajme, že sme vykonali m pozorovaní,t.j. hodnoty y boli namerané pre určité hodnoty t:

Naším zámerom je modelovať y(t) lineárnou kombináciou n bázových funkcií

pre nejaké :

Bázové funkcie navrhujeme podľa očakávaného priebehu neznámej funkcie y(t),

určiť sa majú parametre .

Funkcia sa v štatistike nazývalineárna regresná funkcia.

Page 7: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Návrhová matica

Návrhová matica A modelu je obdĺžniková matica,ktorá má m riadkov a n stĺpcov:

kde je i-tý stĺpec A.

Maticová formulácia modelu je

kde sú namerané dáta a

je vektor neznámych parametrov.

Page 8: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda najmenších štvorcov

Princíp metódy najmenších štvorcov

Page 9: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda najmenších štvorcov

Rezíduá sú rozdiely medzi pozorovaniami a modelom:

kde .

V maticovom zápise

Parametre xi chceme určiť tak,aby rezídua boli čo najmenšie.

Metódu najmenších štvorcov dostaneme,keď minimalizujeme súčet štvorcov rezíduí:

Page 10: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda najmenších štvorcov

Niekedy sa používa tiež vážená metóda najmenších štvorcov:

keď sú niektoré pozorovania dôležitejšie alebo presnejšie ako ostatné,

potom môžeme prisúdiť jednotlivým pozorovaniam

rôzne váhy aminimalizovať súčet vážených štvorcov

Ak je napríklad chyba i-tého pozorovaniapribližne rovná ei, zvolíme .

Je dobré si uvedomiť,že každú metódu pre riešenie neváženej MNŠje možné použiť pre riešenie váženej metódy:

stačí vynásobiť yi a i-tý riadok A súčiniteľom .

Page 11: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda najmenších štvorcov

Približné riešenie preurčenej sústavy rovníc A x = y(t.j. rovníc je viac ako neznámych),

ktoré minimalizuje veľkosť rezídua r = y – Ax, sa nazýva

riešenie sústavy rovníc metódou najmenších štvorcov.

Page 12: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Normálna sústava rovníc

Riešenie minimalizačnej úlohy

musí spĺňať nutnú podmienku pre extrém:

Keď vykonáme naznačené derivovanie, dostaneme

a odtiaľ

čo možno maticovo zapísať ako .

Page 13: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Normálna sústava rovníc

Sústava lineárnych rovníc je známa akonormálna sústava rovníc.

Ak sú stĺpce matice A lineárne nezávislé,je matica pozitívne definitná

a riešenie x* normálnej sústavy rovníc je jediné riešenie minimalizačnej úlohy,

t.j. platí

Page 14: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Normálna sústava rovníc

Ak vyjadríme normálnu sústavu rovníc pomocou vektorov dostaneme

kde

sú skalárne súčiny vektorov .

Matica G tejto sústavy sa nazývaGramova matica sústavy vektorov .

Page 15: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Normálna sústava rovníc

Pri návrhu aproximácie Rn(t) by sme mali vyberať funkcie tak,

aby stĺpce matice A boli lineárne nezávislé.

V opačnom prípade,ako sa dá ukázať,

má minimalizačná úloha nekonečne veľa riešení,čo je zrejme nežiadúce.

Page 16: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Normálna sústava rovníc

Dva významné špeciálne prípady,pre ktoré sú stĺpce matice A lineárne nezávislé:

1. je polynóm stupňa j-1, napr.

2. pre n=2N+1, kde N je celé nezáporné číslo, volíme

a „časy pozorovania“ ti vyberáme z intervalu kde c je ľubovoľné číslo.

Aproximácia je v prípade 1) algebraický polynóm av prípade 2) trigonometrický polynóm.

Page 17: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Normálna sústava rovníc

Ak je m=n a matica A je regulárna,potom x*=A-1y a r=0,

t.j. .

Pokiaľ sú však namerané dáta yi zaťažené chybami,potom nie je účelné,

aby funkcia tieto chyby kopírovala.

Naopak, aby vierohodne vystihovala(rekonštruovala) neznámu funkciu y(t),

je žiaduce,aby namerané dáta vyrovnávala (vyhladzovala).

To je ale možné len vtedy,ak počet pozorovaní m je výrazne väčší

ako počet n návrhových parametrov,t.j. pre .

Page 18: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Pre dáta predpísané tabuľkou

určíme aproximáciu .metódou najmenších štvorcov.

Zrejme .

Normálna sústava rovníc má tvar

Page 19: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Pre dáta predpísané tabuľkou

určíme aproximáciu .metódou najmenších štvorcov.

Ak vypočítame príslušné sumy, dostaneme sústavu

ktorej riešenie je .

Hľadaná aproximácia je

Page 20: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Dáta predpísané tabuľkou

postupne preložíme polynómami prvého, druhého a tretieho stupňa.

Za bázové funkcie volíme

Page 21: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Polynóm prvého stupňa

Pre dostanemenormálnu sústavu rovníc

ktorá má riešenie

Aproximácia lineárnym polynómom teda nie je vhodná,lebo je málo presná.

Page 22: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Polynóm druhého stupňa

Normálna sústava rovníc

má riešenie

Veľkosť rezídua sa zmenšila, ale je stále väčšiaako v predchádzajúcom príklade.

Page 23: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Polynóm tretieho stupňa

Normálna sústava rovníc

má riešenie

Page 24: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Príklad

Pokiaľ by sme stupeň polynómu ďalej zvyšovali,zistili by sme, že

polynóm šiestho stupňa prechádza všetkým bodmi ,takže je to interpolačný polynóm.

Všimnite si prvky Gramových matíc:s rastúcim rádom najväčší koeficient prudko rastie.

Spolu s ním prudko rastie aj číslo podmienenosti Gramových matíc.

Tabuľka udáva čísla podmienenosti :

Page 25: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Riešenie preurčených sústav rovníc

Normálne rovnice sa na riešenie veľkého systémupreurčených rovníc nehodí,

pretože číslo podmienenosti Gramovej matice jevýrazne vyššie ako číslo podmienenosti

návrhovej matice A, lebo platí

Lepším postupom je napr. singulárny rozklad.

Page 26: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Ak je počet rovníc sústavy M menší ako počet neznámych N,alebo ak M = N ale rovnice sú lineárne závislé,

potom sústava nemá žiadne riešenie alebo

má viac než jedno riešenie.

V druhom prípade priestor riešení tvorípartikulárne riešenie

pripočítané k ľubovoľnej lineárnej kombinácii N - M vektorov.

Úlohu nájsť priestor riešení matice Aje možné riešiť metódou

singulárneho rozkladu matice A.

Metóda singulárneho rozkladu - úvod

Page 27: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Ak je počet rovníc sústavy M väčší ako počet neznámych N,vo všeobecnosti neexistuje vektor riešenia a

sústave rovníc sa hovorí preurčená.

Môžeme ale nájsť najlepšie „kompromisné“ riešenie, ktoré je „najbližšie“ k tomu,

aby vyhovovalo všetkým rovniciam.

Ak „najbližšie“ definujeme v zmysle najmenších štvorcov,t.j. že suma kvadrátu rozdielov

medzi ľavou a pravou stranou rovnice je najmenšia,potom sa preurčený systém redukuje

na (zvyčajne) riešiteľný problém zvaný metóda najmenších štvorcov.

Metóda singulárneho rozkladu - úvod

Page 28: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Redukovaný systém rovníc môžeme zapísať akosystém N x N rovníc

Tieto rovnice voláme normálne rovniceproblému najmenších štvorcov.

Priame riešenie normálnych rovníc nie je vo všeobecnostinajlepším spôsobom hľadania riešenia najmenších štvorcov.

Metóda singulárneho rozkladu - úvod

.T T A A x A b

Page 29: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda singulárneho rozkladu

SVD je založená na nasledujúcej teoréme lineárnej algebry:

Každá matica A typu M x N,

ktorej počet riadkov M je väčší alebo rovný počtu stĺpcov N,

môže byť zapísaná ako súčin

stĺpcovo-ortogonálnej matice U typu M x N,

diagonálnej matice W typu N x Ns kladnými alebo nulovými prvkami (singulárnymi hodnotami)

a transponovanej ortogonálnej matice V typu N x N.

Page 30: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda singulárneho rozkladu

Ortogonálnosť matíc U a V môžeme zapísať nasledovne

Page 31: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda singulárneho rozkladu

SVD dekompozícia môže byť vykonaná aj keď M < N.

V takom prípade singulárne hodnoty wj pre j = M+1, …, Nsú všetky nulové

ako aj odpovedajúce stĺpce matice U.

Existuje viacero algoritmov na SVD,osvedčená je subroutina svdcmp z Numerical Recipes.

Page 32: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda singulárneho rozkladu pre viac rovníc ako neznámych

Ak máme viac rovníc ako neznámychhľadáme riešenie,

v zmysle problému najmenších štvorcov.

Riešime teda sústavu, zapísanú tabuľkovo nasledovne:

Page 33: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Metóda singulárneho rozkladu pre viac rovníc ako neznámych

Po aplikácii SVD na maticu A dostaneme

riešenie v tvare

V tomto prípade nie je zvyčajne nutné nulovať hodnoty wjavšak neobvykle malé hodnoty indikujú, žedáta nie sú citlivé na niektoré parametre.

Page 34: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

QR rozklad

Podobne ako LU rozklad matice,existuje aj tzv. QR rozklad matice

A = Q.Rkde R je horná trojuholníková matica a

Q je ortogonálna matica, teda platíQT.Q = 1.

Riešenie sústavy rovníc nájdeme riešenímR.x = QT.b

QR rozklad vyžaduje asi 2-krát viac operáciíako LU rozklad

(Gramova-Schmidtova ortogonalizácia),ale existujú špeciálne typy rovníc,v ktorých je výhodnejšie ho použiť.

Page 35: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Prednáška č. 10

OBSAH

1. Aproximácia a interpolácia2. Metóda najmenších štvorcov

• bázové funkcie• návrhová matica• rezíduá• vážená metóda najmenších štvorcov• normálna sústava rovníc• Gramova matica• Príklady• Riešenie preurčených sústav rovníc

3. Opakovanie4. Literatúra

Page 36: Prednáška č. 10 - fyzikazeme.sk · Aproximácia a interpolácia. Aproximovať funkciu . f (x) znamená nahradiť ju funkciou φ(x), ktorá je k funkcii f (x) v istom zmysle blízka

Prednáška č. 10

OBSAH

1. Aproximácia a interpolácia2. Metóda najmenších štvorcov

• bázové funkcie• návrhová matica• rezíduá• vážená metóda najmenších štvorcov• normálna sústava rovníc• Gramova matica• Príklady• Riešenie preurčených sústav rovníc

3. Opakovanie4. Literatúra