Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro novou fakultu ČVUT je spolufinancována Evropským sociálním fondem a rozpočtem Hlavního města Prahy v rámci Operačního programu Praha adaptabilita (OPPA) projektem CZ.2.17/3.1.00/31952 Příprava a zavedení nových studijních programů Informatika na ČVUT v Praze. Praha & EU: Investujeme do vaší budoucnosti R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 1 / 18
Obsah přednášky Metoda nejmenších čtverců R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 2 / 18
Metoda nejmenších čtverců (1) Úvod Chyby naměřených hodnot při experimentu mohou být větší než chyby zaokrouhlovací. Nejpřesnější reálná měření jsou s relativní chybou 10 5. Experimentální hodnoty mohou být získané i vícenásobným měřením pro tutéž hodnotu nezávislé proměnné x. Tímto způsobem lze zmenšit chyby měření a není zde požadavek, aby aproximující funkce procházela všemi body (nemožné i vzhledem k chybám měřeni). Pro aproximaci takto získaných bodů nějakou aproximující funkcí patří k jedné z nejznámějších metoda nejmenších čtverců. Metoda minimalizuje součet čtverců vzdálenosti naměřených bodů od bodů aproximující funkce. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 3 / 18
Metoda nejmenších čtverců (1) Aproximace pomocí lineární funkce Necht naměřené tabulkové hodnoty (x i, y i ), i = 1, 2,..., n jsou vyjádřením závislosti x a y, kde x i jsou zvolené hodnoty, při kterých jsme prováděli měření a y i je naměřená hodnota neznáme funkce f (x) v bodě x i. Předpokládejme, že závislost mezi x a y je lineární. Aproximující funkci budeme potom hledat ve tvaru ϕ(x) = a 0 + a 1 x, (1) kde a 0, a 1 R jsou neznámé konstanty. Z množiny všech lineárních funkcí V 1 = {a 0 + a 1 x a j R, j = 0, 1}, (2) chceme najít tu, která je nejpřesnější aproximací funkce danou tabulkou naměřených hodnot. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 4 / 18
Metoda nejmenších čtverců (2) Předpokládáme, že hodnoty y i, i = 0, 1..., n byly naměřené "přibližně"se stejnou přesností. Koeficienty a0, a 1 vypočítáme tak, aby součet čtverců vzdáleností naměřených hodnot y i a hodnot aproximujíci funkce byl co nejmenší (Obr. 1), tj. ( S(a0, a 1 ) = (a0 +a 1 x i y i ) 2 = min (ϕ(x i ) y i ) 2) = min S(a 0, a 1 ), kde S(a 0, a 1 ) = (a 0 + a 1 x i y i ) 2. Ostré minimum funkce S(a 0, a 1 ) může nastat v bodě (a 0, a 1 ), ve kterém jsou nulové parciální derivace S(a 0, a 1 ) a 0 = 0, S(a 0, a 1 ) a 1 = 0, R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 5 / 18
Metoda nejmenších čtverců (3) dále po dosazení a derivování dostávame 2 (a0 + a 1xi y i ) = 0, 2 (a0 + a 1 x i y i )x i = 0. Po úpravě dostáváme soustavu rovnic, jejíž řešením jsou koeficienty a0, a 1, tj. a0 (n + 1) + a 1 x i = y i, a0 x i + a1 xi 2 = V maticovém zápisu n + 1 x i x i x 2 i ( ) a 0 a1 = y i x i y i x i y i. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 6 / 18
Metoda nejmenších čtverců (4) y (x) a 0 a1x y 1 (x ) 1 y } 1 } (xi) y i y i y 0 } (x0) y 0 x 0 x 1 x i Obrázek 1. Lineární aproximace metodou nejmenších čtverců x R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 7 / 18
Metoda nejmenších čtverců (5) Dá se ukázat, že funkce S(a0, a 1 ) v bodě a 0, a 1 nabývá ostrého lokálního minima. Předpokládejme, že přesnost experimentu pro všechny hodnoty x i, i = 0, 1,..., n není stejná. Každé hodnotě y i přiřadíme v závislosti na přesnosti určitou váhu v i > 0, i = 0, 1,..., n. Pokud jsou známé rozptyly měření v bodech x i je vhodné zvolit váhu v i jako převrácenou hodnotu rozptylu. Hodnoty v i můžeme určit také na základě zkušenosti s přesností měřící aparatury pro různé hodnoty proměnné x, přičemž hodnotám y i naměřeným s větší přesností se přiřadí větší váha, obyčejně v i > 1 a ostatním v i = 1. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 8 / 18
Metoda nejmenších čtverců (6) Postup, který byl předveden pro lineární závislost hodnot x a y, můžeme zobecnit. Označme M = {x 0, x 1,..., x n }, necht tato množina obsahuje právě n + 1 navzájem různých bodů. Necht k je celé číslo 0 k n a ϕ 0 (x), ϕ 1 (x),..., ϕ k (x) je systém funkcí lineárně nezávislých na množině M, tj. necht je lineárně nezávislých k + 1 vektorů. (ϕ 0 (x 0 ), ϕ 0 (x 1 ),... ϕ 0 (x n )), (ϕ 1 (x 0 ), ϕ 1 (x 1 ),... ϕ 1 (x n )),... (ϕ k (x 0 ), ϕ k (x 1 ),... ϕ k (x n )). Za třídu V k aproximujících funkcí vezmeme množinu jejich lineárních kombinací, tj. V k = {a 0 ϕ 0 (x) + a 1 ϕ 1 (x) + + a k ϕ k (x) a i R, i = 0, 1,..., k}. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 9 / 18
Metoda nejmenších čtverců (7) Úloha aproximovat funkci f (x) funkcí ϕ(x) = k a j ϕ j (x) pro x I x 0, x n, j=0 metodou nejmenších čtverců je určení takových reálných koeficientů a 0, a 1,..., a k, které minimalizují funkci S(a 0, a 1,..., a k ) = (ϕ(x i ) y i ) 2 v i = δ 2 (ϕ), kde δ(ϕ) je tzv. kvadratická odchylka. Koeficienty a 0, a 1,..., a k můžeme určit podobně jako při aproximaci pomocí lineární funkce, tj. řešením soustavy rovnic S(a 0, a 1,..., a k ) a j = 0, j = 0, 1,..., k. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 10 / 18
Metoda nejmenších čtverců (8) Skalární součin a norma vektorů při daných vahách Poznatky z lineární algebry jsou v této části využity pro modifikaci pojmů, které jsou dále použity pro jednodušší a názornější výklad. Skalární součin dvou spojitých funkcí f, g, které jsou definované na intervalu a, b a mají na tomto intervalu obecně komplexní hodnoty, budeme označovat (f, g) a definujeme vztahem (f, g) = b a f (x)g(x)v(x) dx pro spojitý případ. S pruhem se označujeme komplexně sdružené číslo a v je pevně daná váhová funkce, která je spojitá a kladná na intervalu (a, b) a integrovatelná na intervalu a, b. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 11 / 18
Metoda nejmenších čtverců (9) Pro diskrétní případ platí (f, g) = f (x i )g(x i )v i, kde v i jsou kladná čísla. Dále platí pro takto definovaný skalární součin, funkce f, g, h a komplexní čísla c 1, c 2 následující tvrzení: a) (f, g) = (g, f ), b) (c 1 f + c 2 g, h) = c 1 (f, h) + c 2 (g, h), c) Im{(f, f )} = 0, { f (x) 0, x a, b d) (f, f ) = 0 f (x i ) = 0, i = 0, 1,..., n. Z platnosti podmínky b) plyne, že (c j ϕ j, ϕ k ) = j=0 c j (ϕ j, ϕ k ). j=0 R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 12 / 18
Metoda nejmenších čtverců (10) Pomocí skalárního součinu můžeme definovat normu funkce f, jako f = (f, f ). Necht u = (u 0, u 1,..., u n ) T je vektor, kde u i R, i = 0, 1,..., n, potom číslo u = n ui 2 v i nazýváme normou vektoru u s váhami v 0, v i,..., v n. Budeme říkat, že systém je ortogonální, pokud platí: (ϕ j, ϕ k ) = 0, pro j k a ϕ j = 0, j = 0, 1,..., r. Ortogonální systém je vždy lineárně nezávislý. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 13 / 18
Metoda nejmenších čtverců (11) Existence minima kvadratické odchylky v prostoru Jednodušší případ: jednoduše geometricky interpretovatelný. Necht vektory ϕ 0, ϕ 1 R n jsou lineárně nezávislé. Uvažujme rovinu ρ určenou vektory ϕ 0, ϕ 1, kde vektory ϕ 0, ϕ 1 tvoří bázi prostoru V 2 R n. Každý vektor ϕ množiny V 2 potom můžeme vyjádřit ve tvaru ϕ = a 0 ϕ 0 + a 1 ϕ 1. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 14 / 18
Metoda nejmenších čtverců (12) Necht y P R n, V 2 P. Pokud chceme aproximovat vektor y pomocí vektoru ϕ prostoru V 2 musíme najít prvek ϕ V k, který má nejmenší vzdálenost od y, tj. ϕ y = min ϕ V 2 ϕ y = min ϕ V 2 (ϕ y, ϕ y) = min ϕ V 2 δ(ϕ). Je zřejmé, že ϕ je pata kolmice vedené z bodu y na rovinu ρ, viz předchozí obrázek, tedy také na vektory ϕ 0, ϕ 1. To znamená, že vektor ϕ y je ortogonální s vektory ϕ 0, ϕ 1, a tedy (ϕ y, ϕ j ) = 0, j = 0, 1. Tento přístup můžeme zobecnit na prostor V k (k > 2) jako ortogonální průmět y P na podprostor V k. R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 15 / 18
Metoda nejmenších čtverců (13) Věta 1 Necht ϕ 0, ϕ 1,..., ϕ k je bází prostoru V k a y P. Pak existuje právě jedno řešení ϕ V k takové, že vektor ϕ y je ortogonální ke všem vektorům ϕ 0, ϕ 1,..., ϕ k, tj. platí (ϕ y, ϕ j ) = 0, j = 0, 1,..., k. ϕ je určeno následovně k ϕ = aj ϕ j v I, (x I = x 0, x n ), j=0 kde konstanty a0, a 1,..., a k jsou jediným řešením soustavy normálních rovnic k aj (ϕ r, ϕ j ) = (ϕ r, y), r = 0, 1,..., k (3) j=0 R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 16 / 18
Metoda nejmenších čtverců (14) Věta 1 - pokračování nebo a 0 (ϕ 0, ϕ 0 ) + a 1 (ϕ 0, ϕ 1 ) +... + a k (ϕ 0, ϕ k ) = (ϕ 0, y) a 0 (ϕ 1, ϕ 0 ) + a 1 (ϕ 1, ϕ 1 ) +... + a k (ϕ 1, ϕ k ) = (ϕ 1, y)....... a 0 (ϕ k, ϕ 0 ) + a 1 (ϕ k, ϕ 1 ) +... + a k (ϕ k, ϕ k ) = (ϕ k, y) a platí δ(ϕ ) = min p V k δ(p), a přitom je ϕ jediné z prostoru V k realizující uvedené minimum. Poznámka: Pokud systém funkcí ϕ 0, ϕ 1,..., ϕ k je ortogonální, pak místo soustavy (3) dostávame a i (ϕ i, ϕ i ) = (ϕ i, y), i = 0, 1,..., k, tedy a i = (ϕ i, y), i = 0, 1,..., k. (ϕ i, ϕ i ) R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 17 / 18
Metoda nejmenších čtverců (15) Pro obecný případ v maticovém zápisu platí ( (Aa y) 2) = 0 ( ) 2 (Aa y) T (Aa y)) = 0 ( ) (a T A T ) y T (Aa y) = 0 EA T (Aa y) = o A T Aa A T y = o kde o je n prvkový nulový vektor (o = (0, 0,..., 0) T ). A T Aa = A T y, (4) R. Lórencz (ČVUT FIT) MNČ PI-ANM, 2011, Předn. 6. 18 / 18