Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.

Slides:



Advertisements
Podobné prezentace
Minimalizace součtu čtverců - úvod
Advertisements

Statistika.
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Soustava lineárních rovnic o více neznámých I.
Mgr. Andrea Cahelová Gymnázium J. Kainara, Hlučín
LOGISTICKÉ SYSTÉMY 6/14.
Rovnice roviny Normálový tvar rovnice roviny
PA081 Programování numerických výpočtů
Vzorová písemka Poznámka: Bonusové příklady jsou nepovinné, lze za ně ale získat body navíc. (2 body) Definujte pojem gradient. Vypočítejte gradient funkce.
Programování numerických výpočtů - návrh písemky.
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů
PA081 Programování numerických výpočtů Přednáška 4.
Lineární regresní analýza Úvod od problému
ZÁKLADY EKONOMETRIE 2. cvičení KLRM
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Přednáška 12 Diferenciální rovnice
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Lineární programování Simplexový algoritmus
Lineární algebra.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
METODA KONEČNÝCH PRVKŮ
Matice.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Lineární regrese.
Regrese Aproximace metodou nejmenších čtverců
Funkce více proměnných.
Lineární zobrazení.
Jedno-indexový model a určení podílů cenných papírů v portfoliu
ANALÝZA KONSTRUKCÍ 8. přednáška.
Diferenciální počet funkcí více proměnných
Derivace funkce. Velikost populace v čase t 0 je N (t 0 ). Velikost populace v čase t  t 0 je N ( t ). Přírůstek populace za jednotku času je [N(t) –
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Rozpoznávání v řetězcích
Princip maximální entropie
KIV/PRJ Speciální předmět pro zvídavé a hravé.
Optimalizace bez omezení (unconstraint)
Vektorové prostory.
Fitování Konstrukce křivky (funkce), která co nejlépe odpovídá naměřeným hodnotám. - může podléhat dodatečným podmínkám Lineární vs. nelineární regrese.
Teorie portfolia Kvantifikace množiny efektivních portfolií.
2. Vybrané základní pojmy matematické statistiky
Lineární programování - charakteristika krajních bodů
Jednoduchý lineární regresní model Tomáš Cahlík 2. týden
Matice přechodu.
V experimentu měníme hodnotu jedné nebo několika veličin x i a studujeme závislost veličiny y. - např. měníme, ostatní x i bereme jako parametry ( , ,
Chyby při matematickém modelování aneb co se nepovedlo Petr Beremlijski Katedra aplikovaná matematiky Fakulta elektrotechniky a informatiky VŠB - Technická.
Diference a diferenciál Způsoby vyčíslování termodynamických dat.
Přenos nejistoty Náhodná veličina y, která je funkcí náhodných proměnných xi: xi se řídí rozděleními pi(xi) → můžeme najít jejich střední hodnoty mi a.
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
EMM21 Ekonomicko-matematické metody 2 Prof. RNDr. Jaroslav Ramík,CSc.
Soustavy lineárních rovnic Matematika 9. ročník Creation IP&RK.
MATEMATIKA PRO CHEMIKY II. SYLABUS PŘEDMĚTU Opakování a rozšíření znalostí Reálné funkce a vlastnosti funkcí jedné a dvou proměnných Spojitost a limita.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
A. Soustavy lineárních rovnic. y = 2x + 5 2x – y = -5 a 1 x 1 + a 2 x 2 = b a 1 = 2 a 2 = -1 b = - 5 x + y = 5 3x + 3y = 18 x + y = 5 3x + 3y = 15 x +
Interpolace funkčních závislostí
ZAL – 6. cvičení 2016.
Kružnice Vypracoval: Mgr. Lukáš Bičík
ANALÝZA A KLASIFIKACE DAT
1 Lineární (vektorová) algebra
LINEÁRNÍ FUNKCE II. Prvních pět úloh zpracovány v programu GeoGebra:
4. Metoda nejmenších čtverců
ANALÝZA A KLASIFIKACE DAT
Interpolace funkčních závislostí
Soustavy lineárních rovnic
ZAL – 4. cvičení 2016.
SPEKTRÁLNÍ ANALÝZA ČASOVÝCH ŘAD
ANALÝZA A KLASIFIKACE DAT
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární úlohy Řešení soustav lineárních rovnic Metoda nejmenších čtverců pro lineární úlohy Sumace obecné a s korekcí Numerické výpočty v C a C++ Optimalizace výrazů, optimalizace při překladu

Písemka - termíny Poslední přednáška bude za týden (9.5.) Do 16.5. dodám na Internet a k Marečkovi všechny materiály + vzorovou písemku + opravím zbylé DCV Vypsala jsem tyto termíny: 24.5. v 16:30 7.6. v 16:30 14.6. v 16:30 Písemka bude trvat 2 hodiny, je povolena kalkulačka

Minimalizace součtu čtverců - shrnutí Optimalizuje teoretický model tak, aby co nejvíce odpovídal naměřeným datům. => Minimalizuje odchylku modelu od naměřených hodnot. Využití: Všude, kde máme co do činění s analýzou nějakého přírodního nebo technického systému.

Minimalizace součtu čtverců - shrnutí II Máme naměřená data: (ai, bi), i = 1, ..., m kde: ai Î Rk bod měření bi hodnota, naměřená v bodě ai Chceme vytvořit matematický model M: Rk+n -> R, který je závislý na n volných parametrech x1, x2, ..., xn a pro který požadujeme, aby: M(ai, x) » bi i = 1, ..., m => Musíme z naměřených hodnot dopočítat hodnoty parametrů JAK?: Pomocí minimalizace součtu čtverců

Lineární úloha nejmenších čtverců - shrnutí Model M(ai, x) je lineární vzhledem k hledaným parametrům a lze tedy zapsat takto: M(ai, x) = f1(ai).x1 + ... + fn(ai).xn  bi kde: i = 1, ..., m m je počet naměřených bodů (m ≥ n) f1, ..., fn jsou lineární funkce Pro odchylku modelu od reálného výsledku měření platí: => ri(x) = M(ai, x) - bi = f1(ai).x1 + ... + fn(ai).xn - bi Hledáme takové x, aby suma čtverců odchylek ri(xi) byla minimální:

Lineární úloha nejmenších čtverců - shrnutí II Metody řešení problému: Využití minimalizace Využití matice lineárních kombinací Řešení rovnice ATAx = ATb Vypočítat x přímo z této rovnice. Využít Choleského faktorizaci. Využít QR faktorizaci Využít SVD (singular value decomposition)

Řešení rovnice ATAx = ATb - využití Choleského faktorizace - obecně Pokud je matice M pozitivně definitní, pak pro ni může být vytvořena matice R tak, aby platilo: M = RT.R přičemž matice R je horní trojúhelníková matice. Proces vytvoření matice R se nazývá Choleského faktorizace matice M.

Řešení rovnice ATAx = ATb - využití Choleského faktorizace – příklad 1 Proveďte Choleského faktorizaci matice M: Řešení: => m11 = r112 => r11 = 5 => m21 = r11.r21 => r21 = m21/r11 = 15/5 = 3 …

Řešení rovnice ATAx = ATb - využití Choleského faktorizace – obecně II Algoritmus: Vypočítej matice C a c: C = AT.A; c = AT.b Poznámka: Matice A obsahuje 1 sloupec navíc (= první sloupec, tvořený čísly 1). Najdi Cholského faktorizaci matice C: C = RT.R Získej x řešením rovnic: RT.y = c (odtud získej y) Rx = y (odtud získej x)

Řešení rovnice ATAx = ATb - využití Choleského faktorizace – příklad 2 Měřením jsme získali 3 body: (2, 0, -1); (2, 1,-2) a (1, -1, 1) (m = 3) Chceme vytvořit model: M(si, (g, h, e)) = g.si1 + h.si2 + e  Di Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a Chol. fakt.:

Řešení rovnice ATAx = ATb - využití Choleského faktorizace – příklad 2 (2) Měřením jsme získali 3 body: (2, 0, -1); (2, 1,-2) a (1, -1, 1) (m = 3) Chceme vytvořit model: M(si, (g, h, e)) = g.si1 + h.si2 + e  Di Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a Chol. fakt.: => h = -1; g = -1; e = 1 => f(si1, si2) = -si1 - si2 + 1

Řešení rovnice ATAx = ATb - využití Choleského faktorizace – příklad 2 (2) Měřením jsme získali 3 body: (2, 0, -1); (2, 1,-2) a (1, -1, 1) (m = 3) Chceme vytvořit model: M(si, (g, h, e)) = g.si1 + h.si2 + e  Di Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a Chol. fakt.:

Řešení rovnice ATAx = ATb - využití Choleského faktorizace – zhodnocení Výhoda: Nižší časová složitost než u výpočtu přímo z rovnice (viz d.cv.) Nevýhody: Algoritmus není příliš numericky stabilní: float(ATA) ≠ (ATA) hodnota může být velká, pokud je velké x* přesné řešení, odhad navíc nelze určit, jak přesné je řešení

Domácí úkol Určete (+zdůvodněte) časovou složitost řešení úlohy nejmenších čtverců pro metodu: a) Využití matice lineárních kombinací (to máme už od minule) b) Přímé řešení rovnice ATAx = ATb c) Řešení rovnice ATAx = ATb pomocí Choleského faktorizace Snažte se určit složitost co nejpřesněji (vzhledem k m a n) Do 16.5.2005 Každá část 2%

Řešení rovnice ATAx = ATb - využití QR faktorizace - obecně Pokud má matice M  Rm x n, kde m ≥ n, hodnost n, pak pro ni mohou být vytvořeny matice R a Q tak, aby platilo: M = Q.R kde: R  Rn x n je horní trojúhelníková matice Q  Rm x n je ortogonální matice

Řešení rovnice ATAx = ATb - využití QR faktorizace – obecně 2 Algoritmus: Vypočítej matice Q a R: A = Q.R Vypočítej d: d = QT.b Získej x řešením rovnice: Rx = d

Řešení rovnice ATAx = ATb - využití QR faktorizace – příklad Měřením jsme získali 3 body: (3, -6, -1); (4, -8,7) a (0, 1, 2) (m = 3) Chceme vytvořit model: M(ti, (e1, e2, e3)) = e1.ti1 + e2.ti2 + e3  Vi Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a QR fakt.:

Řešení rovnice ATAx = ATb - využití QR faktorizace – příklad (2) Měřením jsme získali 3 body: (3, -6, -1); (4, -8,7) a (0, 1, 2) (m = 3) Chceme vytvořit model: M(ti, (e1, e2, e3)) = e1.ti1 + e2.ti2 + e3  Vi Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a QR fakt.:

Řešení rovnice ATAx = ATb - využití QR faktorizace – příklad (2) Měřením jsme získali 3 body: (3, -6, -1); (4, -8,7) a (0, 1, 2) (m = 3) Chceme vytvořit model: M(ti, (e1, e2, e3)) = e1.ti1 + e2.ti2 + e3  Vi Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a QR fakt.:

Řešení rovnice ATAx = ATb - využití QR faktorizace – zhodnocení Výhody: Časová složitost nižší než u výpočtu přímo z rovnice (viz d.cv.) Větší numerická stabilita než u Choleského faktorizace. Nevýhody: Pomalejší než u Choleského faktorizace. Složitější implementace.

Řešení rovnice ATAx = ATb - využití SVD (single value decomposition) - obecně Nechť M  Rm x n je matice řádu n, pak existují ortogonální matice U  Rm x n a V  Rm x n tak, že platí: M = U..VT kde 1 ≥ 2 ≥ … r > 0. Tento rozklad je určen jednoznačně.

Řešení rovnice ATAx = ATb - využití SVD (single value decomposition) – obecně 2 Pro x potom platí následující: kde:

Řešení rovnice ATAx = ATb - využití SVD (single value decomposition) – zhodnocení Výhody: Časová složitost nižší než u výpočtu přímo z rovnice (viz d.cv.) Větší numerická stabilita než u Choleského faktorizace. Nevýhody: Složitější implementace.

Sumace - obecně Úkol: Vypočítat hodnotu výrazu Postup: Rekursivní sumace Párová sumace Sumace s vkládáním

Sumace - rekursivní sumace Vstup: posloupnost čísel x1, …, xn Algoritmus rekursivní sumace: suma = 0 for (i=1; i<=n; i++) suma = suma + xi

Sumace - párová sumace Vstup: posloupnost čísel x1, …, xn Algoritmus párové sumace: Krok 1) xi(1) = x2i-1 + x2i Pokud je n liché, pak Krok j) xi(j+1) = x2i-1(j) + x2i (j) Probíhá v krocích. Je možno realizovat paralelně nebo pomocí vektorů.

Sumace - sumace vkládáním Vstup: posloupnost čísel x1, …, xn Algoritmus párové sumace: Čísla xi setřídíme: Opakuj: (a) t = x1 + x2 (b) zařaď t do posloupnosti x3, ...xn

Sumace - zobecnění předchozích 3 algoritmů Vstup: posloupnost čísel x1, …, xn Obecný algoritmus: Nechť S = {x1,…,xn} WHILE |S| > 1 DO Odstraň z S vybraná čísla x a y. Přidej x + y do S. DONE Na konci získáme jednoprvkovou množinu S, obsahující číslo, které je sumou posloupnosti x1, …, xn

Sumace - zhodnocení předchozích 3 algoritmů Chyba kde: je odhad Sn, získaný uvedeným algoritmem. je definována takto: kde: v i-tém běhu cyklu přičemž u je relativní zaokrouhlovací chyba elementárních operací => Pravidlo: Provádějte sčítání tak, aby se minimalizovaly velikosti => Lépe sčítat čísla vzestupně k jejich velikosti než sestupně.

Sumace - sumace s korekcí Algoritmus: s = 0; e = 0 for (i=1; i<=n; i++) { tmp = s y = xi + e (i-tý sčítanec + oprava chyby z minulého cyklu) s = s + y e = (tmp – s) + y (odhad chyby ve výrazu s+y) } Toto se může výrazně lišit od –y (speciálně pokud je s daleko větší než y)