VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV MATEMATIKY Matematika 3 (Elektrotechnika, elektronika, komunikační a řídicí technika) Břetislav Fajmon Irena Hlavičková Michal Novák Ústav matematiky FEKT VUT v Brně, 2014 http://www.umat.feec.vutbr.cz Obrázky pomocí METAPOSTu a METAFONTu: Jaromír Kuben Animace a 3D objekty: Roman Plch Tento text byl vytvořen v rámci realizace projektu CZ.1.07/2.2.00/15.0156, Inovace výuky matematických předmětů v rámci studijních programů FEKT a FIT VUT v Brně. Součástí tohoto učebního textu jsou odkazy na tzv. maplety, tj. programy vytvořené v prostředí Maple. Tyto odkazy jsou v textu zvýrazněny barvou, příp. uvozeny slovem maplet. Maplety ke svému běhu nevyžadují software Maple – je však nutné mít na klientském počítači nainstalováno prostředí Java a nastavenou vhodnou úroveň zabezpečení prohlížeče i prostředí Java. Po kliknutí na odkaz mapletu se v závislosti na softwarovém prostředí klientského počítače zobrazí různá hlášení o zabezpečení – všechny dialogy je třeba povolit a spouštění požadovaných prvků neblokovat. Součástí tohoto učebního textu jsou odkazy na spustitelné soubory připravené v prostředí Matlab. Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Součástí tohoto učebního textu jsou animace, resp. prvky 3D grafiky. Pro korektní zobrazení těchto multimediálních prvků a práci s nimi je nutné správně nastavit zabezpečení prohlížeče PDF souborů, a to zejména na záložkách typu 3D a multimédia, Důvěryhodnost multimedií (starší), Multimédia (starší). Vlastnosti zobrazení těchto prvků lze ovlivnit pomocí položek jejich kontextového menu, příp. pomocí práce s myší nebo jiným polohovacím zařízením. Doplňující součástí tohoto učebního textu jsou příklady zpracované v elektronické bance příkladů. 1 Obsah 1 Úvod do numerické matematiky 8 1.1 Analytické vs. numerické řešení . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Problém a jeho řešení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Problematika přesnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 Zaokrouhlování. Šíření chyb při výpočtu . . . . . . . . . . . . . . . . . . . 13 1.5 Podmíněnost numerických úloh a numerická stabilita algoritmů . . . . . . 16 1.6 Používání matematického softwaru . . . . . . . . . . . . . . . . . . . . . . 18 1.7 Studované typy úloh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2 Numerické řešení soustavy lineárních rovnic 21 2.1 Motivace a základní pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Diskuse o počtu řešení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3 Příklady reálných zadání . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4 Přímé metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.1 Gaussova eliminační metoda . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2 Cramerovo pravidlo . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5 Iterační metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5.1 Iterační tvar soustavy rovnic . . . . . . . . . . . . . . . . . . . . . . 28 2.5.2 Teoretické zdůvodnění iteračních metod . . . . . . . . . . . . . . . . 31 2.5.3 Podmínky konvergence iteračních metod . . . . . . . . . . . . . . . 36 2.5.4 Odhady chyb iteračních metod . . . . . . . . . . . . . . . . . . . . 38 2.6 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3 Numerické řešení jedné nelineární rovnice 40 3.1 Příklady reálných zadání . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2 3.2 Odhad polohy řešení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.3 Zkracování intervalu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3.1 Metoda půlení intervalu . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3.2 Metoda regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.3.3 Několik poznámek . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4 Metody vycházející z bodu . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.1 Newtonova metoda (metoda tečen) . . . . . . . . . . . . . . . . . . 49 3.4.2 Metoda prosté iterace . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4.3 Širší souvislosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.5 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6 Animace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4 Numerické řešení soustavy nelineárních rovnic 65 4.1 Motivace a základní pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.1.1 Příklady reálných zadání a geometrická interpretace . . . . . . . . . 66 4.2 Odhad polohy řešení a počáteční aproximace . . . . . . . . . . . . . . . . . 67 4.3 Rozšíření Newtonovy metody na řešení soustav nelineárních rovnic . . . . . 69 4.4 Rozšíření metody prosté iterace na řešení soustav nelineárních rovnic . . . 73 4.5 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5 Aproximace funkcí: interpolace 76 5.1 Interpolační polynom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1.1 Existence a jednoznačnost . . . . . . . . . . . . . . . . . . . . . . . 77 5.1.2 Konstrukce interpolačního polynomu . . . . . . . . . . . . . . . . . 78 5.1.3 Speciální případ: ekvidistantní uzly . . . . . . . . . . . . . . . . . . 82 5.1.4 Využitelnost interpolačního polynomu a odhad chyby . . . . . . . . 84 5.2 Splajn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.2.1 Rozdíl splajn vs. interpolační polynom . . . . . . . . . . . . . . . . 87 5.2.2 Nalezení přirozeného kubického splajnu . . . . . . . . . . . . . . . . 90 5.3 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6 Aproximace funkcí: metoda nejmenších čtverců 95 6.1 Aproximace algebraickými polynomy . . . . . . . . . . . . . . . . . . . . . 96 3 6.1.1 Aproximace pomocí přímky . . . . . . . . . . . . . . . . . . . . . . 96 6.1.2 Aproximace pomocí paraboly . . . . . . . . . . . . . . . . . . . . . 99 6.1.3 Obecný případ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.1.4 Jiný způsob odvození vzorců . . . . . . . . . . . . . . . . . . . . . . 101 6.2 Obecná aproximace metodou nejmenších čtverců . . . . . . . . . . . . . . . 102 6.3 Aproximace křivkou y = aebx . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.4 Obecná nelineární aproximace metodou nejmenších čtverců . . . . . . . . . 105 6.5 Problematika přesnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.6 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7 Numerické derivování 107 7.1 Některé často používané vzorce pro numerické derivování . . . . . . . . . . 108 7.2 Poznámka o zaokrouhlovací chybě . . . . . . . . . . . . . . . . . . . . . . . 111 7.3 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8 Numerické integrování 112 8.1 Lichoběžníková metoda: interpolační polynom ze dvou uzlů . . . . . . . . . 113 8.2 Simpsonova metoda: interpolační polynom ze tří uzlů . . . . . . . . . . . . 113 8.3 Geometrická interpretace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8.4 Zpřesňování výsledků . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8.4.1 Složená lichoběžníková metoda . . . . . . . . . . . . . . . . . . . . 117 8.4.2 Složená Simpsonova metoda . . . . . . . . . . . . . . . . . . . . . . 120 8.5 Další metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.6 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9 Numerické řešení diferenciálních rovnic 122 9.1 Řešení jedné rovnice: počáteční úlohy . . . . . . . . . . . . . . . . . . . . . 123 9.1.1 Eulerova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 9.1.2 Typy a vlastnosti metod pro řešení počátečních úloh . . . . . . . . 126 9.1.3 Modifikace Eulerovy metody . . . . . . . . . . . . . . . . . . . . . . 127 9.1.4 Rungovy-Kuttovy metody . . . . . . . . . . . . . . . . . . . . . . . 129 9.1.5 Odhad chyby. Řízení délky kroku . . . . . . . . . . . . . . . . . . . 131 9.1.6 Vícekrokové metody . . . . . . . . . . . . . . . . . . . . . . . . . . 132 4 9.2 Řešení soustav diferenciálních rovnic . . . . . . . . . . . . . . . . . . . . . 134 9.3 Cvičení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 9.4 Animace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 10 Základy statistického zpracování dat 137 10.1 Rozdělení četností . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 10.1.1 Diskrétní znaky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 10.1.2 Spojité znaky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 10.2 Charakteristiky polohy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 10.2.1 Aritmetický průměr . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 10.2.2 Modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10.2.3 Medián . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10.3 Kvantily . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.4 Charakteristiky variability . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.4.1 Variační rozpětí a kvartilové rozpětí . . . . . . . . . . . . . . . . . . 148 10.4.2 Rozptyl a směrodatná odchylka . . . . . . . . . . . . . . . . . . . . 149 11 Klasická pravděpodobnost 154 11.1 Operace s náhodnými jevy . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11.1.1 Jev opačný . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11.1.2 Průnik jevů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 11.1.3 Sjednocení jevů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 12 Další pravděpodobnostní modely 161 12.1 Diskrétní pravděpodobnost . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 12.2 Geometrická pravděpodobnost . . . . . . . . . . . . . . . . . . . . . . . . . 163 13 Axiomatická definice pravděpodobnosti 168 14 Podmíněná pravděpodobnost. Závislost a nezávislost náhodných jevů 171 14.1 Podmíněná pravděpodobnost . . . . . . . . . . . . . . . . . . . . . . . . . . 171 14.2 Závislost a nezávislost náhodných jevů . . . . . . . . . . . . . . . . . . . . 173 14.3 Obecná definice podmíněné pravděpodobnosti a nezávislosti náhodných jevů175 14.4 Úplná pravděpodobnost a Bayesův vzorec . . . . . . . . . . . . . . . . . . 176 5 15 Diskrétní náhodné veličiny 179 15.1 Náhodné veličiny – úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 15.1.1 Základní typy náhodných veličin . . . . . . . . . . . . . . . . . . . . 180 15.2 Diskrétní náhodné veličiny . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 15.2.1 Pravděpodobnostní a distribuční funkce . . . . . . . . . . . . . . . 181 15.2.2 Závislost a nezávislost náhodných veličin . . . . . . . . . . . . . . . 187 15.2.3 Střední hodnota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 15.2.4 Rozptyl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 16 Významná diskrétní rozdělení pravděpodobnosti 192 16.1 Alternativní rozdělení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 16.2 Binomické rozdělení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 16.3 Hypergeometrické rozdělení . . . . . . . . . . . . . . . . . . . . . . . . . . 197 16.3.1 Vztah binomického a hypergeometrického rozdělení . . . . . . . . . 201 16.4 Poissonovo rozdělení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 17 Spojité náhodné veličiny 209 17.1 Střední hodnota a rozptyl spojité náhodné veličiny . . . . . . . . . . . . . 214 17.2 Kvantil náhodné veličiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 18 Významná spojitá rozdělení pravděpodobnosti 218 18.1 Rovnoměrné rozdělení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 18.2 Exponenciální rozdělení . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 18.3 Teorie front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 18.3.1 Fronty typu (M|M|1) : (GD|∞|∞) . . . . . . . . . . . . . . . . . . 225 18.3.2 Fronty typu (M|M|1) : (GD|N|∞) . . . . . . . . . . . . . . . . . . 227 18.3.3 Fronty typu (M|M|c) : (GD|∞|∞) . . . . . . . . . . . . . . . . . . 228 18.3.4 Fronty typu (M|M|c) : (GD|N|∞) . . . . . . . . . . . . . . . . . . 229 19 Normální rozdělení 231 19.1 Rozdělení součtu a průměru náhodných veličin s normálním rozdělením . . 236 19.2 Centrální limitní věta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 19.3 Aproximace binomického rozdělení normálním rozdělením . . . . . . . . . . 241 6 20 Statistické testy 246 20.1 Základní principy statistického testu . . . . . . . . . . . . . . . . . . . . . 246 20.2 Testování pomocí p-hodnoty . . . . . . . . . . . . . . . . . . . . . . . . . . 252 20.3 Test hypotézy o parametru p binomického rozdělení . . . . . . . . . . . . . 254 20.4 Test střední hodnoty průměru měření při známém rozptylu nebo velkém rozsahu výběru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 20.4.1 Test hypotézy o střední hodnotě . . . . . . . . . . . . . . . . . . . . 257 20.4.2 Test hypotézy o rovnosti dvou středních hodnot . . . . . . . . . . . 260 Tabulka hodnot distribuční funkce normálního rozdělení 264 Literatura 266 7 Předmluva Učební text, který se vám nyní dostává do rukou, je podstatně přepracovanou verzí učebního textu Fajmon, B., Růžičková, I.: Matematika 3, který byl ve výuce předmětu Matematika 3 dosud používán. Změnili jsme jak celkové pojetí textu, tak i výběr příkladů ilustrujících studované pojmy. Část věnovaná numerickým metodám je nově pojata jako diskuse nad možnými přístupy k řešení předem jasně definovaných problémů. Mnohé z otázek, které jsou v této části položeny, ponecháváme bez jednoznačné odpovědi – předpokládáme, že při hledání odpovědí si čtenář sám uvědomí, že zdánlivě jednoduché otázky o zdánlivě jednoduchých problémech mají i v době samozřejmého používání výpočetní techniky velmi složité (a často neznámé) odpovědi. V navazujícím magisterském studiu se jak s numerickými metodami, tak i s pravděpodobností a statistikou setkáte znovu, a to v předmětech Moderní numerické metody a Pravděpodobnost, statistika a operační výzkum. Pro účely těchto předmětů může text Matematika 3 sloužit jako úvodní opakování. Byli bychom rádi, kdybyste text považovali nikoliv za uzavřený celek, ale za výchozí bod dalších úvah z numerických metod a pravděpodobnosti a statistiky. Učební text je proto doplněn celou řadou interaktivních studijních opor. V první řadě obsahuje tzv. maplety, programy, které jsou zaměřeny na procvičení a lepší znázornění celé řady pojmů z pravděpodobnosti a které usnadní některé dílčí výpočty numerických metod. Dále jsme text provázali se samostatně spustitelnými exe soubory, programy připravenými v grafickém rozhraní softwaru Matlab, se kterým se ve svém dalším studiu (a zejména praxi) zcela jistě mnohokrát setkáte. Protože se jedná o text v podstatě nový, uvítáme vaše náměty, připomínky i případné postřehy o překlepech. 31.3.2014 Autoři 8 Úvod do numerické matematiky 1 Úvod do numerické matematiky V předmětech prvního ročníku jste získali základní povědomí o některých částech matematiky – matematické logice, lineární algebře a zejména matematické analýze a teorii řešení diferenciálních rovnic. Výběr témat v těchto předmětech byl takový, aby vám umožnil řešit nejčastější problémy inženýrské praxe nebo alespoň porozumět (základům) jejich řešení. Protože se však jednalo o naprostý úvod do dané problematiky, mohlo se zdát, že vzdálenost mezi matematickými pojmy a reálným technickým zadáním je příliš veliká. V této části skript se pokusíme tuto vzdálenost zkrátit. Budeme definovat několik matematických problémů, které bývají běžnou součástí postupů pro řešení problémů, se kterými se jako budoucí inženýři (tj. nikoliv matematici) setkáte. Ukážeme si, jak je možné se k řešení těchto problémů postavit se znalostmi pojmů z prvního ročníku. Přitom velmi často zjistíme, že je to komplikované, zdlouhavé nebo dokonce nemožné. To však nebude nic měnit na situaci, že zadaný problém budeme muset vyřešit. Proto budeme volit zcela odlišný přístup než ten, se kterým jste se doposud setkávali – budeme využívat numerické metody. Tento postup nám pomůže zdánlivě neřešitelné problémy vyřešit relativně jednoduchým (a hlavně algoritmizovatelným) postupem. Avšak bez porozumění problematice uváděné v předmětech prvního ročníku by se použití numerických metod stalo velmi nebezpečnou záležitostí, protože může reálně hrozit, že získané výsledky budou nejen nesprávné nebo dokonce úplně nesmyslné, ale zejména proto, že tuto skutečnost nebudeme umět odhalit. 1.1 Analytické vs. numerické řešení Každý student střední školy zná vzorec pro výpočet kořenů kvadratické rovnice. Většina maturantů by si měla (nedlouho po maturitě) vzpomenout na postup řešení kubické rovnice. Někteří si možná vzpomenou na postup řešení rovnice čtvrtého stupně a na postup řešení reciprokých rovnic do stupně 8, resp. 9. Jak ale vypadá obecný postup řešení rovnic stupně pět a vyššího? Takový postup neexistuje. Ne proto, že nebyl objeven, ale proto, že bylo dokázáno, že existovat nemůže. To však nic nemění na situaci, že nalézt kořeny algebraických rovnic stupně 5 a vyšších někdy potřebujeme. Příkladem může být situace, kdy potřebujeme určit tzv. vlastní čísla matice.(viz předmět Moderní numerické metody nebo Diferenciální rovnice a jejich užití v elektrotechnice). Z prvního ročníku znáte pojmy neurčitý a určitý integrál. Tak například umíte vypočí- tat π 2 0 cos xdx – nejspíš budete hledat primitivní funkci k funkci cosinus, dosadíte horní a 1.2 Problém a jeho řešení 9 dolní mez, odečtete a rozdíl těchto čísel prohlásíte za výsledek příkladu. Z prvního ročníku si však také pamatujete, že k některým funkcím primitivní funkce neexistuje. Příkladem takovéto funkce je funkce f(x) = e−x2 , což je jedna ze základních funkcí používaných v teorii pravděpodobnosti, kde výpočet určitého integrálu umožní určit hledanou pravděpodobnost. V případě funkce f(x) = e−x2 však určitý integrál v obecných mezích a, b najít pomocí primitivní funkce neumíme. V lineární algebře jste poznali, jak lze řešit soustavy lineárních rovnic, přičemž Gaussovu eliminaci a Cramerovo pravidlo jste aplikovali nejčastěji na řešení soustav 3 rovnic o 3 neznámých. Lze tento postup aplikovat i na soustavy sto (tisíc) rovnic o sto (tisíci) neznámých, jejichž koeficienty se často vzájemně liší o několik řádů? Postupy řešení matematických úloh uváděných v prvním ročníku souhrnně označme jako analytické nebo klasické. Tyto postupy budete při řešení problémů využívat velmi často. Někdy se však ukáže jako vhodné zvolit naprosto odlišný přístup – numerický. Jestliže například uvážíme definici pojmu integrál a geometrickou interpretaci pojmu určitý integrál, můžeme se místo hledání primitivní funkce k funkci f(x) = e−x2 pokusit určit obsah plochy pod grafem této funkce v zadaných mezích a, b. Neurčíme jej pochopitelně zcela přesně, ale je možné, že úplná přesnost v daném případě ani nebude nutná. Podobně u zmiňovaných rovnic stupně 5 a vyšších si můžeme například uvědomit, že hledat jejich řešení znamená hledat body, ve kterých příslušné polynomy nabývají nulovou hodnotu. To lze ovšem provést mnoha způsoby – můžeme například vykreslit příslušný graf a hledané body s jistou tolerancí odhadnout. 1.2 Problém a jeho řešení Studium matematiky na technické vysoké škole se od studia matematiky na přírodovědeckých nebo pedagogických fakultách univerzit v mnoha aspektech odlišuje. Tím nejdůležitějším je, že absolvent techniky není matematik ale inženýr. Problémy, se kterými se setká matematik, jsou matematického rázu – najít řešení rovnice, aproximovat funkci, rozhodnout o řešitelnosti soustavy rovnic v závislosti na parametrech a podobně. Problémy, se kterými se setkává inženýr, jsou rázu technického – sestrojit nějaké funkční zařízení, zvolit vhodný materiál, vybrat nejlepší konstrukční postup a podobně. Jestliže je dán nějaký reálný technický problém, na jeho řešení lze v zásadě aplikovat následující postup: 1. Problém vyjádříme v řeči matematiky, tj. sestavíme příslušné rovnice požadovaného typu a určíme, v jaké formě má vypadat hledané řešení; zapíšeme, že naším úkolem je najít extrém nějaké funkce; zjistíme, že máme za úkol „vyhladit nějakou křivku, najít průsečík nějakých geometrických objektů atd. 2. Podle situace, požadavků na získané řešení, okolností a dalších faktorů se rozhodneme, zda matematickou úlohu budeme řešit analyticky nebo numericky (někdy lze využít obou těchto možností). 10 Úvod do numerické matematiky 3. Zvolíme vhodný způsob řešení, v případě numerického řešení vhodnou numerickou metodu. 4. Zapíšeme matematickou úlohu do řeči zvolené numerické metody, tj. algoritmu. Tedy na základě technických parametrů úlohy určíme příslušné konstanty a jiné vstupní údaje dané numerické metody. 5. Začneme úlohu řešit, tj. spustíme algoritmus dané numerické metody, a poté jej ve vhodnou chvíli ukončíme. 6. Se znalostí reálného problému vhodně interpretujeme získané výsledky. Zatímco matematik dostává na stůl problém již vyjádřený v řeči matematiky, tj. ve stavu 2 nebo dokonce 4, a opouští jej ve stavu 5, inženýr musí umět projít všemi fázemi tohoto postupu. Ke zvládnutí bodů 1 a 6 jsou třeba znalosti, které získáte později v odborných předmětech. My budeme v dalším textu k zadaným úlohám přistupovat jako matematici – ovšem s vědomím, že matematicky zformulované úlohy, které budeme řešit, jsou zápisem reálných inženýrských problémů. Budeme se tedy na mnoha místech ptát, v jaké formě můžeme očekávat konkrétní zadání, jak přesně bychom prováděli některá ověřování, co by mohly znamenat ty nebo ony výsledky, jakých hodnot mohou nabývat některé proměnné nebo vstupní nebo výstupní údaje apod.1 Důležitou součástí řešení (ať inženýrského nebo matematického) problému je schopnost obhájit zvolený postup. V našem případě to bude znamenat, že budeme muset ukázat, proč numerická metoda, kterou jsme zvolili pro řešení nějakého problému, je ta nejvhodnější a že dává nejpřesnější výsledky, nebo zda bychom mohli použít i nějakou jinou s případně jinými vstupními parametry, která umožní získat přesnější výsledky efektivnějším způsobem. Příklad 1.1. Uvažme následující formulace zadání: 1. Najděte průsečík kružnice se středem v bodě S = [1; −1] a poloměrem r = 2 a elipsy se středem v bodě S = [1; −2], hlavní poloosou a = 5 a vedlejší poloosou délky b = 3. 2. Najděte řešení soustavy rovnic x2 + y2 − 2x + 2y = 2 0, 04x2 + 0, ¯1y2 − 0, 08x + 0, ¯4y = 0, 5155555556 1 Jednu ukázku rozdílného pohledu inženýra a matematika na tentýž problém představuje problematika konvergence numerických metod použitých při řešení soustavy rovnic v kapitole 5.2. Je matice soustavy rovnic na str. 91 ostřed řádkově diagonálně dominantní nebo není? Matematik, který řeší úlohu bez jakýchkoli souvislostí, musí vzít v úvahu obecné h, tedy odpoví, že není, ovšem inženýr ví, že h označuje délku kroku, a je tedy (za předpokladu, že jsou uzly seřazeny podle velikosti) kladné, takže soustava ostřeřádkově diagonálně dominantní je. Tedy matematikovi nezbývá než prohlásit, že konvergence Jacobiho metody pomocí tohoto kritéria zaručena není, zatímco inženýr ví, že zaručena je. 1.3 Problematika přesnosti 11 3. Na lanech, jejichž jeden konec je pevně ukotvený, jsou upevněna dvě zařízení. Jestliže vhodně zvolíme kartézskou soustavu souřadnic, pak situaci lze popsat takto: První lano má délku r = 2 a je pevně ukotveno v bodě L1 = [1; −1]. Na jeho druhém konci je zařízení, které se pohybuje po kruhové dráze. Druhé zařízení je ukotveno na dvou lanech, na jejichž druhých koncích jsou navijáky, takže délku lan lze podle potřeby měnit. První naviják je ukotven v bodě N1 = [5; −2], druhý v bodě N2 = [−3; −2]. Navijáky ovlivňující délku lan jsou nastaveny tak, aby součet délek obou lan byl vždy s = 10. Druhé zařízení se dá do pohybu. Může dojít ke kolizi obou zařízení? (Lana jsou kotvena tak, že se vzájemně neblokují.) 4. Stejná formulace jako v bodě 3, jen s tím rozdílem, že zohledníme čas. Tedy: v čase t1 se dá do pohybu zařízení upevněné na jednom laně. V čase t2 se dá do pohybu zařízení upevněné na dvou lanech. Po kolika otáčkách prvního / druhého zařízení dojde ke kolizi a v jakém bodě tato kolize nastane? 5. Stejná formulace jako v bodě 3, jen s tím rozdílem, že s trochou fantazie a nadsázky budeme za zařízení na jednom laně považovat kočku a za zařízení na dvou lanech psa. Určete oblast, kde se může pohybovat kočka, aby ji pes nemohl nikdy pokousat. Řešení. Základem všech úloh je totéž: určit průsečíky kružnice a elipsy. Příslušné křivky jsou přitom ve všech formulacích zadání stejné. Numerickým metodám, které vám umožní tyto průsečíky hledat, se budeme věnovat v kapitole 4. V dalším textu budou úlohy pro jednoduchost zadávány ve tvaru 2 (a pro snazší výpočty budeme používat čísla zaokrouhlená na „rozumný počet desetinných míst, nejlépe čísla celá). Uvědomte si však, že formulace 1 (stejně jako 3!) využívají jen běžné středoškolské znalosti, a nalezení příslušných rovnic by vám tedy nemělo činit žádné problémy. Současně si rozmyslete, jakým nejrychlejším způsobem lze v tomto konkrétním případě najít průsečík výše uvedených křivek. Je tímto nejrychlejším způsobem opravdu výpočet? Pokud není, jak lze ověřit správnost získaného výsledku? Jak lze toto ověření provést nejpřesvědčivějším možným způsobem? 1.3 Problematika přesnosti Pokud se rozhodneme nějaký matematicky zapsaný problém řešit numericky, musíme počítat s tím, že zadaný problém nevyřešíme zcela přesně. Co ale tento pojem znamená? Resp. jinak – je nutné problémy řešit zcela přesně? Pokud se vrátíme k popisu řešení technického problému na str. 9, bude zřejmé, že chyb se můžeme dopustit v každém kroku. Totiž: 1. Reálný technický problém nevyjádříme v řeči matematiky přesně. 2. Numerický způsob řešení je jistě lákavější, protože je algoritmizovatelný a značnou část práce lze vykonat strojově. To ovšem může být spíše nevýhoda než výhoda. 12 Úvod do numerické matematiky 3. I sebevhodnější numerická metoda je pouze přibližným vyjádřením nepřesně zapsaného reálného problému. 4. Vstupní údaje většinou získáme pomocí měření nebo na základě jiných výpočtů. Lze tedy očekávat, že vstupní údaje budou zatížené chybou. 5. V algoritmu se nutně dopouštíme celé řady zaokrouhlovacích chyb, které se mohou v dalších krocích šířit. Do algoritmů navíc často vstupují již zaokrouhlené hodnoty, resp. hodnoty, které byly získány (nepřesným způsobem na základě nepřesných údajů) jako výsledky jiných algoritmů. O okamžiku ukončení algoritmu navíc rozhodujeme my, a to na základě odhadů přesnosti. Přitom tyto chyby se mohou kumulovat, případně vyrušit. Navíc se může stát, že celá úloha je takového rázu, že každé její řešení bude (po)chybné – viz Příklad 1.6 v kapitole 1.5. Formálně tedy můžeme rozlišovat následující druhy chyb: - Chyby matematického modelu – vznikají nahrazením reálné situace matematickým modelem. Může se jednat například o popis nějakého fyzikálního děje pomocí diferenciální rovnice. - Chyby vstupních dat – jsou způsobeny nepřesnostmi při měření fyzikálních veli- čin. - Chyby numerické metody – vznikají při náhradě původní matematické úlohy jednodušší úlohou numerickou. Často se jedná o náhradu nekonečného procesu procesem konečným, např. při výpočtu hodnoty některé elementární funkce pomocí součtu několika prvních členů její nekonečné Taylorovy řady nebo při aproximaci určitého integrálu součtem konečného počtu funkčních hodnot. Odhad této chyby je důležitou součástí řešení každé numerické úlohy. - Chyby zaokrouhlovací – vznikají tím, že při výpočtech pracujeme s čísly zaokrouhlenými na určitý, relativně nevelký, počet míst. Při velkém počtu operací je posouzení vlivu těchto chyb velmi náročné. Zkusme nyní problém přesnosti redukovat na tuto otázku: Nějaké číslo označíme za řešení dané úlohy. Jak moc se liší od skutečného řešení? Odpověď, resp. její význam, závisí na konkrétní situaci. Je-li ˆx přesná hodnota nějakého čísla a x její aproximace, jejich rozdíl E(x) = ˆx − x nazýváme absolutní chyba aproximace. Obvykle se budeme zabývat odhadem této chyby, ale je-li přesná hodnota veličiny velmi malá nebo velmi velká, má větší význam užívat relativní chybu RE(x) = ˆx − x x = E(x) x , 1.4 Zaokrouhlování. Šíření chyb při výpočtu 13 která se též často vyjadřuje v procentech. Například absolutní chyba 106 se může na první pohled zdát velmi velká. Je-li ovšem přesná hodnota veličiny řádu1015 , už se chyba tak závažná nejeví. Tento fakt lze nejlépe vyjádřit pomocí relativní chyby, v tomto případě je RE(x) = 10−9 = 10−7 %. Přesnou hodnotu chyby zpravidla neznáme – nejčastěji proto, že neznáme přesné řešení (protože kdybychom ho znali, nebylo by nutné počítat řešení přibližné). Proto jsou důležité odhady chyb. Každé nezáporné číslo ME(x), pro které platí | ˆx − x| ≤ ME(x) , tj. ˆx ∈ x − ME(x), x + ME(x) nazýváme odhad absolutní chyby aproximace x nebo mezní absolutní chyba. Každé nezáporné číslo MR(x), pro které platí |ˆx − x| |x| ≤ MR(x), x = 0 nazýváme odhad relativní chyby nebo mezní relativní chyba. Často užíváme symbolických zápisů ˆx = x ± ME(x), resp. ˆx = x(1 ± MR(x)). V následujícím textu budeme všechny úlohy řešit s danou přesností ε. Co přesně tento požadavek bude znamenat a jak budeme jeho dosažení kontrolovat, bude uvedeno vždy u dané numerické metody. 1.4 Zaokrouhlování. Šíření chyb při výpočtu Je-li x reálné číslo, které má obecně nekonečné dekadické vyjádření, pak číslo x(d) , které má d desetinných míst, je správně zaokrouhlenou hodnotou čísla x, platí-li | x − x(d) | ≤ 1 2 10−d (1.1) Tedy například má-li být x(1) správně zaokrouhlená hodnota čísla x na jedno desetinné místo, nesmí se od x lišit o více než o 1 2 10−1 = 0, 05. Jestliže číslo x, které chceme zaokrouhlit na d desetinných míst, má právě d+1 desetinných míst, z nichž poslední je pětka, často se používá pravidlo, že pětka po liché číslici se zaokrouhluje nahoru, po sudé dolů. Lze ale také (a některé počítačové programy tak činí) volit vždy zaokrouhlení nahoru nebo vždy zaokrouhlení dolů. Při numerických výpočtech pracujeme se zaokrouhlenými čísly. Výsledky početních operací s těmito čísly jsou opět zaokrouhlovány a dále se s nimi pracuje. Tím se zaokrouhlovací chyby šíří. 14 Úvod do numerické matematiky Příklad 1.2. Předpokládejme, že uvnitř nějakého algoritmu pracujeme s výrazem xi = = k 1 a −1 b , kde k je konstanta (např. 10) a a, b jsou hodnoty získané v každém kroku cyklu nějakým výpočtem. Algoritmus přitom opakujeme, dokud není splněna nějaká podmínka, což může znamenat například 30 opakování. V jistou chvíli získáme a = 625, b = 624, tedy xi = k 1 625 − 1 624 = −3900000. Jak se projeví zaokrouhlení čísel 1 a a 1 b na 12, resp. na šest desetinných míst? Jaká bude absolutní a relativní chyba? Řešení. Při zaokrouhlení na 12 desetinných míst je 1 625 = 0, 001600000000 a 1 624 = = 0, 001602564103. Pokud do výše uvedeného vzorce dosadíme tato čísla, dostáváme xi = k 0, 001600000000 − 0, 001602564103 = −3899999, 337. Pokud však zaokrouhlíme 1 624 na šest desetinných míst, dostáváme xi = k 0, 001600 − 0, 001603 = −3333333, 333 Absolutní chyba je tedy v prvním případě −0, 663 a ve druhém −566666, 667. Relativní chyba je v prvním případě 0, 17 × 10−6 , tj. zanedbatelná, a ve druhém 0, 1452991454, tj. už přibližně 14, 5%. Zabývejme se proto nyní otázkou, jak se zaokrouhlovací chyby šíří při základních aritmetických operacích. Nechť x a y jsou aproximace čísel ˆx a ˆy. Pro chybu součtu a rozdílu platí | E(x ± y)| = | (ˆx ± ˆy) − (x ± y)| = | (ˆx − x) ± (ˆy − y)| = (1.2) = | E(x) ± E(y)| ≤ |E(x)| + |E(y)| ≤ ME(x) + ME(y) Odhad chyby součinu a podílu je o něco pracnější. Pro chybu součinu platí | E(x · y)| = | ˆxˆy − xy| = | E(x) · y + E(y) · x + E(x) · E(y)| ≤ (1.3) ≤ | y| · ME(x) + | x| · ME(y) + ME(x) · ME(y) Protože součin ME(x) · ME(y) bývá vzhledem k ostatním sčítancům zanedbatelný, dostáváme pro relativní chybu součinu | RE(xy)| ≈ E(x) · y + E(y) · x xy ≤ MR(x) + MR(y) (1.4) Podobně pro chybu podílu platí E(x y ) = x + E(x) y + E(y) − x y = E(x) · y − x · E(y) y(y + E(y)) ≤ | y|ME(x) + | x|ME(y) | y|(| y| − ME(y)) (1.5) 1.4 Zaokrouhlování. Šíření chyb při výpočtu 15 a je-li ME(y) zanedbatelná vzhledem k y, pak pro relativní chybu podílu dostaneme R(x y ) ≤ MR(x) + MR(y) Příklad 1.3. Je dána funkce f(x) = 3e5x + 4x2 + 2x + 2 (která může být např. řešením některé z počátečních úloh uváděných v kapitole ?? nebo 9). Určete její funkční hodnotu v bodech x0 = 2, x1 = 5, x2 = 10 a dále v bodech x0 +δ, x1 +δ a x2 +δ, jestliže δ = 10−8 . Totéž zopakujte pro δ = 10−6 . Dále určete |f(xi +δ)−f(xi)| pro i = 0, 1, 2 a obě hodnoty δ. Řešení. Příslušné hodnoty získané softwarem Maple s implicitně nastavenou přesností pro δ = 10−8 jsou xi xi + δ f(xi) f(xi + δ) |f(xi + δ) − f(xi)| 2 2,000000001 66101,39737 66101,39737 0. 5 5,000000001 0,2160146981 · 1012 0,2160146981 · 1012 0. 10 2,000000001 0,1555411659 · 1023 0,1555411659 · 1023 0. Hodnoty získané stejným způsobem pro δ = 10−6 jsou xi xi + δ f(xi) f(xi + δ) |f(xi + δ) − f(xi)| 2 2,000000001 66101,39737 66101,43043 0. 5 5,000000001 0,2160146981 · 1012 0,2160148061 · 1012 108000 10 2,000000001 0,1555411659 · 1023 0,1555412436 · 1023 0,777 · 1016 Přitom označení 0. využívá Maple pro označení zaokrouhlení numericky získané hodnoty, tj. prakticky 0. . = 0. Při vyhodnocování významu výše uvedených odchylek musíme samozřejmě přihlédnout k problematice relativní a absolutní chyby. Nyní se proto ještě musíme zmínit obecně o chybě při výpočtu funkční hodnoty. Máme stanovit, jaké chyby se dopustíme při výpočtu hodnoty funkce f(x1, x2, . . . , xn) v bodě [ˆx1, ˆx2, . . . , ˆxn], jestliže přesné hodnoty ˆxi nahradíme přibližnými hodnotami xi. Chybu i-té proměnné označíme Ei. Platí f(ˆx1, ˆx2, . . . , ˆxn) = f(x1, x2, . . . , xn) + n i=1 Ei ∂f ∂xi + 1 2 n i=1 Ei ∂ ∂xi 2 f + · · · kde parciální derivace se berou v bodě [x1, x2, . . . , xn]. Protože obvykle budeme moci předpokládat, že členy obsahující součiny chyb jsou malé ve srovnání s ostatními členy na pravé straně, můžeme psát f(ˆx1, ˆx2, . . . , ˆxn) − f(x1, x2, . . . , xn) ≈ n i=1 Ei ∂f ∂xi (1.6) 16 Úvod do numerické matematiky Všimněme si, že 1.2, 1.3 a 1.5 jsou speciálními případy tohoto vzorce. Zde je na místě zmínit se obecněji o problému, který jsme ukázali v Příkladu 1.2. Při odečítání dvou sobě blízkých čísel se může velmi zvětšit relativní chyba. Pokud pak takto získaný výsledek použijeme dále jako dělitele, může dojít k podstatnému zvětšení absolutní chyby. Příklad 1.4. Nechť x = 2, 78493 a y = 2, 78469 jsou aproximace čísel ˆx a ˆy získané zaokrouhlením těchto čísel na pět desetinných míst. Určete odhady absolutní a relativní chyby rozdílu x − y. Řešení: Mezní absolutní chyby x a y jsou podle 1.1 ME(x) = ME(y) = 1 2 10−5 . Tedy podle 1.2 | E(x − y)| ≤ 10−5 = ME(x − y). Mezní relativní chyba x je MR(x) = 1 2 10−5 2,78493 . = 1, 8 · 10−6 (MR(y) vyjde skoro stejně), zatímco pro rozdíl může být relativní chyba řádově vyšší, její odhad je roven ME(x−y) x−y = = 10−5 0,00024 . = 4, 2 · 10−2 . Příklad 1.5. Nechť z = 1, 23456 je aproximace čísla ˆz získaná zaokrouhlením tohoto čísla na pět desetinných míst. Určete odhad chyby podílu z x−y , kde x a y jsou čísla z příkladu 1.4 Řešení: Z příkladu 1.4 známe odhad chyby jmenovatele. Dále víme, že ME(z) = 1 2 10−5 . Pro odhad chyby podílu stačí dosadit do 1.5: E z x − y ≤ | x − y| · ME(z) + | z| · ME(x − y) | x − y|(| x − y| − ME(x − y)) = = 0, 00024 · 1 2 · 10−5 + 1, 23456 · 10−5 0, 00024 · (0, 00024 − 10−5) . = 2, 2 · 102 Tedy, zatímco vstupní hodnoty x, y a z měly chybu řádově v stotisícinách, výsledek může mít chybu řádově ve stovkách. 1.5 Podmíněnost numerických úloh a numerická stabilita algoritmů Údaje, které se vyskytují v matematickém přepisu problému, jehož řešení nás zajímá, často získáváme jako výsledky měření nebo jako výsledky nějakých dalších výpočtů. Velmi často tedy bývají zatíženy chybami, které se při zpřesňování měření nebo výpočtu snažíme korigovat. Při numerickém řešení různých úloh proto musíme zkoumat, jaký vliv na výsledek mají malé změny ve vstupních hodnotách nebo zaokrouhlování během výpočtu. Řešení numerických úloh můžeme považovat za postup, kterým přiřazujeme vstupním údajům výstupní data. Je-li toto přiřazení spojité zobrazení, pak říkáme, že numerická úloha je korektní úloha, v opačném případě se jedná o úlohu nekorektní. 1.5 Podmíněnost numerických úloh a numerická stabilita algoritmů 17 Pro tyto úlohy má zásadní význam relativní citlivost výsledku na malé změny ve vstupních parametrech úlohy. Korektní úloha je dobře podmíněná, jestliže malým relativním změnám vstupních údajů odpovídají malé relativní změny výstupních údajů. Číslo Cp = relativní chyba výstupních údajů relativní chyba vstupních údajů nazýváme číslo podmíněnosti úlohy. Pro dobře podmíněné úlohy je číslo Cp blízké číslu 1. Pokud malé relativní změny na vstupu způsobí velké relativní změny na výstupu, pak mluvíme o špatně podmíněné úloze. Řešení špatně podmíněných úloh je nejlépe se vyhnout, protože výsledky jakéhokoli algoritmu jsou velmi nespolehlivé. Podobně řekneme, že algoritmus je dobře podmíněný, je-li málo citlivý na poruchy ve vstupních datech. Kromě nepřesností ve vstupních údajích ovlivňuje výsledek použitého algoritmu i zaokrouhlování čísel během výpočtu. Je-li vliv zaokrouhlovacích chyb na výsledek malý, mluvíme o numericky stabilním algoritmu. Algoritmus dobře podmíněný a numericky stabilní se nazývá stabilní. Příklad 1.6. Analytickým řešením soustavy rovnic 4, 1x + 2, 8y = 4, 1 9, 7x + 6, 6y = 9, 7 jsou čísla x = 1, y = 0. Pokud však číslo 4, 1 na pravé straně první rovnice nahradíme číslem 4, 11, získáme řešení x = 0, 34, y = 0, 97! Jestliže tato soustava rovnic je zápisem nějakého reálného inženýrského problému, pak řešení rozhodně nekončí ve chvíli, kdy oznámíme výsledek. Musíme vědět, resp. se ptát, jaký je původ koeficientů v soustavě (výsledek měření? výsledek numerického (tedy pravděpodobně nepřesného), resp. analytického (tedy pravděpodobně přesného) výpočtu?) a zvážit možnost, zda nemůže v zadané situaci dojít k tomu, že některé koeficienty budou „trochu jiné. Správným závěrem v podobných situacích totiž nemusí být ani výsledek x = 1, y = 0 ani výsledek x = 0, 34, y = 0, 97, ale zjištění, že úloha je takového charakteru, že ji dostupnými prostředky nemůžeme řešit, nebo že vůbec nemá smysl ji chtít řešit. Problematika čísla podmíněnosti úlohy nebo rozhodnutí, zda je úloha korektní, je natolik komplexní, že přesahuje rámec tohoto textu. Ve všech dále uváděných příkladech proto budeme diskusi na toto téma vynechávat. Uvědomte si však, že problém korektnosti zadání je složitější, než se zdá při letmém pohledu na Příklad 1.6. Víme totiž, jaký je původ koeficientů v této soustavě? Nemohla například být tato konkrétní soustava sestavena na základě nějakých vzorců v i–tém kroku algoritmu, přičemž v několika předchozích krocích se tento problém neobjevil? 18 Úvod do numerické matematiky 1.6 Používání matematického softwaru Numerické metody jsou ze své povahy algoritmy. Problémy, které budete řešit ve své inženýrské praxi, budou často velmi složité, takže k jejich řešení budete samozřejmě využívat výpočetní techniku. V této souvislosti je nutné, aby si člověk byl vědomý nedokonalostí matematického softwaru. U každé numerické metody byste proto měli mj. zvážit, jakým způsobem software zadanou úlohu řeší. Dohledat odpověď na tuto otázku je často velmi pracné nebo dokonce úplně nemožné – a přitom bychom ji znát měli. V následujících kapitolách si proto tuto otázku průběžně pokládejte a ptejte se, jak software, resp. uživatel, který pomocí softwaru bude zadanou úlohu řešit, ověřuje přípustnost zadání, v jaké formě chystá vstupní data, jak interpretuje získaný výsledek, jak ověří, že strojově získaný výsledek je správný, na základě čeho může usoudit, že správný není apod. Obecně lze totiž říci, že pokud za vyřešení nějakého problému považujeme nalezení vhodného příkazu vhodného matematického softwaru, pak to znamená, že se buď jedná o triviální problém, nebo že podstatě problému vůbec nerozumíme. Ukažme si nyní několik příkladů chyb, které vyplývají ze skutečnosti, že uživatel příliš spoléhá na strojově získané výsledky. Příklad 1.7. Určete součet řady ∞ n=1 1 n . Řešení. Z prvního ročníku víte, že tato řada je divergentní, a součet tedy neexistuje. Předpokládejme, že si tento poznatek nevybavíte. Pokud pracujete se softwarem Maple, příkaz sum(1/n,n=1..infinity) správně vypíše výsledek ∞. (Otázky: Znamená to, že součet je nekonečno nebo že řadu nelze sečíst? Nebo tyto dva pojmy znamenají totéž?) Software MATLAB tento symbolický zápis nezná. Jak zadáte požadavek na sečtení nekonečného počtu členů této řady? Lze nekonečno „aproximovat nějakým dostatečně velkým číslem? Pokusme se v Maple příklad 1.7 modifikovat. Výsledkem příkazu sum(1/n^2,n=1..infinity) bude odpověď π2 6 , výsledkem příkazu sum(1/n^4,n=1..infinity) bude odpověď π4 90 , ale výsledkem příkazu sum(1/n^3,n=1..infinity) bude odpověď ζ(3). Co tato odpověď znamená? Příklad 1.8. Najděte průsečíky funkcí f1(x, y) = sin (x + y) + ey − 1 a f2(x, y) = = cos (x − y)−ln y−1, které leží v oblasti −10, 10 × 0, 20 . Průsečíky určete na základě grafického výstupu softwaru Maple. Řešení. Označme funkce jako v zadání. Obrázek vlevo jsme získali pomocí příkazu implicitplot([f1,f2],x=-10..10,y=0..20,color=[red,blue]), obrázek vpravo pomocí příkazu implicitplot([f1,f2],x=-10..10,y=0..20,color=[red,blue],grid=[150,150]). 1.6 Používání matematického softwaru 19 Použití funkcí předchází nahrání knihovny plots příkazem with(plots). Je možné se spolehnout na to, že uživatel na první pohled pozná, že obrázek vlevo je nesmyslný? Proč Maple zobrazuje jen oblast −10, 10 × 0, 1 , když jsme požadovali oblast −10, 10 × × 0, 20 ? Obr. 1.1: K příkladu 1.8: Soustava nemá řešení . . . Obr. 1.2: . . . nebo jich má (možná) nekonečně mnoho? Příklad 1.9. Strojově vyhledejte body nespojitosti funkce y = 1 tg 1 x na intervalu (−π 2 , π 2 ). Před tím si nejprve pečlivě rozmyslete, jaký postup použijete. U následujícího integrálu si sami rozhodněte, zda se jedná o chybu nebo o správný výsledek, a zdůvodněte si, proč jste získali níže uvedené „podivné výsledky. Příklad 1.10. Vypočtěte 1 0 ln xdx. Řešení. Po zadání příkazu int(log(x),x=0..1) vypíše Maple výsledek -1. Je tato hodnota správná? Nemá být správná odpověď, že integrál diverguje? Víme, že ln xdx = = x ln x−x. Označme f:=x*log(x). Po dosazení x = 0 příkazem subs(x=0,f) dostáváme odpověď 0. Na příkaz 0*log(0) přitom dostáváme chybové hlášení. Proč? 20 Úvod do numerické matematiky 1.7 Studované typy úloh V dalším textu se budeme zabývat následujícími typy úloh: - hledání řešení soustavy lineárních rovnic – ukážeme, jak hledat řešení velkých soustav rovnic, které není vhodné nebo možné řešit pomocí metod známých z prvního ročníku; požadavek na řešení soustavy lineárních rovnic se bude také objevovat v rámci postupu řešení některých jiných úloh, - hledání řešení jedné nelineární rovnice – ukážeme, jak řešit rovnice, které přesahují rámec středoškolského studia, resp. rovnice, které analytickými postupy obecně řešit nelze, - hledání řešení soustav nelineárních rovnic – ukážeme, jak řešit soustavy rovnic, které se skládají z několika nelineárních rovnic (viz např. soustava z Příkladu 1.8), nebo soustav rovnic, které vzniknou z požadavku určit bod, ve kterém funkce komplexní proměnné nabývá předem dané hodnoty, - hledání přibližného vyjádření funkce – známými body budeme prokládat neznámou funkci, přičemž jimi můžeme prokládat buď jednu funkci nebo sadu funkcí podobného typu, - určování neznámé funkce známého typu – jestliže budeme znát způsob, jakým závisí jedna proměnná na druhé, budeme na základě výsledků měření usuzovat, jak přesně tato závislost vypadá, - derivování a integrování neznámých nebo komplikovaných funkcí – budeme derivovat a zejména integrovat funkce, jejichž derivování je pracné a integrování pracné nebo nemožné; navíc budeme derivovat a integrovat funkce zadané nikoli funkčním předpisem ale jen tabulkou funkčních hodnot v několika bodech, - hledání numerického řešení diferenciálních rovnic – ukážeme, že postupy řešení diferenciálních rovnic, které jste se učili v předmětu Matematika 2 lze nahradit jinými, v mnoha ohledech jednoduššími, které lze navíc použít i na typy rovnic, které analyticky řešit neumíme. Cenou za tuto výhodu však bude, že o řešení těchto rovnic získáme mnohem méně informací, než kdybychom používali analytické postupy. V magisterském studiu se budete numerickým metodám věnovat v předmětu Moderní numerické metody. K některým úlohám se vrátíte, některé další (např. problém hledání vlastních čísel matice) v tomto předmětu doplníte. 21 2 Numerické řešení soustavy lineárních rovnic S požadavkem řešit soustavu lineárních rovnic jste se setkali již několikrát. Na střední škole jste řešili soustavy 2 rovnic o 2 neznámých. V prvním ročníku jste se seznámili s Gaussovou eliminační metodou a Cramerovým pravidlem – metodami, které umožňovaly řešit i rozsáhlejší soustavy. Při řešení soustav lineárních rovnic jste využívali poznatky z lineární algebry, které vám umožňovaly rozhodnout, zda má soustava žádné, jedno nebo nekonečně mnoho řešení. Víte, jak popsat všech nekonečně mnoho řešení dané soustavy rovnic a víte, jaký je algebraický význam takové množiny řešení, resp. vektorů, které tuto množinu popisují. V prvním ročníku jste se však nezabývali otázkou původu zadané soustavy rovnic ani otázkou původu a významu koeficientů, které se v ní vyskytují. Všechny soustavy rovnic, se kterými jste se setkali, byly „hezké a „rozumně velké a měly „hezké (tj. celočíselné a v absolutní hodnotě relativně malé) koeficienty. Nyní si ukážeme, že v případě „nehezkých soustav Gaussova eliminace a Cramerovo pravidlo často narážejí na limity své použitelnosti. Ukážeme dva způsoby numerického řešení soustav Ax = b, kde matice A je čtvercová, tj. soustav, které mohou mít jen jedno řešení. Ukážeme, proč a kdy tyto metody fungují a kdy je jejich použitelnost omezená. V magisterském studiu se k problematice řešení soustav lineárních rovnic ještě vrátíte v předmětu Moderní numerické metody. Formulace problému Najděte řešení soustavy n lineárních rovnic o n neznámých. 22 Numerické řešení soustavy lineárních rovnic 2.1 Motivace a základní pojmy Označení Připomeňme, že soustavu n lineárních rovnic o n neznámých x1, x2, . . . , xn nejčastěji zapisujeme jedním ze dvou způsobů: používáme buď „dlouhý zápis a11x1 + a12x2 + . . . + a1nxn = b1 a21x1 + a22x2 + . . . + a2nxn = b2 (2.1) . . . an1x1 + an2x2 + . . . + annxn = bn nebo používáme zkrácený maticový zápis Ax = b, (2.2) kde A = (aij), i, j = 1, . . . , n, b = (b1, b2, . . . , bn)T , x je vektor neznámých. 2.2 Diskuse o počtu řešení V této kapitole se budeme zabývat řešením soustavy n lineárních rovnic o n neznámých. Budeme tedy ignorovat případy, kdy je počet rovnic jiný než počet neznámých, tedy případy soustav, které nemají žádné řešení nebo naopak mají nekonečně mnoho řešení. Z prvního ročníku víte, že soustava n lineárních rovnic o n neznámých nemusí mít vždy právě jedno řešení. Naopak, může mít jak právě jedno, tak také žádné nebo naopak nekonečně mnoho řešení. Nové metody, které si v této části ukážeme, povedou k nalezení jednoho konkrétního řešení – při nesprávném použití i v situaci, kdy řešení je nekonečně mnoho. V případě souhry náhod mohou tyto metody dokonce neznalému řešiteli naznačovat podobu neexistujícího řešení. Před tím, než zde uváděné metody použijete, byste si proto měli ověřit, že zadaná soustava má právě jedno řešení. Někdy bude odpověď vyplývat z kontextu technického zadání problému. Někdy tomu tak nebude a může se stát, že praktické zjišťování počtu řešení dané soustavy bude velmi obtížné. 2.3 Příklady reálných zadání Jeden z nejběžnějších výskytů soustavy lineárních rovnic je v teoretické elektrotechnice, kdy se často setkáváme s požadavkem vypočítat proudy ve všech větvích elektrického obvodu s danými parametry. Poté, co na daný obvod aplikujeme Ohmův a dva Kirchhoffovy zákony, získáme soustavu lineárních rovnic pro neznámé proudy ik. Obecně je těchto 2.4 Přímé metody 23 rovnic více než neznámých. Díky poznatkům z teoretické elektrotechniky umíme vybrat právě tolik rovnic, kolik je neznámých. Najít řešení soustavy lineárních rovnic pak znamená určit příslušné proudy ik. Ve skriptech Matematika 1 byl tento příklad pro konkrétní obvod řešen v kapitole 2.1 Gaussovou eliminační metodou. Úloha hledání řešení soustavy lineárních rovnic bude součástí některých dalších problémů uváděných v tomto textu. Setkáte se s ní při řešení soustav nelineárních rovnic nebo při úloze o aproximaci pomocí splajnů nebo pomocí metody nejmenších čtverců. Z pokročilejších témat ji využívají například úlohy o numerickém řešení diferenciálních rovnic nebo soustav diferenciálních rovnic. 2.4 Přímé metody Metody řešení soustavy lineárních rovnic, se kterými jste se seznámili v prvním ročníku, nazýváme přímé. Gaussovou eleminační metodou nebo Cramerovým pravidlem najdeme (v ideálním případě) přesné řešení zadané soustavy, a to po předem daném konečném počtu kroků. 2.4.1 Gaussova eliminační metoda Gaussova eliminační metoda Základem této metody je úprava soustavy na trojúhelníkový tvar pomocí elementárních úprav. Pro jednoduchost označování přidáme v soustavě 2.1 vektor pravých stran b jako (n+1)-ní sloupec k matici A. Pak můžeme soustavu přepsat ve tvaru a11 x1 + a12 x2 + · · · + a1n xn = a1 n+1 a21 x1 + a22 x2 + · · · + a2n xn = a2 n+1 ... ... an1 x1 + an2 x2 + · · · + ann xn = an n+1 Nyní se pomocí přičítání vhodných násobků první rovnice budeme snažit z ostatních rovnic eliminovat x1. (Je-li a11 = 0, vyměníme první rovnici s první takovou rovnicí, která na prvním místě nulu nemá.) Odečteme-li postupně první rovnici, vynásobenou číslem ai1 a11 , od i-té rovnice, potom pro i = 2, 3, . . . , n, dostaneme a11 x1 + a12 x2 + · · · + a1n xn = a1 n+1 a (1) 22 x2 + · · · + a (1) 2n xn = a (1) 2 n+1 ... ... a (1) n2 x2 + · · · + a (1) nn xn = a (1) n n+1 24 Numerické řešení soustavy lineárních rovnic Nové koeficienty jsou vypočteny jako a (1) ij = aij − ai1 a11 a1j, i = 2, 3, . . . , n, j = 2, 3, . . . , n+1. Nyní budeme pomocí vhodných násobků druhé rovnice eliminovat x2 ve třetí, čtvrté, . . . n-té rovnici. Opět, je-li a (1) 22 = 0, vyměníme druhou rovnici s první z dalších rovnic, ve které u x2 nula není. Tím dostaneme a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = a1 n+1 a (1) 22 x2 + a (1) 23 x3 + · · · + a (1) 2n xn = a (1) 2 n+1 a (2) 33 x3 + · · · + a (2) 3n xn = a (2) 3 n+1 ... ... a (2) n3 x3 + · · · + a (2) nn xn = a (2) n n+1 kde a (2) ij = a (1) ij − a (1) i2 a (1) 22 a (1) 2j , i = 3, 4, . . . , n, j = 3, 4, . . . , n + 1. Pokračujeme-li dále stejným způsobem, dostaneme po n − 1 krocích soustavu v trojúhelníkovém tvaru a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = a1 n+1 a (1) 22 x2 + a (1) 23 x3 + · · · + a (1) 2n xn = a (1) 2 n+1 a (2) 33 x3 + · · · + a (2) 3n xn = a (2) 3 n+1 ... a (n−1) nn xn = a (n−1) n n+1 Z této soustavy snadno určíme hledané řešení: xn = a (n−1) n n+1 a (n−1) nn (2.3) xn−1 = 1 a (n−2) n−1 n−1 a (n−2) n−1 n+1 − a (n−2) n−1 n xn ... x1 = 1 a11 a1n+1 − a12 x2 − a13 x3 − · · · − a1n xn Postup vedoucí k soustavě 2.3 se nazývá Gaussova eliminace, výpočet neznámých dle 2.3 zpětná substituce nebo též zpětný chod. Číslo a (k−1) kk nazýváme hlavní prvek. Příklad 2.1. Pomocí Gaussovy eliminace vyřešte soustavu rovnic 1, 67 x1 − 0, 15 x2 + 2, 51 x3 = −0, 84 2, 15 x1 + 3, 02 x2 − 0, 17 x3 = 2, 32 1, 71 x1 − 2, 83 x2 + 1, 45 x3 = 1, 26 Řešení. Koeficienty soustavy zapíšeme do matice:   1, 67 −0, 15 2, 51 −0, 84 2, 15 3, 02 −0, 17 2, 32 1, 71 −2, 83 1, 45 1, 26   2.4 Přímé metody 25 Od druhého řádku odečteme první řádek vynásobený 2,15 1,67 a od třetího vynásobený 1,71 1,67 (všechny mezivýsledky jsou zaokrouhlovány na pět desetinných míst):   1, 67 −0, 15 2, 51 −0, 84 0 3, 21311 −3, 40144 3, 40144 0 −2, 67641 −1, 12012 2, 12012   Nyní od třetího řádku odečteme druhý vynásobený −2,67641 3,21311 . Tím dostaneme   1, 67 −0, 15 2, 51 −0, 84 0 3, 21311 −3, 40144 3, 40144 0 0 −3, 95339 4, 95339   , což už odpovídá soustavě v trojúhelníkovém tvaru 1, 67 x1 − 0, 15 x2 + 2, 51 x3 = −0, 84 3, 21311 x2 − 3, 40144 x3 = 3, 40144 − 3, 95339 x3 = 4, 95339 Řešení této soustavy je x3 = 4, 95339 −3, 95339 . = −1, 25295 x2 = 1 3, 21311 3, 40144 + 3, 40144 · (−1, 25295) . = −0, 26777 x1 = 1 1, 67 −0, 84 + 0, 15 · (−0, 26777) − 2, 51 · (−1, 25295) . = 1, 35613 Řešení získané Gaussovou eliminační metodou by bylo přesné, kdybychom se v průběhu výpočtu nedopouštěli zaokrouhlovacích chyb. Všimněte si, že během výpočtu neustále pracujeme se součty, rozdíly, součiny a podíly čísel, která musíme více či méně zaokrouhlovat. Dopouštíme se tedy přesně těch chyb, o kterých hovoří kapitola 1.4 a příklady 1.2, 1.4 a 1.5. Problému se vyhneme jen v ideálním případě „dobře připravených soustav rovnic, se kterými jste se setkávali v prvním ročníku. V reálných technických zadáních, kde koeficienty matice A, resp. složky vektoru b, získáváme jako výsledky měření nebo nějakých jiných výpočtů, však problém zaokrouhlování může i při výpočtu pomocí kvalitního softwaru způsobit značné problémy. Algoritmus Gaussovy eliminace se proto někdy modifikuje následujícím způsobem. Eliminace s výběrem hlavního prvku Eliminace s výběrem hlavního prvku je modifikace Gaussovy eliminační metody, která slouží ke zmenšení zaokrouhlovacích chyb. 26 Numerické řešení soustavy lineárních rovnic Je-li absolutní hodnota některého z dělitelů a (i−1) ii malá ve srovnání s absolutní hodnotou prvků a (i−1) ki , k > i, může hrozit nebezpečí velkých zaokrouhlovacích chyb. Zaokrouhlovací chyba v absolutní hodnotě malého čísla totiž způsobí velkou chybu v jeho převrácené hodnotě, tedy i v číslech, jimiž násobíme řádky při eliminaci. Abychom se vyhnuli dělení čísly, která jsou malá vzhledem k ostatním veličinám, použijeme postup zvaný výběr hlavního prvku: V prvním kroku eliminace najdeme rovnici, která má u x1 v absolutní hodnotě největší koeficient. Vyměníme ji s první rovnicí a pak pomocí jejích násobků eliminujeme x1 z ostatních rovnic. Ve druhém kroku najdeme mezi všemi rovnicemi kromě první tu rovnici, která má v absolutní hodnotě největší koeficient u x2. Vyměníme ji s druhou rovnicí a pomocí jejích násobků eliminujeme x2 z dalších rovnic. Obecně v k-tém kroku eliminace najdeme mezi posledními n − k + 1 rovnicemi tu, která má největší koeficient u xk, vyměníme ji s k-tou rovnicí a pak pomocí ní eliminujeme. Příklad 2.2. Soustavu z příkladu 2.1 řešte eliminací s výběrem hlavního prvku. Řešení. Postupujeme podobně jako v předchozím příkladu. Vybraný hlavní prvek je vždy v rámečku.    1, 67 −0, 15 2, 51 −0, 84 2,15 3, 02 −0, 17 2, 32 1, 71 −2, 83 1, 45 1, 26    ∼    2, 15 3, 02 −0, 17 2, 32 0 −2, 49577 2, 64205 −2.64205 0 -5,23195 1.58521 −0, 58521    ∼   2, 15 3, 02 −0, 17 2, 32 0 −5, 23195 1.58521 −0, 58521 0 0 1, 88586 −2, 36289   Následovala by zpětná substituce. Právě popsanou metodu bychom mohli nazvat výstižněji eliminační metodou s částečným výběrem hlavního prvku. Úplný výběr hlavního prvku spočívá v tom, že v k-tém kroku volíme za hlavní prvek ten, který je největší v absolutní hodnotě v submatici vytvořené vynecháním prvních k−1 řádků a sloupců v upravované matici. Nutnost hledat největší prvek v celé submatici a vyměňovat řádky i sloupce způsobuje větší časovou (a programátorskou) náročnost této metody. Gaussova eliminační metoda s částečným výběrem je proto obvykle efektivnější než metoda s úplným výběrem hlavního prvku. Poznamenejme, že svou roli hraje také časová náročnost výpočtu, protože např. u Gaussovy eliminace s úplným výběrem hlavního prvku je nutné provést až n3 /3 aritmetických operací, což je v případě velkých hodnot n (tisíce, desetitisíce rovnic) náročné i pro profesionální matematický software. 2.5 Iterační metody 27 2.4.2 Cramerovo pravidlo Je-li matice soustavy 2.2 regulární, tj. její determinant je nenulový, pak řešení soustavy lze vypočítat jako x1 = D1 D , x2 = D2 D , . . . , xn = Dn D kde D je determinant matice soustavy A a Dk, k = 1, . . . , n jsou determinanty matic, které vzniknou z matice A nahrazením k-tého sloupce této matice vektorem pravých stran b. Příklad 2.3. Pomocí Cramerova pravidla najděte řešení soustavy rovnic 2 x1 + 3 x2 = 5 −x1 + 2 x2 = 8 Řešení. Determinant matice soustavy je D = 2 3 −1 2 = 7 a determinanty matic vzniklých nahrazením prvního, resp. druhého sloupce matice soustavy vektorem pravých stran jsou D1 = 5 3 8 2 = −14, D2 = 2 5 −1 8 = 21. Řešení soustavy je tedy x1 = −14 7 = −2, x2 = 21 7 = 3. Cramerovo pravidlo je vhodné pouze pro velmi malé soustavy rovnic, např. pro soustavu dvou rovnic s „ošklivými koeficienty. Pro větší soustavy by bylo nutné počítat mnoho determinantů vysokého řádu, což je velmi pracné. Proto se pro řešení velkých soustav rovnic tato metoda nepoužívá. 2.5 Iterační metody V přecházející kapitole jsme viděli, že použití přímých metod hledání řešení soustavy n lineárních rovnic o n neznámých má mnohá úskalí. Ukážeme si nyní jeden numerický přístup k hledání řešení soustavy lineárních rovnic – iterační metody. Tyto způsoby nepovedou k přesnému řešení po konečném, předem daném počtu kroků, ale postupně se k němu přibližují za pomoci algoritmu, který v jistou chvíli po splnění nějaké podmínky ukončíme, čímž dostaneme přibližné řešení soustavy. Na jednom místě řešení budeme moci postupovat dvěma různými cestami, a sice Jacobiho nebo Gauss Seidelovou 28 Numerické řešení soustavy lineárních rovnic metodou. Uvedenými metodami nebudeme moci najít řešení libovolné soustavy, ale jen takové soustavy, která bude splňovat jisté podmínky – tzv. podmínky konvergence. Jacobiho a Gauss-Seidelova metoda zdaleka nejsou jedinými numerickými metodami na hledání řešení soustavy n lineárních rovnic o n neznámých. V technické praxi závisí volba metod na mnoha faktorech – kromě velikosti soustavy také např. na tom, zda matice není nějakého speciálního typu, počtu nulových koeficientů apod. Jacobiho a Gauss-Seidelova metoda se používají zejména pro tzv. řídké matice, tj. matice se značným počtem nulových koeficientů. V kapitole 5.2 si ukážeme, že např. úloha o aproximaci pomocí splajnů vede na soustavu lineárních rovnic, která je tzv. třídiagonální, která má nenulové prvky jen na hlavní diagonále a na diagonálách nad a pod hlavní diagonálou (matice tohoto typu jsou označovány jako pásové). Pro řešení soustav s malým počtem nenulových koeficientů se častěji využívají jiné metody, například metoda sdružených gradientů. uvedená v předmětu Moderní numerické metody. I pro hledání řešení výše uvedených pásových matic existují speciální numerické metody. 2.5.1 Iterační tvar soustavy rovnic Budeme opět pracovat se soustavou lineárních rovnic 2.1, tj. se soustavou a11 x1 + a12 x2 + · · · + a1n xn = b1 a21 x1 + a22 x2 + · · · + a2n xn = b2 ... ... an1 x1 + an2 x2 + · · · + ann xn = bn Jestliže nyní z první rovnice vyjádříme x1, ze druhé rovnice x2 atd., dostaneme x1 = 1 a11 b1 − a12 x2 − a13 x3 − · · · − a1n xn (2.4) x2 = 1 a22 b2 − a21 x1 − a23 x3 − · · · − a2n xn ... xn = 1 ann bn − an1 x1 − an2 x2 − · · · − an n−1 xn−1 Pokud nyní zvolíme nějaké počáteční hodnoty neznámých x1 . . . xn a dosadíme je do pravé strany vyjádření 2.4, budeme schopni pomocí těchto vztahů vypočítat jiné hodnoty týchž neznámých. Pokud tyto nové hodnoty opět dosadíme do vztahů 2.4, budeme moci celý proces libovolně dlouho opakovat. První volbu hodnot neznámých x1 . . . xn budeme nazývat počáteční aproximace a označíme ji x(0) = (x (0) 1 , x (0) 2 , . . . , x (0) n )T . Hodnoty neznámých x1, . . . , xn získané výpočtem v r-tém kroku výpočtu označíme x(r) = (x (r) 1 , x (r) 2 , . . . , x (r) n )T a nazveme r-tá aproximace. Výpočet samotný budeme označovat jako iterační proces. Dále uvedené vztahy 2.5, resp. 2.6, budeme nazývat iterační vztahy. Posloupnost x(0) , x(1) , . . . , x(r) , x(r+1) , . . . budeme nazývat posloupnost postupných aproximací a budeme chtít zajistit, aby konvergovala k přesnému řešení zadané soustavy lineárních rovnic. 2.5 Iterační metody 29 Všimněte si, že při výpočtu druhé a každé další neznámé máme k dispozici vždy dvě obecně různé hodnoty již dříve vypočtených neznámých: jednak hodnotu z předchozího kroku iteračního procesu, jednak hodnotu, kterou jsme vypočetli v právě prováděném kroku. Vzorce pro výpočet r + 1 aproximace ze známých hodnot r-té aproximace tedy mohou vypadat buď takto x (r+1) 1 = 1 a11 b1 − a12 x (r) 2 − a13 x (r) 3 − · · · − a1n x(r) n (2.5) x (r+1) 2 = 1 a22 b2 − a21 x (r) 1 − a23 x (r) 3 − · · · − a2n x(r) n ... x(r+1) n = 1 ann bn − an1 x (r) 1 − an2 x (r) 2 − · · · − an n−1 x (r) n−1 , nebo takto x (r+1) 1 = 1 a11 b1 − a12 x (r) 2 − a13 x (r) 3 − · · · − a1n x(r) n (2.6) x (r+1) 2 = 1 a22 b2 − a21 x (r+1) 1 − a23 x (r) 3 − · · · − a2n x(r) n x (r+1) 3 = 1 a33 b3 − a31 x (r+1) 1 − a32 x (r+1) 2 − · · · − a3n x(r) n ... x(r+1) n = 1 ann bn − an1 x (r+1) 1 − an2 x (r+1) 2 − · · · − an n−1 x (r+1) n−1 , Pokud pro výpočet vždy používáme vztahy 2.5, hovoříme o Jacobiho metodě, zatímco pokud používáme vztahy 2.6, hovoříme o Gauss-Seidelově metodě. Pro ilustraci postupu řešení můžeme uvést následující dva příklady. Příklad 2.4. Jacobiho metodou řešte soustavu 15 x1 − x2 + 2 x3 = 30 2 x1 − 10 x2 + x3 = 23 x1 + 3 x2 + 18 x3 = −22 Řešení. Iterační vztahy jsou x (r+1) 1 = 1 15 30 + x (r) 2 − 2 x (r) 3 30 Numerické řešení soustavy lineárních rovnic x (r+1) 2 = − 1 10 23 − 2 x (r) 1 − x (r) 3 x (r+1) 3 = 1 18 −22 − x (r) 1 − 3 x (r) 2 Pokud jako počáteční aproximaci zvolíme x = (0, 0, 0)T , pak x (1) 1 = 1 15 (30 + 0 − 2 · 0) = 2 x (1) 2 = − 1 10 (23 − 2 · 0 − 0) = −2, 3 x (1) 3 = 1 18 (−22 − 0 − 3 · 0) = −1, ¯2. Tato a další aproximace jsou shrnuty v tabulce: r x (r) 1 x (r) 2 x (r) 3 0 0 0 0 1 2 −2, 3 −1, 2222 2 2,0096 −2, 0222 −0, 9500 3 1,9918 −1, 9930 −0, 9968 4 2,0000 −2, 0013 −1, 0007 Lze odhadnout, že posloupnost postupných aproximací konverguje k řešení soustavy (2,- 2,-1). Příklad 2.5. Řešení soustavy z Příkladu 2.4 hledejte Gauss-Seidelovou metodou. Řešení. Vypíšeme iterační vztahy x (r+1) 1 = 1 15 30 + x (r) 2 − 2 x (r) 3 x (r+1) 2 = − 1 10 23 − 2 x (r+1) 1 − x (r) 3 x (r+1) 3 = 1 18 −22 − x (r+1) 1 − 3 x (r+1) 2 a jako počáteční aproximaci opět zvolíme x = (0, 0, 0)T . Pak x (1) 1 = 1 15 (30 + 0 − 2 · 0) = 2 x (1) 2 = − 1 10 (23 − 2 · 2 − 0) = −1, 9 x (1) 3 = 1 18 (−22 − 2 − 3 · (−1, 9)) . = −1, 0167. Tato a další aproximace jsou shrnuty v tabulce: 2.5 Iterační metody 31 r x (r) 1 x (r) 2 x (r) 3 0 0 0 0 1 2 -1,9 -1,0167 2 2,0089 -1,9999 -1,0005 3 2,0001 -2,0000 -1,0000 4 2,0000 -2,0000 -1,0000 Vidíme, že posloupnost postupných aproximací konverguje ke stejnému řešení jako v příkladě 2.4 a navíc poněkud rychleji. Z uvedených příkladů je vidět, že výpočet pomocí iteračních vztahů 2.5, resp. 2.6, může být vcelku efektivní. Problémy ovšem nastávají s použitelností těchto metod, jak bude patrné z následujícího příkladu. Příklad 2.6. Jacobiho metodou najděte řešení následující soustavy rovnic, která vznikne ze soustavy v Příkladu 2.4 přeskládáním řádků: x1 + 3 x2 + 18 x3 = −22 15 x1 − x2 + 2 x3 = 30 2 x1 − 10 x2 + x3 = 23, Řešení. Příslušné iterační vztahy vypadají takto: x (r+1) 1 = −22 − 3 x (r) 2 − 18 x (r) 3 x (r+1) 2 = −30 + 15 x (r) 1 + 2 x (r) 3 x (r+1) 3 = 23 − 2 x (r) 1 + 10 x (r) 2 . a dávají tuto posloupnost postupných aproximací: r x (r) 1 x (r) 2 x (r) 3 0 0 0 0 1 -22 -30 23 2 -346 -314 -233 3 5114 -5686 -2425 Na první pohled je zřejmé, že k řešení soustavy (2, −2, −1) touto cestou nedojdeme. Je proto nutné, abychom uvedené metody a zejména jejich použitelnost zkoumali z teoretického hlediska. 2.5.2 Teoretické zdůvodnění iteračních metod Přepsáním soustavy rovnic Ax = b do tvaru 2.4 dostáváme vyjádření x = C x + d, (2.7) 32 Numerické řešení soustavy lineárních rovnic kde prvky matice C a vektoru d jsou cij = − aij aii pro i = j , cii = 0 di = bi aii . Jestliže se dále soustředíme jen na Jacobiho metodu1 , můžeme iterační vztah 2.5 přepsat jako x(r+1) = CJ x(r) + d, (2.8) kde CJ je stejná matice jako matice C ze vztahu 2.7 (jen pro přehlednost označená indexem J). Jestliže nyní označíme pravou stranu tohoto nového maticového zápisu 2.7 jako F(x), tedy položíme-li F(x) = CJ x + d, (2.9) pak skutečnost, že hledáme řešení soustavy Ax = b, znamená, že hledáme takový vektor x, pro který platí x = F(x). Požadavek najít vektory (body, matice, funkce apod.) s touto vlastností je v matematice i v mnoha aplikacích velmi častý. Věnujme se mu proto poněkud podrobněji. Definice 2.7. Řekneme, že F je zobrazení množiny X do množiny Y , píšeme F : X → Y , jestliže každému prvku x ∈ X je pomocí F přiřazen právě jeden prvek y ∈ Y , y = F(x). Prvek x ∈ X se nazývá pevný bod zobrazení F : X → X, jestliže platí F(x) = x. Vidíme, že při řešení soustavy n lineárních rovnic o n neznámých Jacobiho nebo Gauss-Seidelovou metodou máme za úkol najít pevné body zobrazení F : X → X, kde X je množina n-rozměrných vektorů. Musíme nejprve umět odpovědět na otázku, za jakých podmínek takové body vůbec existují. K tomu potřebujeme znát některé pojmy z matematické analýzy týkající se posloupností a musíme zobecnit pojem vzdálenosti dvou bodů. Definice 2.8. Buď X množina (prvků jakéhokoli typu). Řekneme, že na této množině je definována metrika d, jestliže každým dvěma prvkům x, y ∈ X je přiřazeno reálné číslo d(x, y) tak, že 1) d(x, y) ≥ 0 ∀x, y ∈ X , d(x, y) = 0 ⇔ x = y 2) d(x, y) = d(y, x) ∀x, y ∈ X 3) d(x, z) ≤ d(x, y) + d(y, z) ∀x, y, z ∈ X (trojúhelníková nerovnost) Množinu X s metrikou d nazýváme metrický prostor. 1 V případě Gauss-Seidelovy metody bychom museli vztahy 2.6 přepsat do poněkud jiné podoby a museli bychom uvážit diagonální a tzv. dolní a horní trojúhelníkovou matici a využít tzv. LU–rozklad. 2.5 Iterační metody 33 Pokud například v prostoru R3 definujeme vzdálenost dvou bodů x = (x1, x2, x3) a y = (y1, y2, y3) obvyklým způsobem pomocí vztahu de(x, y) = (x1 − y1)2 + (x2 − y2)2 + (x3 − y3)2, (2.10) definujeme tím metrický prostor (R3 , de). Vlastnosti definice 2.8 však může na R3 splňovat celá řada jiných funkcí d(x, y), např. dmax(x, y) = | x1 − y1| + | x2 − y2| + | x3 − y3| (2.11) nebo d∞(x, y) = max | x1 − y1|, | x2 − y2|, | x3 − y3| . (2.12) Tím získáme metrické prostory (R3 , dmax) a (R3 , d∞). Z prvního ročníku víte, že limita posloupnosti {an}∞ n=1 představuje číslo, ke kterému se členy posloupnosti pro n blížící se nekonečnu v nějakém smyslu přibližují. Protože se v definici limity objevuje pojem vzdálenost, uvedeme tuto definici v obecném tvaru pro libovolnou metriku. Definice 2.9. Buď X metrický prostor s metrikou d a {xn} ∞ n=1 posloupnost prvků z X. Řekneme, že x ∈ X je limitou této posloupnosti, píšeme lim n→∞ xn = x , jestliže ke každému ε > 0 existuje přirozené číslo N tak, že pro všechna n > N platí d(xn, x) < ε. Posloupnost, která má limitu, se nazývá konvergentní. Kromě pojmu konvergentní posloupnost zavedeme ještě pojem cauchyovská posloupnost. Jeho definice je velmi podobná. 1 Definice 2.10. Buď X metrický prostor s metrikou d a {xn} ∞ n=1 posloupnost prvků z X. Řekneme, že tato posloupnost je cauchyovská, jestliže ke každému ε > 0 existuje přirozené číslo N tak, že pro všechna n > N a každé přirozené číslo k platí d(xn, xn+k) < ε. Nyní z množiny metrických prostorů vyčleníme ty, se kterými bude výhodné pracovat. Definice 2.11. Metrický prostor se nazývá úplný, jestliže je v něm každá cauchyovská posloupnost konvergentní. Příkladem úplných metrických prostorů je např. prostor Rn pro libovolné n ∈ N s kteroukoliv z metrik 2.10, 2.11, 2.12, tedy např. (R2 , de), tj. prostor všech dvojic reálných čísel s obvykle definovaným pojmem vzdálenost bodů v rovině. Před tím, než rozhodneme o existenci pevného bodu, tj. bodu x ∈ X, pro který platí x = F(x), ještě musíme popsat vlastnosti zobrazení F : X → X. Definice 2.12. Buď X metrický prostor. Řekneme, že zobrazení F : X → X je kontraktivní (kontrakce), jestliže existuje α ∈ 0, 1) tak, že pro každé dva prvky x, y ∈ X platí d(F(x), F(y)) ≤ α d(x, y) (2.13) Číslo α nazýváme koeficient kontrakce. Poněkud nepřesně můžeme říci, že kontraktivní zobrazení je takové, u nějž jsou si obrazy (funkční hodnoty) bližší, než byly vzory. Situace pro prostor (R2 , de) je znázorněna na Obr. 2.1, resp. Obr. 2.2. (Pevnými body těchto funkcí y = f(x) by byly jejich průsečíky s přímkou y = x.) Nyní již můžeme rozhodnout otázku existence pevného bodu a způsobu jeho nalezení. 1 Sami si najděte rozdíl a promyslete si situaci, kdy máme např. posloupnost čísel a1 = 3, a2 = 3, 1, a3 = 3, 14, a4 = 3, 141, a5 = 3, 1415, která konverguje k číslu π. Přitom za X uvažte jednak množinu všech reálných jednak všech racionálních čísel. 34 Numerické řešení soustavy lineárních rovnic x y x1 x2O f(x1) f(x2) y = f(x) Obr. 2.1: Funkce, která je kontraktivní x y x1 x2O f(x1) f(x2) y = f(x) Obr. 2.2: Funkce, která není kontraktivní Věta 2.13. Buď X úplný metrický prostor a F : X → X kontraktivní zobrazení. Pak existuje právě jeden pevný bod tohoto zobrazení ˆx, pro který platí ˆx = lim n→∞ xn, (2.14) kde (xn)∞ n=1 je tzv. posloupnost postupných aproximací, která je definována takto: x0 je libovolný prvek z X a další členy posloupnosti jsou definovány předpisem xk+1 = F(xk), k = 0, 1, . . . (2.15) Dále pro všechna přirozená čísla n platí: d(ˆx, xn) ≤ α 1 − α d(xn, xn−1) (2.16) d(ˆx, xn) ≤ αn 1 − α d(x0, x1), (2.17) kde α je koeficient kontrakce. Z věty 2.13 plynou dva důležité závěry: • Kdykoliv budeme pracovat s množinou objektů, na které lze definovat metriku tak, abychom získali úplný metrický prostor, pak jestliže budeme schopni zadání úlohy převést na úlohu nalezení pevného bodu nějakého kontraktivního zobrazení, můžeme k nalezení řešení zadané úlohy použít Větu 2.13. 2.5 Iterační metody 35 • Věta 2.13 je implikací. Říká, že jestliže jsou splněny jisté podmínky, pak pevný bod existuje a udává návod, jak ho určit. To však neznamená, že pokud tyto podmínky splněny nejsou, pevný bod neexistuje – viz např. Obr. 2.2, z něhož je zřejmé, že pevný bod funkce y = f(x) existuje; je jím průsečík této funkce s přímkou y = x. Pokusme se nyní aplikovat myšlenku existence a hledání pevného bodu na případ řešení soustavy n lineárních rovnic o n neznámých. Připomeňme, že rovnici Ax = b, kde A je čtvercová matice reálných čísel a b vektor, jehož n složek jsou reálná1 čísla, jsme převedli na tvar x = F(x), kde F(x) = CJ (x)+d. Potřebujeme tedy zjistit, kdy je zobrazení F : Rn → Rn kontraktivní a zda lze na Rn definovat metriku tak, abychom získali úplný metrický prostor. Z prvního ročníku znáte pojem vektorový prostor. Víte, že se jedná o poměrně složitou algebraickou strukturu, která spojuje množinu s jednou operací (většinou označovanou +, prvky této množiny označujeme jako vektory) a číselnou množinu se dvěma operacemi, typicky (R, +, ·), které jsou vzájemně spojeny tzv. vnější operací · označovanou jako násobení vektoru číslem. Na této množině máme definováno sčítání vektorů, násobení vektorů číslem a je přiřazen význam operacím „(číslo + číslo) · vektor a „(číslo · číslo) · vektor . Mezi příklady vektorových prostorů jste si uváděli prostor Rn , tj. množinu všech n-tic reálných čísel s obvyklými operacemi, nebo množinu všech čtvercových matic reálných čísel, tedy právě ty množiny, se kterými pracujeme, když hledáme řešení soustavy n lineárních rovnic o n neznámých. Na vektorových prostorech nyní definujme pojmy norma vektoru a normovaný vektorový prostor. Definice 2.14. Buď V vektorový prostor. Řekneme, že na tomto prostoru je definována norma, jestliže každému prvku v ∈ V je přiřazeno reálné číslo v (norma v) tak, že 1) v ≥ 0 ∀v ∈ V , v = 0 ⇔ v = 0 2) k · v = | k| · v ∀v ∈ V, ∀k ∈ R 3) v1 + v2 ≤ v1 + v2 ∀v1, v2 ∈ V (trojúhelníková nerovnost) Prostor V pak nazýváme normovaný vektorový prostor. Je známo, že absolutní hodnota rozdílu dvou reálných čísel udává vzdálenost těchto čísel na číselné ose. Podobně si lze normu rozdílu dvou prvků vektorového prostoru u − v představit jako vzdálenost těchto dvou prvků. To znamená, že na vektorovém prostoru můžeme definovat metriku předpisem d(v1, v2) = v1 − v2 . (2.18) Je-li v = (v1, v2, . . . , vn) ∈ Vn, pak metriky 2.10, 2.11, 2.12 můžeme vyjádřit jako normy v = v2 1 + v2 2 + · · · + v2 n (2.19) v 1 = | v1| + | v2| + · · · + | vn| (2.20) v ∞ = max(| v1|, | v2|, . . . , | vn|) (2.21) U matic lze normu počítat podobně jako u vektorů. Jestliže A je matice typu (m, n) s prvky aij, i = = 1, . . . , m, j = 1, . . . , n, pak můžeme pracovat např. s těmito normami A ∞ = max i=1,...,m n j=1 | aij| řádková norma (2.22) A 1 = max j=1,...,n m i=1 | aij| sloupcová norma (2.23) 1 Můžeme místo reálných koeficientů matice A a vektoru b obecně uvažovat i komplexní koeficienty? 36 Numerické řešení soustavy lineárních rovnic Pro diskusi o použitelnosti Jacobiho a Gauss-Seidelovy metody je dále podstatné, že platí: Av ∞ ≤ A ∞ · v ∞ Av 1 ≤ A 1 · v 1 Říkáme, že řádková norma matice je přidružená vektorové normě 2.21 a sloupcová norma matice je přidružená vektorové normě 2.20. Tím jsme odpověděli na otázku, zda je možné množinu matic nebo vektorů chápat jako metrický prostor. Ano, možné to je. Lze odhadnout, že v případě reálných nebo komplexních koeficientů bude prostor s výše uvedenými metrikami navíc úplný. Nyní musíme rozhodnout otázku, kdy lze iterační vztahy 2.4 považovat za kontraktivní zobrazení. Máme zobrazení F : Vn → Vn, kde Vn je prostor všech uspořádaných n-tic reálných čísel. Na tomto prostoru zavedeme metriku předpisem d(x, y) = x − y , kde · je některá z norem 2.20, 2.21. Platí d(F(x), F(y)) = F(x) − F(y) = CJ x + d − (CJ y + d) = CJ (x − y) ≤ ≤ CJ · x − y = CJ · d(x, y), kde CJ je norma matice přidružená použité normě vektoru. Uvážíme-li definici kontraktivního zobrazení ze str. 33, pak hledanou podmínku můžeme shrnout do následující věty. Věta 2.15. Mějme dánu soustavu n lineárních rovnic o n neznámých zapsanou vektorově jako Ax = b. Vyjádřeme tuto soustavu v iteračním tvaru x = F(x), kde F(x) = CJ x + d (viz vztahy 2.4). Je-li CJ < 1, je zobrazení F kontraktivní s koeficientem kontrakce α = CJ a je zaručeno, že posloupnost postupných aproximací získaná Jacobiho metodou při libovolné volbě počáteční aproximace konverguje k pevnému bodu zobrazení 2.9. (Je-li CJ > 1, o konvergenci či divergenci iteračního procesu nevíme nic.) Analogické tvrzení by se dalo zfromulovat i pro Gauss-Seidelovu matici, jen bychom museli vzít v úvahu, že její iterační matice CG je jiného tvaru – viz poznámka ke vzorci 2.8 na str. 32. 2.5.3 Podmínky konvergence iteračních metod Lze ukázat, že jak pro Jacobiho tak i pro Gauss-Seidelovu metodu lze Větu 2.15 přepsat do slabšího (ale často používaného) tvaru, díky kterému můžeme relativně snadno rozhodnout, zda posloupnost počátečních aproximací bude konvergovat k hledanému řešení zadané soustavy rovnic. Věta 2.16. Je-li matice A soustavy n lineárních rovnic o n neznámých zapsané ve tvaru Ax = b ostře řádkově nebo ostře sloupcově diagonálně dominantní, pak Jacobiho i Gauss-Seidelova metoda konvergují k přesnému řešení soustavy, a to pro libovolnou volbu počáteční aproximace. Přitom pojmy ostře řádkově, resp. ostře sloupcově diagonálně dominantní, jsou definovány takto: 2.5 Iterační metody 37 Definice 2.17. Matice A se nazývá řádkově ostře diagonálně dominantní právě tehdy, když | aii| > n j=1,j=i | aij| pro i = 1, . . . , n (2.24) (neboli když je v každém řádku matice absolutní hodnota prvku na diagonále větší než součet absolutních hodnot všech ostatních prvků v onom řádku) a sloupcově ostře diagonálně dominantní právě tehdy, když | ajj| > n i=1,i=j | aij| pro j = 1, . . . , n (2.25) (neboli když je v každém sloupci matice absolutní hodnota prvku na diagonále větší než součet absolutních hodnot všech ostatních prvků v onom sloupci). Pro soustavy, kde je matice A ostře rádkově nebo sloupcově diagonálně dominantní, navíc platí následující věta. Sami si rozmyslete, jaký je její důsledek pro počet řešení zkoumané soustavy rovnic. Věta 2.18. Je-li matice A ostře řádkově nebo ostře sloupcově diagonálně dominantní, pak je regulární. Ukažme si nyní, jak ostrá řádková, resp. ostrá sloupcová diagonální dominance matice A souvisí s požadavkem, aby norma iterační matice CJ byla menší než 1.1 Počítáme-li řádkovou normu matice CJ , bereme součty absolutních hodnot prvků v jednotlivých řádcích a z nich pak vybíráme maximum. Součet absolutních hodnot prvků prvního řádku je − a12 a11 + − a13 a11 + · · · + − a1n a11 = | a12| + | a13| + · · · + | a1n| |a11| . Jestliže předpokládáme, že matice A je ostře řádkově diagonálně dominantní, musí být | a11| > | a12| + | a13| + · · · + | a1n| a tedy součet absolutních hodnot prvků prvního řádku matice CJ musí být menší než 1. Úplně stejně se ukáže, že i součty v ostatních řádcích jsou menší než jedna. Řádková norma matice CJ , coby největší z čísel menších než jedna, bude určitě také menší než jedna. Proto, je-li A řádkově diagonálně dominantní, je podle věty 2.15 zaručeno, že Jacobiho metoda konverguje. Podobně se dá ukázat, že je-li A ostře sloupcově diagonálně dominantní, je sloupcová norma matice CJ menší než 1, a že tedy i v tomto případě je podle věty 2.15 zaručeno, že Jacobiho metoda konverguje. Věta 2.16 je implikací, tj. pokud matice A není ani řádkově ani sloupcově ostře diagonálně dominantní, nevíme o konvergenci Jacobiho, resp. Gauss-Seidelovy metody nic. 1 Opět se budeme věnovat jen Jacobiho metodě, odvození pro Gauss-Seidelovu metodu by bylo po- dobné. 38 Numerické řešení soustavy lineárních rovnic Podmínky konvergence ve tvaru ekvivalence existují, jsou však příliš komplikované (je například nutné hledat vlastní čísla matice CJ , resp. CG, což téměř vždy předpokládá použití numerických metod, často velmi pracných). Pro rozsáhlé soustavy je navíc praktické ověření podmínky z Věty 2.16 problematické, resp. je problematické soustavu přeskládat tak, aby tuto podmínku splňovala. Ukážeme si proto bez důkazu návod, jak zajistit konvergenci i u soustav rovnic, které podmínku věty 2.16 nesplňují. Tento návod však bude fungovat jen pro Gauss-Seidelovu metodu. Předpokládejme, že matice A v zápisu soustavy Ax = b je regulární.1 Vynásobíme-li soustavu rovnic Ax = b zleva maticí AT , dostaneme novou soustavu AT Ax = AT b, pro kterou již bude Gauss-Seidelova metoda konvergovat, a to opět pro libovolnou volbu počáteční aproximace. V případě takto získaných soustav však Gauss-Seidelova metoda může konvergovat k přesnému řešení velmi pomalu. Vzniklá matice AT A je tzv. pozitivně definitní, což pro konvergenci Gauss-Seidelovy metody stačí i v případě, že matice AT A není ostře diagonálně dominantní. Ověření, zda je nějaká matice A sama o sobě (tj. bez násobení AT A) pozitivně definitní, je pro velká n obtížné. Fakt, že matice pozitivně definitní je, nicméně často vyplyne například z kontextu zadání technické úlohy. 2.5.4 Odhady chyb iteračních metod Iterační metody jsou aplikací věty o pevném bodě, tj. Věty 2.13. Pro odhady chyb proto mj. platí odhady uvedené v této větě. Přepsány pro úlohu o řešení soustavy lineárních rovnic jsou x(r) − x ≤ CJ 1 − CJ x(r) − x(r−1) (2.26) x(r) − x ≤ CJ r 1 − CJ x(0) − x(1) (2.27) Pomocí odhadu 2.26 můžeme rozhodnout, kdy zastavit iterační proces, chceme-li mít jistotu, že se přibližné řešení od přesného v použité normě neliší víc než o předem dané ε. Odhad 2.27 může posloužit k určení počtu kroků metody, který bude stačit pro dosažení přesnosti ε. Pro velké soustavy rovnic je však vypočítat normu matice CJ relativně pracné. Příklad 2.19. Odhadněte, o kolik se nanejvýš liší přibližné řešení získané v příkladu 2.4 od přesného řešení v normě · ∞. Řešení. K odhadu chyby použijeme vzorec 2.26. K tomu musíme vypočítat řádkovou normu iterační matice CJ . Nejprve vypíšeme samotnou iterační matici: CJ =   0 1 15 − 2 15 2 10 0 1 10 − 1 18 − 3 18 0   CJ ∞ = max 3 15 , 3 10 , 4 18 = 3 10 = 0, 3 . 1 Jak tento požadavek souvisí s počtem řešení dané soustavy? 2.6 Cvičení 39 Dále vypočteme normu rozdílu posledních dvou získaných aproximací x(3) = (1, 9918 ; −1, 9930 ; −0, 9968) a x(4) = (2, 0000 ; −2, 0013 ; −1, 0007) : x(4) − x(3) ∞ = max(| 0, 0082| ; | − 0, 0095| ; | − 0, 0039|) = 0, 0095 Nyní dosadíme do 2.26 x(4) − x ∞ ≤ 0, 3 1 − 0, 3 · 0, 0095 . = 0, 0041 To znamená, že každá ze složek přibližného řešení x(4) se od odpovídající složky přesného řešení může lišit nanejvýš o 0,0041. Pro zastavení výpočtu se často používá kriterium x(r) − x(r−1) < ε, i když jeho splněním není zaručeno, že bude platit x(r) − x < ε, tj. že získáme řešení s požadovanou přesností ε. 2.6 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Výpočet determinantu 2. Analytické řešení soustavy lineárních rovnic 3. Násobení matic Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Numerické metody řešení soustav lineárních rovnic 40 Numerické řešení jedné nelineární rovnice 3 Numerické řešení jedné nelineární rovnice Na střední škole jste si ukázali postupy řešení některých algebraických rovnic – kvadratické, pravděpodobně kubické a možná i rovnic čtvrtého stupně a reciprokých rovnic do stupně 9, resp. 10 včetně. Dále jste řešili rovnice logaritmické, exponenciální a goniometrické. V této chvíli však neumíme řešit rovnice, kde se vyskytují současně funkce různých typů, např. ex + sin(x) = 1 nebo x3 + cos x = 3 nebo ln(x) + (x − 1)2 + 2 = 0 apod. Většinu takovýchto rovnic ani není možné vyřešit přesně – je však možné najít jejich přibližné řešení. V této kapitole si ukážeme některé způsoby řešení těchto „kombinovaných rovnic. Metody, které budeme uvádět, bude samozřejmě možné použít i na řešení známých typů rovnic. Kromě příkladů metod, které si budeme uvádět, existuje navíc ve speciálních případech (např. pro algebraické rovnice) i celá řada speciálních numerických metod. S některými z nich se seznámíte v předmětu Moderní numerické metody. Formulace problému Je dána reálná funkce f jedné reálné proměnné x jiného tvaru než f(x) = ax+b, kde a, b ∈ R. Najděte všechny body ζ ∈ R, pro které platí, že f(ζ) = 0. 3.1 Příklady reálných zadání Nejjednodušší aplikací, která vede na hledání řešení nelineární rovnice je pochopitelně úloha samotná – to znamená stanovení nulových bodů nějaké nelineární funkce. Požadavek najít řešení jedné nelineární rovnice se však také vyskytuje například při řešení optimalizačních úloh ve chvíli, kdy máme za úkol stanovit extrémy funkcí, příp. inflexní body. Příklad 3.1. Najděte lokální extrémy funkce y(x) = sin (x2 + 4x). Řešení. Zřejmě y (x) = (2x+4) cos (x2 + 4x). Body, ve kterých mohou nastávat extrémy, tedy můžeme v tomto případě určit na základě středoškolských znalostí, protože y (x) = 0 3.2 Odhad polohy řešení 41 pro x = −2 a dále pro body, kde cos (x2 + 4x) = 0, tj. tam, kde x2 + 4x = π 2 + kπ, kde k ∈ Z. Příklad 3.2. Najděte lokální extrémy funkce y(x) = sin (x2 + 4x) + x2 . Řešení. V tomto případě je y (x) = (2x + 4) cos (x2 + 4x) + 2x a při řešení rovnice y (x) = 0 již analyticky postupovat nemůžeme. Musíme tedy využít aparátu numerických metod. V předmětu Matematika 2 jste při integrování, resp. při zpětné Laplaceově a Z–transformaci určovali póly racionálních lomených funkcí jako kořeny jmenovatele. Řešili jste tedy rovnici Pn(x) = 0. Co když stupeň polynomu bude větší než 4? Při hledání singulárních bodů navíc nemusíme vždy pracovat nutně jen s racionálními lomenými funkcemi – při hledání „problematických , resp. „význačných bodů funkcí (např. singulárních bodů funkcí komplexní proměnné) tedy můžeme řešit libovolnou nelineární rovnici. Příklad 3.3. Najděte zpětnou Laplaceovu transformaci operátorové funkce Y (p) = = 1 p4+4,6p3−15,47p2−74,676p−65,4444 . Řešení. Kořeny jmenovatele Y (p), tj. řešení rovnice p4 + 4, 6p3 − 15, 47p2 − 74, 676p − −65, 4444 = 0, sice můžeme hledat pomocí vzorce na řešení algebraických rovnic stupně 4, avšak tato strategie není vhodná. Řešení p1 = −2, 1, p2 = −5, 3, p3 = −1, 4 a p4 = 4, 2, a tedy i hledanou zpětnou transformaci y(t) = L−1 (Y (p)) = 1 270 e4t − 1 108 e−5t + 1 18 e−2t − 1 20 e−t , budeme muset hledat numericky. 3.2 Odhad polohy řešení Pokud bychom zjednodušeně popsali postup řešení nelineárních rovnic známých typů (např. logaritmických, exponenciálních nebo goniometrických), který jste používali na střední škole, mohli bychom říci, že jste nejprve našli definiční obor funkcí, které v rovnici vystupovaly, poté jste aplikovali známý postup řešení a tímto postupem jste dané řešení buď nalezli, nebo jste ukázali, že zadaná rovnice žádné řešení nemá. Nakonec jste zkontrolovali, zda náhodou získané řešení neodporuje informaci o definičním oboru nebo podmínkám, za kterých jste provedli některé úpravy v postupu řešení. Numerický přístup k řešení nelineárních rovnic je poněkud odlišný. Najít definiční obory příslušných funkcí je sice důležité, nicméně musíme také určit alespoň přibližný interval, na kterém budeme nějaké řešení hledat. Teprve poté můžeme vlastní hledání řešení zahájit. Numerické metody, které si budeme uvádět v dalším textu, se liší ve způsobu, jakým hledají řešení zadané rovnice. Před jejich použitím však musíme vědět, kde toto řešení máme hledat. Odpovědět na tuto otázku není v reálných situacích vůbec jednoduché. 42 Numerické řešení jedné nelineární rovnice Příklad 3.4. Rozhodněte, kolik řešení má rovnice ln (tg √ 1 − x) · sin 2 x = 0. Řešení. Pokud budeme chtít rozhodovat na základě obrázku, vykresleného počítačovým programem, musíme vědět, na jakém intervalu máme příslušnou funkci vykreslit. Jak to však poznáme? Na obrázcích 3.1 a 3.2 je znázorněn graf funkce f(x) = ln (tg √ 1 − x)·sin 2 x na intervalech −100, 10 a 0, 1 . Pomohou takovéto obrázky v rozhodování? Existují kladná řešení větší než 10? Pokud ano, kde leží? Kolik je řešení na intervalu 0, 1 ? Obr. 3.1: K příkladu 3.4: kolik má rovnice řešení? . . . Obr. 3.2: . . . A jaké je nejmenší kladné? Při rozhodování o intervalech, na kterých leží nějaké řešení zadané rovnice, nám jistě pomůže znalost definičního oboru příslušné funkce. V našem případě musí současně platit podmínky 1−x ≥ 0, √ 1 − x = kπ 2 , k ∈ Z, tg √ 1 − x > 0 a x = 0. Tedy dostáváme, že má současně platit x ≤ 1, x = 0, x = 1 − k2 π2 4 pro všechna k ∈ Z a navíc ještě x < 1 − k2 π2 a x > 1 − (2k+1)2 4 π2 pro všechna k ∈ Z. Problematické může být také používání softwaru nebo webových encyklopedií bez znalosti informaci o jejich fungování, resp. bez hlubších matematických znalostí. Následující příklad popisuje stav v roce 2013. Příklad 3.5. Najděte interval délky nejvýše 10, na kterém leží nějaké kladné řešení rovnice ln (cos (e3x + 5)) + (x3 + 1) sin x2 − 10 = 0. 3.2 Odhad polohy řešení 43 Řešení. K získání informací o zadané funkci můžeme použít populární nástroj Wolfram Alpha. Do pole na webové stránce zadáváme text (v tomto případě funkci) a výsledkem jsou informace o hledaném textu z různých úhlů pohledu (v tomto případě grafy, nulové body, rozvoje do řad apod.). Po zadání textu ln(cos(exp(3*x)+5))+(x^3+1)*sin(x^2)-10=0 získáme graf v rozsahu na ose x od cca −4 do cca 3, který osu x protíná v hodnotě cca −3. Po zadání textu ln(cos(exp(3*x)+5))+(x^3+1)*sin(x^2)-10 získáme dva obrázky. Na každém z nich je modrá a oranžová funkce s popiskem „real part a „imaginary part . Průsečíků reálné části s osou x je nekonečně mnoho, imaginární část se v obrázku téměř ztrácí, takže kvalifikovaně nemůžeme rozhodnout nic. Ukažme si proto nyní některé z postupů, které mohou odhady přibližné polohy řešení nelineární rovnice usnadnit. Věta 3.6. Je-li funkce f spojitá na intervalu a, b a mají-li f(a) a f(b) opačná znaménka, tj. platí-li f(a) · f(b) < 0, (3.1) pak v intervalu a, b leží alespoň jedno řešení rovnice f(x) = 0. Význam podmínky ve Větě 3.6 je zřejmý z obrázku 3.3. Před použitím Věty 3.6 je samozřejmě nutné ověřit její předpoklady a uvědomit si, že věta nehovoří o situaci, kdy f(a) a f(b) mají stejná znaménka. Věta navíc hovoří o tom, že na uvedeném intervalu existuje alespoň jedno řešení dané rovnice. Např. pro funkci y = 1 x a interval −1, 1 je podmínka 3.1 sice splněna, ale funkce není na tomto intervalu spojitá. Dále, sami si zkuste aplikovat Větu 3.6 např. na funkci y = sin x a různé intervaly. Jinou možností, jak provést odhad polohy řešení, je převedení úlohy f(x) = 0 na tvar f1(x) = f2(x). V tom případě již nehledáme průsečík funkce f(x) s osou x, ale průsečík dvou funkcí – a může se stát, že zatímco graf funkce f(x) je obtížné vykreslit, vykreslení grafů funkcí f1(x) a f2(x) do jednoho obrázku problematické již není. Příklad 3.7. Je dána rovnice 10 sin 2x − x − 1 = 0. Seřaďme její kladná řešení podle velikosti a označme je x0, x1, x2, . . . . Určete x4 a x8 této posloupnosti. 44 Numerické řešení jedné nelineární rovnice x y ξ bO a y = f(x) Obr. 3.3: Je-li funkce na a, b spojitá, pak splnění podmínky f(a) · f(b) < 0 zaručí existenci kořene Řešení. Graf funkce 10 sin 2x − x − 1 = 0 načrtnout neumíme. V první fázi dokonce ani nevíme, kde máme uvedené řešení hledat – na intervalu 0, 10 ? Nebo 10, 100 ? Nebo nějakém jiném? Pokud si však do jednoho obrázku nakreslíme grafy funkcí f1(x) = 10 sin 2x a f2(x) = x + 1, zjistíme, že úloha říká, že hledáme průsečíky „upravené funkce sinus a přímky, která svírá s kladnou poloosou x ostrý úhel (viz Obr. 3.4). Je tedy zřejmé, že žádná jiná kladná řešení než ta, ktera jsou na obrázku, rovnice nemá. Řešení x8 tedy neexistuje. Co se týká řešení x4, je zřejmé, že leží někde mezi 2π a 9 4 π. Přitom tento obrázek není nutné vykreslovat strojově, protože je možné jej načrtnout na základě středoškolských znalostí. x y x0 x1 x2 x3 x4 x5O π 10 −10 y = f1(x) y = f2(x) Obr. 3.4: Kořeny rovnice 10 sin 2x − x − 1 = 0 Další možností, jak odhadnout polohu řešení, je využít poznatků, které vyplývají z technického zadání úlohy, využít zkušenosti apod. Například studujeme závislost proudu / napětí / teploty na čase / odporu / jiné fyzikální veličině. Přitom může být zřejmé, že k události, která nás zajímá (tj. která představuje řešení dané nelineární rovnice), dochází 3.3 Zkracování intervalu 45 vždy cca po 5 minutách, cca při určitém napětí / teplotě (vždy s jistou tolerancí) apod. K tomu, abyste uměli provést odhady tohoto typu, však potřebujete znalosti překračující rámec matematických předmětů. 3.3 Zkracování intervalu Jestliže víme, že hledané řešení zadané rovnice leží na nějakém intervalu I = a, b , na kterém je funkce f(x) spojitá, pak můžeme hledané řešení najít tak, že tento interval budeme vhodně zkracovat a při tom si budeme průběžně ověřovat, že hledané řešení leží i v tomto zkráceném intervalu. Toto „zkracování intervalu můžeme provést mnoha různými způsoby, čímž dostaneme různé numerické metody. Ukážeme si nyní některé postupy, které jsou jednoduše algorit- mizovatelné. 3.3.1 Metoda půlení intervalu Předpokládejme, že na nějakém intervalu I = a, b je funkce f(x) spojitá.1 Dále předpokládejme, že na tomto intervalu leží alespoň jedno řešení rovnice f(x) = 0. (Tuto skutečnost můžeme ověřit např. pomocí Věty 3.6.) Jestliže interval I rozdělíme na poloviny, bude funkce f(x) na každé z takto vzniklých částí opět spojitá a můžeme se ptát (např. za použití Věty 3.6), na které z těchto částí hledané řešení leží. Takto můžeme pokračovat, dokud není půlený interval dostatečně malý. Pro přehlednost budeme počáteční body intervalů označovat jako ak, koncové body jako bk a středy intervalů jako xk, přičemž ve všech případech je k = 0, 1, . . . , n, kde n je takové číslo, že délka intervalu an, bn je menší než 2ε, kde ε je požadovaná přesnost výpočtu. Střed intervalu vypočteme podle vzorce xk = ak+bk 2 . Jestliže bude délka posledního, tj. n-tého, intervalu menší než 2ε, je zřejmé, že střed posledního intervalu, tj. bod xn, se bude od přesné hodnoty řešení lišit o méně než o požadované ε. Samozřejmě se během výpočtu může stát, že pro nějaký bod ak (nebo bk nebo xk) bude platit f(ak) = 0 (nebo f(bk) = 0 nebo f(xk) = 0). V tom případě jsme přímo nalezli řešení zadané rovnice a můžeme ukončit výpočet. Při volbě intervalu, na kterém leží právě jedno řešení a na kterém je funkce f(x) spojitá, bude metoda půlení intervalu vždy konvergovat k hledanému řešení. Animace výše uvedeného postupu je zachycena na Obr. 3.18 Příklad 3.8. Metodou půlení intervalu najděte kladný kořen rovnice ex + x2 − 3 = 0 s přesností ε = 0, 01. 1 Jak vypadá spojitost vně intervalu I není podstatné! 46 Numerické řešení jedné nelineární rovnice x y b0a0 x0 a1 x1 b1 a2 b2 y = f(x) Obr. 3.5: Metoda půlení intervalu Řešení. Nejprve určíme, že kladný kořen zadané rovnice leží v intervalu 0, 1 . To zjistíme například vykreslením funkcí f1(x) = ex a f2(x) = 3 − x2 do jednoho obrázku. Poté můžeme zahájit vlastní výpočet. Postupně vypočítávané hodnoty ak, bk, xk budeme zapisovat do tabulky. Je vhodné si také zapisovat znaménka funkčních hodnot funkce f(x) = ex + x2 − 3 v těchto bodech. k ak bk xk f(ak) f(bk) f(xk) 0 0 1 0,5 - + - 1 0,5 1 0,75 - + - 2 0,75 1 0,875 - + + 3 0,75 0,875 0,8125 - + - 4 0,8125 0,875 0,84375 - + + 5 0,8125 0,84375 0,828125 - + - 6 0,828125 0,84375 0,8359375 Nyní můžeme výpočet ukončit, protože b6 − a6 < 2 · 0, 01. Řešení rovnice ex + x2 − 3 = 0 s přesností 0, 01 je x6 . = 0, 84. 3.3.2 Metoda regula falsi Princip metody regula falsi je velmi podobný jako u metody půlení intervalu. Opět postupně zužujeme interval obsahující řešení rovnice f(x) = 0. Tentokrát ale dělicím bodem není polovina intervalu, nýbrž průsečík sečny vedené body [ak, f(ak)] a [bk, f(bk)] s osou x – viz Obr. 3.6 nebo animace na Obr. 3.19. 3.3 Zkracování intervalu 47 x y b0a0 x0 x1 b1a1 a2 x2 b2 y = f(x) Obr. 3.6: Metoda regula falsi Tento průsečík vypočítáme podle vzorce1 xk = bk − bk − ak f(bk) − f(ak) f(bk) (3.2) Z intervalů ak, xk , xk, bk pak vybereme ten, v jehož krajních bodech mají funkční hodnoty funkce f opačná znaménka. Platí-li f(ak) · f(xk) < 0, položíme ak+1 = ak, bk+1 = xk, platí-li f(bk) · f(xk) < 0, položíme ak+1 = xk, bk+1 = bk. V případě, že f(xk) = 0, našli jsem kořen rovnice a výpočet ukončíme. Ve výpočtu pokračujeme tak dlouho, dokud nenarazíme na kořen, nebo dokud neplatí | xk − xk−1| < ε, kde ε > 0 je předem dané číslo. Splněním tohoto kritéria ale bohužel není zaručeno, že přesná hodnota kořene ξ se od jeho aproximace xk liší o méně než ε. Chceme-li se přesvědčit, že | xk − ξ| < ε, můžeme vypočítat f(xk + ε) a f(xk − ε). Platí-li f(xk) · f(xk + ε) < 0, resp. f(xk) · f(xk − ε) < 0, je jisté, že kořen ξ leží v intervalu xk, xk + ε , resp. xk − ε, xk , a tedy se od xk nemůže lišit o více než ε. V situaci, kdy se pohybujeme na intervalu, na kterém leží právě jedno řešení zadané rovnice f(x) = 0, přičemž na tomto intervalu je funkce f(x) spojitá, metodou regula falsi vždy najdeme hledané řešení. Metoda bývá rychlejší než metoda půlení intervalu, avšak existují případy, kdy je pomalejší. 1 Zkuste si ho sami odvodit za použití podobnosti vhodných trojůhelníků! 48 Numerické řešení jedné nelineární rovnice Příklad 3.9. Metodou regula falsi najděte kladné řešení rovnice ex + x2 − 3 = 0 s přesností ε = 0, 01. Řešení. Mohli bychom vyjít z nějakého intervalu nalezeného metodou půlení v příkladu 3.8, ale pro srovnání obou metod začneme opět s intervalem 0, 1 . U metody regula falsi budeme potřebovat i funkční hodnoty v bodech ak, bk a xk, nejen jejich znaménka. k ak bk xk f(ak) f(bk) f(xk) 0 0 1 0,73576 -2 0,71828 -0,37159 1 0,73576 1 0,82585 -0,37159 0,71828 -0,03414 2 0,82585 1 0,83375 -0,03414 0,71828 -0,00291 Platí | x2 − x1| < 0, 01, proto výpočet ukončíme. Přibližné řešení rovnice je x2 . = 0, 83. Všimněte si rozdílu ve výsledcích příkladů 3.8 a 3.9, které mají stejné zadání. Protože přesné řešení dané rovnice neznáme, nemůžeme s našimi dosavadními znalostmi ani tvrdit, jak moc se od něj přibližná řešení v příkladech 3.8 a 3.9 liší. Oba postupy řešení jsou algoritmy, které jsou ukončeny vhodnou ukončovací podmínkou – a vždy je nutné posoudit, zda splnění této podmínky zaručí, že se výsledek numerického algoritmu od přesného řešení liší nejvýše o námi požadovanou hodnotu. Toto je nutné mít na pamětu u všech dalších numerických metod. 3.3.3 Několik poznámek Jestliže pracujeme na intervalu, na kterém má spojitá funkce f(x) právě jeden průsečík s osou x, bude metoda půlení intervalu i metoda regula falsi konvergovat k hledanému řešení. Musíme však zvážit, na základě jakých skutečností usuzujeme na to, že daná rovnice f(x) = 0 má na intervalu I = a, b právě jedno řešení. Jestliže tak usuzujeme z podmínky ve Větě 3.6, tj. z faktu, že f(a) · f(b) < 0, mohou nastat problémy. Z této podmínky totiž plyne, že na intervalu I leží alespoň jeden kořen, nikoliv právě jeden. Při praktickém výpočtu se tak může stát, že rozhodování na základě znamének funkčních hodnot nemusí být vůbec tak jednoznačné, jak by se mohlo zdát z příkladů 3.8 a 3.9. Příklad 3.10. Najděte řešení rovnice cos 3x + x 2 − 2 = 0, které leží na intervalu π, 2π . Řešení. Funkce f(x) = cos 3x+ x 2 −2 je na intervalu π, 2π spojitá. Platí, že f(π) . = −1, 43 < 0 a f(2π) . = 2, 14 > 0, tj. podle Věty 3.6 na tomto intervalu leží alespoň jedno řešení zadané rovnice. 3.4 Metody vycházející z bodu 49 Pokud zvolíme pro řešení metodu půlení intervalů nebo regula falsi, budou obě konvergovat k řešení x . = 3, 71. Je to však právě to řešení, které jsme chtěli? Uvedená rovnice má totiž na tomto intervalu řešení celkem tři. Podobně např. na intervalu 0, 2π má rovnice celkem 5 řešení. Kromě metody půlení intervalu a metody regula falsi existuje celá řada dalších numerických metod, které pracují na podobném principu. Jednou z nich je např. metoda sečen. O této metodě budete podrobněji hovořit v předmětu Moderní numerické metody, a to jednak samostatně, jednak v kombinaci s metodou tečen, o které hovoří následující odstavec. 3.4 Metody vycházející z bodu Některé numerické metody na hledání řešení nelineární rovnice f(x) = 0 pracují na poněkud odlišném principu. Opět předpokládáme, že pracujeme s intervalem, na kterém leží právě jeden průsečík spojité funkce f(x) s osou x. Nyní však nebudeme tento interval zkracovat. Místo toho si v tomto intervalu podle nějakých pravidel vybereme jeden bod, ze kterého se postupně budeme k hledanému řešení přibližovat. Metody, které si budeme uvádět, budou takové, že budou konvergovat jen v některých situacích – jen pro některé funkce, některé intervaly a některé body. 3.4.1 Newtonova metoda (metoda tečen) Už sám název metody říká, že budeme pracovat s tečnami ke grafu funkce f. Proto všude v této kapitole budeme předpokládat, že funkce f má na intervalu, na kterém budeme pracovat, derivaci. Newtonovu metodu můžeme popsat graficky takto: Zvolíme počáteční aproximaci kořene x0. Bodem [x0, f(x0)] vedeme tečnu ke grafu funkce f. Její průsečík s osou x označíme x1. Pak vedeme tečnu bodem [x1, f(x1)], její průsečík s osou x označíme x2 atd. – viz Obr. 3.7 nebo animace na Obr. 3.20 (pro konkrétní hodnoty). Průsečík tečny v bodě [xk, f(xk)] s osou x vypočítáme jako1 xk+1 = xk − f(xk) f (xk) (3.3) Výpočet provádíme tak dlouho, dokud není splněna podmínka | xk − xk−1| < ε Při splnění této podmínky však nemusí platit | xk − ξ| < ε. Kdybychom si chtěli být opravdu jisti, že se xk od řešení ξ liší o méně než ε, mohli bychom použít dále uvedený 1 Zkuste si tento vzorec sami odvodit! Pokud si uvědomíte, jaký je geometrický význam derivace funkce v bodě a jak je definována funkce tangens, je to snadné. 50 Numerické řešení jedné nelineární rovnice x0x1x2 y = f(x) Obr. 3.7: Newtonova metoda x0 x1 x2 x3 y = f(x) Obr. 3.8: Newtonova metoda může divergovat odhad 3.4, případně vypočítat f(xk) a f(xk ±ε) a použít postup popsaný u metody regula falsi. Newtonovu metodu lze odvodit i pomocí Taylorova vzorce. Ukážeme nyní jak, protože stejný postup později zobecníme i pro soustavu rovnic. Předpokládejme, že známe k-tou aproximaci řešení xk. Pak můžeme psát f(ξ) = f(xk) + f (xk) (ξ − xk) + R, kde R je zbytek v Taylorově vzorci. Zanedbáme-li tento zbytek a uvědomíme-li si že f(ξ) = 0 (protože ξ je řešením rovnice f(x) = 0), můžeme z předchozí rovnice přibližně vyjádřit řešení ξ jako ξ . = xk − f(xk) f (xk) , což je právě xk+1 nalezené dříve popsaným způsobem. Z Taylorova vzorce lze také odvodit odhady chyby k-té aproximace kořene získané Newtonovou metodou. Má-li funkce na intervalu I obsahujícím xk i kořen ξ druhou derivaci, platí | ξ − xk| ≤ M2 2m1 (xk − xk−1)2 (3.4) | ξ − xk| ≤ M2 2m1 (ξ − xk−1)2 , (3.5) 3.4 Metody vycházející z bodu 51 kde M2 = max |f (x)| a m1 = min |f (x)| pro x ∈ I. Newtonova metoda je z metod pro řešení nelineárních rovnice nejefektivnější, nemusí však konvergovat – viz obrázek 3.8. Z obrázků 3.7 a 3.8 plyne, že konvergence, resp. divergence, Newtonovy metody závisí nejen na volbě počáteční aproximace x0 ale i na chování funkce v okolí x0, resp. na intervalu, ve kterém leží jak x0 tak i hledané řešení. Situace je zachycena v následující větě. Věta 3.11. Nechť je dána rovnice f(x) = 0 a interval I = a, b , na němž leží právě jedno řešení této rovnice. Nechť jsou splněny následující podmínky: • funkce f(x) má na intervalu I spojitou první a druhou derivaci f (x) a f (x), • na intervalu I je f (x) = 0 a současně f (x) nemění znaménko. Pak zvolíme-li počáteční aproximaci x0 ∈ I tak, že platí • f(x0) · f (x0) > 0, Newtonova metoda bude konvergovat. Poznámka 3.12. Význam Věty 3.11 je patrný z obrázků 3.9 až 3.12. Na obrázku 3.13 je uvedena situace, kdy f mění znaménko a podmínka f(x0) · f (x0) > 0 konvergenci metody v dané situaci nezaručuje. a b = x0 a = x0 b Obr. 3.9: f(x0) > 0, f (x0) > 0 Obr. 3.10: f(x0) > 0, f (x0) > 0 Příklad 3.13. Newtonovou metodou najděte záporné řešení rovnice ex + x2 − 3 = 0 s přesností ε = 0, 01. 52 Numerické řešení jedné nelineární rovnice a b = x0 a = x0 b Obr. 3.11: f(x0) < 0, f (x0) < 0 Obr. 3.12: f(x0) < 0, f (x0) < 0 Řešení. Odhadneme (např. tak, že do jednoho obrázku nakreslíme funkce f1(x) = ex a f2(x) = 3−x2 ), že hledané záporné řešení leží v intervalu −2, −1 . Ověříme, že na tomto intervalu jsou splněny předpoklady Věty 3.11. Vypočteme první a druhou derivaci funkce f(x) = ex + x2 − 3 : f (x) = ex + 2x , f (x) = ex + 2 Na celém intervalu −2, −1 je f (x) < 0 a f (x) > 0 (tzn. první derivace není nikde nulová a druhá derivace zde nemění znaménko). Jak to poznáme? Rozmyslete si sami zejména situaci pro f (x). Nyní z intervalu I vybereme počáteční aproximaci x0 tak, aby byla splněna podmínka 3.11. Protože f(−2) = e−2 + 1 > 0 a f(−1) = e−1 − 2 < 0, zvolíme x0 = −2. Další aproximace řešení budeme počítat pomocí iteračního vztahu xk+1 = xk − f(xk) f (xk) = xk − exk + x2 k − 3 exk + 2xk Dostaneme x0 = −2 x1 . = −1, 70623 x2 . = −1, 67752 x3 . = −1, 67723 Nyní můžeme výpočet zastavit, protože |x3 − x2| < 0, 01. Všimněme si, že tři kroky by nám stačily i pro dosažení přesnosti 0, 001. Newtonova metoda je obvykle velice rychlá. Přibližné řešení rovnice je x3 . = −1, 68 Jestliže x0 nevybereme podle podmínky z Věty 3.11, Newtonova metoda konvergovat může a nemusí. Promyslete si, co by se stalo, kdybyste si na obrázcích 3.9 – 3.12 zvolili za počáteční aproximaci opačný konec zobrazeného intervalu. 3.4 Metody vycházející z bodu 53 a b Obr. 3.13: Samotná platnost podmínky f(x0) · f (x0) > 0 konvergenci zaručit nemusí. Při použití věty nejprve najdeme nějaký interval, o kterém víme, že na něm leží právě jedno řešení dané rovnice. Poté najdeme první a druhou derivaci funkce f(x) a ověříme, že na uvažovaném intervalu jsou derivace definovány a jsou na něm spojité. Dále ověříme, že na tomto intervalu platí f (x) = 0 a f (x) nemění znaménko. Pokud tomu tak není, interval případně zúžíme, aby všechny podmínky splněny byly. Z takto upraveného intervalu pak vybereme nějaký bod x0 a ověříme, že platí f(x0)·f (x0) > 0. Praktické ověřování toho, že derivace na intervalu není nulová, resp. nemění znaménko, však může být poměrně komplikované. Částečně to bylo patrné již z Příkladu 3.13; v dalším příkladu se tento problém poněkud rozvine. Příklad 3.14. Newtonovou metodou najděte s přesností ε = 0, 01 řešení rovnice ex − − (ln x)2 − 3 = 0. Řešení. Lehce se ověří, že rovnice má jedno kladné řešení. Bez větších obtíží zjistíme, že toto řešení je menší než cca 2. Máme tedy interval I = (0, 2 . Pokud bychom chtěli pracovat s intervalem uzavřeným z obou stran, můžeme volit např. I = 0, 01; 2 . Jestliže f(x) = ex − (ln x)2 − 3, pak f (x) = ex − 2 ln x x a f (x) = ex − 2 x2 + 2 ln x x2 . Jak nyní poznáme, zda na celém intervalu I platí f (x) = 0, resp. že f (x) nemění na I znaménko? Pokud bychom chtěli najít body, ve kterých je první, resp. druhá, derivace nulová, znamenalo by to hledat řešení další nelineární rovnice! Ukáže se, že zatímco první derivace není problematická, v bodě cca 0, 9248 je f (x) nulová – pro menší hodnoty je hodnota druhé derivace záporná, pro větší je kladná. Interval I 54 Numerické řešení jedné nelineární rovnice tedy musíme patřičně upravit. Jak, když řešení zadané rovnice je cca 1, 1018, a leží tedy relativně blízko „problematickému bodu? Interval můžeme upravit např. na I2 = 1, 2 . Z tohoto intervalu poté vybíráme vhodný bod x0 , pro který platí f(x0) · f (x0) > 0. Vzhledem k výše uvedeným problémům se často v praxi (ne na zkoušce!) postupuje tak, že se neměnnost znamének derivací na intervalu I neověřuje. Tento postup je však riskantní a může vést k nesprávným závěrům. Jako cvičení si zkuste sami najít nejmenší kladné řešení rovnice 2 cos x 2 − 1 x = 0. Ignorujte přitom předpoklady Věty 3.11 a vycházejte z různých počátečních aproximací. Při strojových výpočtech Newtonovou metodou se často případná divergence ošetřuje tak, že předem stanovíme počet kroků výpočtu. Je-li překročen, výpočet ukončíme s tím, že pro tuto volbu metoda diverguje (i když to samozřejmě nemusí být pravda). Poznámka 3.15. Newtonova metoda pro komplexní kořeny Úlohu o hledání řešení jedné nelineární rovnice jsme formulovali pro situaci, kdy f(x) je reálná funkce jedné reálné proměnné. Při odvozování výše uvedených metod jsme vycházeli z obrázků nebo situací, které předpokládaly, že hledáme reálná řešení těchto rovnic. Newtonovou metodou však můžeme hledat i komplexní řešení rovnice f(z) = 0, přičemž f může být jak reálná tak komplexní funkce komplexní proměnné. Postupuje se úplně stejně jako při hledání reálných kořenů, jenom je potřeba počítat s komplexními čísly. Zvlášť počáteční aproximaci z0 je nutno zvolit komplexní, chceme-li dojít ke komplexnímu řešení v situaci, kdy f je reálná funkce komplexní proměnné. Podmínky, za kterých Newtonova metoda v komplexním oboru konverguje, jsou uvedeny např. v [?]. Vzhledem ke tvaru vzorce 3.3 je třeba pracovat s funkcemi, které mají na jisté oblasti derivaci. Zajištění platnosti této podmínky však není v komplexním oboru často jednoduché. Pro zajímavost se zmíníme o jednom aspektu Newtonovy metody v komplexním oboru. Řešená rovnice f(z) = 0 může mít více kořenů. Na příklad rovnice z4 −1 = 0 má čtyři kořeny: 1, −1, j a −j. Který z nich pomocí Newtonovy metody najdeme, záleží na zvolené počáteční aproximaci z0. Obarvíme-li v komplexní rovině všechny body, z nichž dojdeme k prvnímu kořenu, jednou barvou, všechny body, z nichž dojdeme k druhému kořenu, další barvou atd., dostaneme velmi zajímavý obrázek - fraktál. Jelikož se ve vzorci 3.3 používá derivace funkce f(x) a my nyní uvažujeme x komplexní, musíme využít znalosti o derivování funkcí v komplexním oboru. 3.4.2 Metoda prosté iterace Myšlenka metody prosté iterace je jednoduchá – jedná se o přímou aplikaci Věty 2.13, tj. věty o pevném bodu. V kapitole 2 jsme tuto větu používali pro teoretické zdůvodnění použitelnosti Jacobiho metody. Zejména jsme však ukázali, že se jedná o velmi obecný nástroj, který lze za vhodných předpokladů (kontraktivní zobrazení na úplném metrickém prostoru) použít v mnoha různých situacích. Jednou z nich bude i situace, kdy se budeme pohybovat na úplném metrickém prostoru spojitých funkcí.1 Řešení rovnice f(x) = 0 převedeme na řešení rovnice x = g(x) a pro 1 Příkladem metriky na tomto prostoru je např. „bodově definovaná vzdálenost funkcí f(x) a g(x) , 3.4 Metody vycházející z bodu 55 Obr. 3.14: Fraktál vzniklý řešením rovnice z4 = 1 Obr. 3.15: Fraktál vzniklý řešením rovnice z − ez = 0 výpočet posloupnosti postupných aproximací použijeme návod uvedený ve Větě 2.13. Budeme však muset nejprve ověřit, že jsou splněny požadavky kladené v této větě na zobrazení g(x). Při tom však nebudeme ověřovat přímo podmínku kontraktivity, protože by to bylo obtížné, ale použijeme podmínku, která se ověřuje snadněji a ze které kontraktivita vyplývá. Opět se budeme pohybovat na intervalu I, na kterém leží právě jedno řešení zadané rovnice f(x) = 0, resp. rovnice x = g(x), kterou z ní získáme. Připomeňme, že Věta 2.13 říká, že za splnění určitých předpokladů existuje na intervalu I právě jedno řešení rovnice x = g(x), které je limitou posloupnosti postupných aproximací tvořené body xk+1 = g(xk), (3.6) přičemž počáteční aproximaci můžeme z intervalu I volit libovolně. Jestliže se zaměříme na úplný metrický prostor spojitých funkcí, pak tyto předpoklady, tj. požadavky kladené na chování funkce g(x) intervalu I, jsou shrnuty v následující větě. tj. d(f, g) = max x∈ a,b | f(x) − g(x)|. pro každé x ∈ I, kde I = a, b je interval, na kterém jsou obě funkce f(x), g(x) spojité. 56 Numerické řešení jedné nelineární rovnice Věta 3.16. Nechť funkce g zobrazuje interval a, b do sebe a má na tomto intervalu derivaci. Jestliže existuje číslo α ∈ 0, 1) tak, že | g (x)| ≤ α ∀x ∈ a, b , (3.7) pak v intervalu a, b existuje pevný bod ξ funkce g a posloupnost postupných aproximací získaná předpisem 3.6 k němu konverguje pro libovolnou počáteční aproximaci x0 ∈ a, b . Dále platí | xk − ξ| ≤ α 1 − α | xk − xk−1| (3.8) | xk − ξ| ≤ αk 1 − α | x1 − x0| (3.9) Odhad 3.8 lze použít při rozhodování o zastavení iteračního procesu. Protože však ověření podmínky 3.7 a nalezení α může být obtížné, jako kritérium pro zastavení výpočtu se opět spíše používá podmínka | xk − xk−1| < ε (která ovšem opět nezaručuje, že | xk − ξ| < ε). Máme-li použití metody prosté iterace zalgoritmizovat, je ověření podmínek konvergence problematické. Proto je (podobně jako např. u Newtonovy metody) vhodné stanovit maximální počet kroků a je-li překročen, výpočet ukončit. Pak je potřeba zvolit jinou iterační funkci nebo jinou metodu. Užití metody si ukážeme na řešení rovnice z příkladu 3.13. Příklad 3.17. Metodou prosté iterace najděte záporný kořen rovnice ex + x2 − 3 = 0 s přesností ε = 0, 01. Řešení. Víme, že kořen leží v intervalu −2, −1 . Budeme hledat vhodnou iterační funkci g. Jedna možnost, jak ze zadané rovnice vyjádřit x, je x2 = 3 − ex ⇒ x = ± √ 3 − ex. Protože hledáme záporný kořen, je g(x) = − √ 3 − ex Ověříme, je-li splněna podmínka 3.7. K tomu je potřeba funkci g zderivovat. Dostaneme g (x) = ex 2 √ 3 − ex . 3.4 Metody vycházející z bodu 57 Nyní budeme hledat maximum | g (x)| na intervalu −2, −1 . Na tomto intervalu je | g (x)| = ex 2 √ 3−ex . Derivace této funkce je ex(6−ex) 4(3−ex) 3 2 . To je funkce na intervalu −2, −1 kladná, tedy | g (x)| je na tomto intervalu rostoucí a svého maxima nabývá v pravém krajním bodě tohoto intervalu. Hodnota maxima je | g (−1)| = e−1 2 √ 3−e−1 ≤ 0, 12 < 1. To znamená, že podmínka 3.7 je splněna. Ještě bychom měli ověřit, že funkce g zobrazuje interval −2, −1 do sebe. Protože je na tomto intervalu g (x) > 0, je funkce g rostoucí a stačí ověřit, že hodnoty g v krajních bodech intervalu do tohoto intervalu patří. (Kdyby g nebyla monotonní, museli bychom hledat její maximum a minimum na zkoumaném intervalu – jen dosadit krajní body by nestačilo.) Protože g(−2) . = −1, 69 ∈ −2, −1 a g(−1) . = −1, 62 ∈ −2, −1 , funkce g zobrazuje zkoumaný interval do sebe. Konvergence iteračního procesu je tedy zaručena. Můžeme zvolit např. x0 = −2. Další aproximace pak budeme počítat podle předpisu xk+1 = g(xk) = − √ 3 − exk Dostaneme x0 = −2 x1 = − √ 3 − e−2 . = −1, 69253 x2 = − √ 3 − e−1,69253 . = −1, 67808 x3 = − √ 3 − e−1,67808 . = −1, 67728 Nyní můžeme výpočet zastavit, protože |x3 − x2| < 0, 01. Přibližné řešení rovnice je x3 . = −1, 68. Iterační metoda v tomto případě konverguje docela rychle, protože hodnota α = 0, 12 je malá. Obecně platí, že čím je derivace funkce g v absolutní hodnotě v okolí pevného bodu menší, tím rychleji metoda prosté iterace konverguje. Z tohoto příkladu je vidět, že zatímco vlastní výpočet postupných aproximací podle vzorce 3.6 je jednoduchý (jedná se jen o výpočty funkčních hodnot), složité je ověřování splnění podmínek konvergence. Navíc musíme vzít v úvahu, že převod rovnice f(x) = 0 na tvar x = g(x) nemusí být jednoznačný. Mohou se také vyskytnout další problémy vyplývající z požadavku vyjádřit neznámou x. Příklad 3.18. Metodou prosté iterace najděte libovolné řešení rovnice ex +3 sin x−2 = 0. Řešení. Převod na tvar x = g(x) můžeme provést např. osamostatněním členu ex nebo členu 3 sin x. V prvním případě dostáváme ex = 2 − 3 sin x, tj. po zlogaritmování x = = ln (2 − 3 sin x). Ve druhém případě dostáváme 3 sin x = 2 − ex , tj. po úpravě x = = arcsin (2 3 − 1 3 ex ). 58 Numerické řešení jedné nelineární rovnice x y x0x1x2 g(x0) g(x1) y = g(x) y = x Obr. 3.16: Metoda prosté iterace x y x0 x1 x2 x3 g(x0) g(x1) g(x2) y = g(x) y = x Obr. 3.17: Metoda prosté iterace může divergovat Zatímco definičním oborem funkce f(x) jsou všechna reálná čísla, pro definiční obory funkcí g(x) – ať v první nebo druhém případě – to neplatí! Pomocí těchto iteračních tvarů x = g(x) tedy rozhodně nemůžeme najít libovolné řešení, ale jen některá z nich. Je přitom zřejmé, že zadaná rovnice má nekonečně mnoho záporných řešení (sami si rozmyslete proč!). Poznámka 3.19. Jedna z možností, jak libovolnou rovnici f(x) = 0 převést na tvar x = g(x), je vydělit rovnici f(x) = 0 derivací funkce f (samozřejmě, pokud na celém uvažovaném intervalu existuje a pokud je všude na tomto intervalu nenulová), pak rovnici vynásobit −1 a nakonec na obě strany přičíst x. Dostaneme x = x − f(x) f (x) , tj. vztah, který by nám měl být povědomý. Newtonova metoda uvedená v kapitole 3.4.1 je tedy speciálním (a obvykle nejvhodnějším) případem metody prosté iterace. 3.4 Metody vycházející z bodu 59 3.4.3 Širší souvislosti Závěrem této kapitoly si ukažme jeden „náročnější případ. Než si přečtete jeho řešení, zkuste si rozmyslet, jak byste při jeho řešení postupovali vy. Současně si všímejte, jak se během řešení tohoto příkladu prolínají středoškolské poznatky, poznatky z předmětů 1. ročníku a z numerických metod. Příklad 3.20. Je dána rovnice ln tg √ 3 − x cos x 4 = 0. Seřaďme absolutní hodnoty všech jejích řešení podle velikosti od nejmenšího k největšímu do posloupnosti x0, x1, x2 . . .. Potřebujeme najít x1. Pokud budete postupovat numericky, zvolte si Newtonovu metodu nebo metodu prosté iterace. Před jejím použitím ověřte všechny podmínky konvergence. Pracujte s přesností = 0, 01 a výpočet ukončete, pokud se následující dvě aproximace liší o méně než . Podle potřeby využívejte matematický software. Řešení. Maple, příp. Wolfram Alpha nebo MATLAB ohlásí dva výsledky: 3 − π2 16 a 2π; např. Maple toto ohlásí po zadání příkazu solve(log(tan(sqrt(3-x)))*cos(x/4),x). Po vykreslení funkce na několika různých intervalech však vidíme, že výsledků je rozhodně více (což ostatně napoví i intuice, protože v zadání se vyskytují dvě goniometrické funkce). Software tedy říká, že výsledky máme chápat s jistou periodou, ale neříká s jakou. Poté, co např. v Maple dohledáme existenci parametru _EnvAllSolutions a nastavíme jeho hodnotu na true, získáme výpis řešení ve tvaru 3 − 1 16 π2 − 1 2 π2 _Z1 ∼ −π2 _Z1 ∼2 , 2π − 4π_B1 ∼ +8π_Z2 ∼ Těžko posoudit, zda je průměrný uživatel Maple moudřejší, nicméně odpovědět na zadanou otázku asi stále neumí. Jestliže použijeme počítačový program k vykreslení funkce na vhodném intervalu obsahujícím počátek soustavy souřadnic, pak zjistíme, že hledané řešení leží v intervalu −15, −10 . Pokud bychom chtěli použít Newtonovu metodu, musíme určit první a druhou derivaci funkce f(x) = ln tg √ 3 − x cos x 4 a najít interval I = a, b , na kterém současně platí: - funkce f(x) má na I právě jedno řešení (což ověříme např. tak, že f(x) je na I spojitá a současně f(a) · f(b) < 0, - f (x) na celém I existuje, je na něm spojitá a různá od nuly, - f (x) na celém I existuje, je na něm spojitá a nemění znaménko. Poté z takového intervalu I vybereme takový bod x0, že f (x0) · f(x0) > 0, budeme moci použít Newtonovu metodu s počáteční aproximací x0. Příslušné derivace vypadají velmi „ošklivě , nicméně můžeme je určit strojově. Po vykreslení všech potřebných funkcí do jednoho obrázku zjistíme, že přibližný výsledek je sice x . = −12, 4, ale vyhovět kritériím konvergence vlastně nemůžeme. Sami si do jednoho obrázku vykreslete na vhodném intervalu funkci a její první a druhou derivaci, abyste viděli, proč tomu tak je! 60 Numerické řešení jedné nelineární rovnice Můžeme však uvažovat i jinak. Zřejmě ln tg √ 3 − x cos x 4 = 0 právě tehdy, když ln tg √ 3 − x = 0 nebo cos x 4 = 0. Ale ln tg √ 3 − x = 0 právě tehdy, když tg √ 3 − x = = 1, a cos x 4 = 0 pro x = 2π + 4kπ, kde k ∈ Z. Ovšem z tg √ 3 − x = 1 dostáváme, že √ 3 − x = π 4 + kπ, kde k ∈ Z. Tedy máme, že x = 3 − (π 4 − kπ)2 , tj. x = 3 − π2 16 − k 2 π − − k2 π2 , kde k ∈ Z. Ovšem ne všechny takové hodnoty leží v definičním oboru funkce f(x) = ln tg √ 3 − x cos x 4 . A nyní už známe skutečný význam toho, co se nám snažil sdělit Maple. . . Odpověď na zadanou otázku je tedy x1 = 3 − 25 16 π2 . = 12, 421257. Pokud bychom trvali na použití numerických metod, pak můžeme numericky hledat řešení rovnice tg √ 3 − x = 1. Zde ovšem narazíme na problémy při ověřování podmínek konvergence Newtonovy metody, protože bez využití softwaru je i toto ověřování (v našem případě ovšem jen pro druhou derivaci!) velmi složité. Nemusíme ovšem nutně využívat Newtonovu metodu. Jestliže budeme chtít použít např. metodu prosté iterace, narazíme ovšem na problém, jak určit vhodný iterační tvar a jak ověřit podmínky konvergence (v případě, že budeme hledat řešení rovnice ln tg √ 3 − x cos x 4 = 0) nebo naopak zjistíme, že vlastně využívat tuto metodu ani nelze (pokud budeme hledat iterační tvar rovnice tg √ 3 − x = 1). Tedy můžeme použít např. metodu půlení intervalů nebo regula falsi, ovšem s vědomím, že budeme muset mnohokrát dosazovat do „komplikované funkce a provést pravděpodobně podstatně více kroků než u Newtonovy metody. Nastane problém se zaokrouhlováním? Můžeme ovšem také zkusit „riskovat a podmínky konvergence neověřovat. Zkuste si sami pro několik počátečních aproximací, zda vůbec a k jakému řešení bude posloupnost postupných aproximací při použití Newtonovy metody nebo metody prosté iterace konvergovat. 3.5 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Výpočet funkčních hodnot 2. Grafy některých elementárních funkcí 3. Grafy funkcí Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler 3.6 Animace 61 Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Numerické metody řešení jedné nelineární rovnice 3.6 Animace Na následujících animacích jsou znázorněny postupy některých numerických metod studovaných v této kapitole. Animace ovládáte tlačítky pod obrázkem. Kvalita animací je dána skutečností, že se jedná o bitmapové obrázky exportované ze softwaru Maple a následně vkládané do textu v jiné velikosti. Animace se nacházejí vždy na samostatné stránce. 62 Numerické řešení jedné nelineární rovnice Obr. 3.18: Půlení intervalů (animace) 3.6 Animace 63 Obr. 3.19: Regula falsi (animace) 64 Numerické řešení jedné nelineární rovnice Obr. 3.20: Newtonova metoda (animace) 65 4 Numerické řešení soustavy nelineárních rovnic Formulace problému Najděte řešení soustavy n nelineárních rovnic o n neznámých. Přitom nelineární rovnicí rozumíme rovnici, jejíž řešení jsme hledali v kapitole 3. Průvodce studiem S požadavkem najít řešení soustavy nelineárních rovnic jste se na střední škole setkali v tom nejjednodušším možném tvaru – při hledání průsečíku přímky a kuželosečky. V této kapitole navážeme na kapitolu 3 a ukážeme, jak lze použití Newtonovy metody a metody prosté iterace rozšířit i na hledání řešení soustavy nelineárních rovnic v obecném případě. 4.1 Motivace a základní pojmy Označení Pokud budeme hovořit o soustavě n nelineárních rovnic o n neznámých x1, x2, . . . , xn, budeme používat tyto dva způsoby zápisu. • „Dlouhý zápis f1(x1, . . . xn) = 0 f2(x1, . . . xn) = 0 . . . fn(x1, . . . xn) = 0 66 Numerické řešení soustavy nelineárních rovnic • Vektorový zápis F(x) = o, kde F = (f1, . . . , fn)T , x = (x1, . . . , xn)T je vektor neznámých a o je nulový vektor. 4.1.1 Příklady reálných zadání a geometrická interpretace V inženýrské praxi se mnoho technických úloh řeší pomocí funkcí komplexní proměnné, tj. funkcí f : Z → Z. Jestliže budeme pracovat s komplexními čísly v algebraickém tvaru, tj. jestliže z = x + jy, x, y ∈ R, pak požadavek najít z takové, že f(z) = konst., znamená řešit soustavu dvou rovnic o dvou neznámých x a y. Je-li rovnice f(z) = konst. nelineární, pak získáme také soustavu nelinárních rovnic. V poznámce 3.15 jsme sice uvedli, že rovnici f(z) = konst. je možné řešit Newtonovou metodou – to však platí jen v situaci, kdy funkci lze na oblasti, která nás zajímá, zderivovat. Pokud tomu tak není, musíme pracovat jiným způsobem – např. takovým, jaký si ukážeme v této kapitole. Příklad 4.1. Je dána funkce f(z) = ez + j z − |z| z. Zjistěte, pro která z platí, že |f(z)| = √ 2 2 a arg f(z) = π 4 . Řešení. Ze zadání vyplývá, že máme najít řešení rovnice ez + j z − |z| z = 1 + j. Rozepsáním získáme soustavu ex cos y + y x2 + y2 = 1 ex sin y + x = 1 To je soustava dvou nelineárních rovnic o dvou neznámých. Uvědomte si, že funkce f(z) = ez +j z−|z| z není holomorfní (ověřte si sami a rozmyslete si, ve kterých bodech, resp. v jakých oblastech, toto tvrzení platí!), proto nemůžeme použít Newtonovu metodu popsanou v kapitole 3.4.1. V případě, že hledáme řešení dvou rovnic o dvou neznámých, hledáme vlastně průsečíky dvou křivek v rovině daných implicitně rovnicemi f1(x, y) = 0 a f2(x, y) = 0 – viz Obr. 4.1. V případě soustavy tří nelineárních rovnic o třech neznámých hledáme společné body tří ploch v trojdimenzionálním prostoru – viz Obr. 4.2, kde je znázorněna soustava x2 4 + y2 9 + z2 9 − 5 = 0 x2 4 + y2 6 + 2z = 0 x2 4 − y2 4 + z2 9 − 5 = 0. Poznámka 4.2. Pokud budeme pracovat např. s periodickými funkcemi, bude odpovídající obrázek výrazně méně přehledný – viz Obr. 4.3. Při práci v komplexním oboru nezapomínejme, že periodické jsou kromě goniometrických funkcí také například funkce w = ez nebo w = ln z. Zkuste si sami za použití softwaru Maple nebo Matlab do jednoho obrázku vykreslit křivky z Příkladu 4.1. Před tím si ovšem projděte Příklad 1.8 na str. 18. 4.2 Odhad polohy řešení a počáteční aproximace 67 (x,y)=02f (x,y)=01f Obr. 4.1: Grafický význam řešení soustavy dvou nelineárních rovnic Na začátku kapitoly 3 jsme ukázali, že požadavek na hledání řešení jedné nelineární rovnice vyplývá mj. z požadavku hledat lokální extrémy funkcí y = f(x), protože řešíme úlohu f (x) = 0. Jestliže místo funkce jedné proměnné budeme pracovat s funkcemi více proměnných, povede totožný požadavek na řešení soustavy nelineárních rovnic, protože budeme hledat body, ve kterých jsou nulové parciální derivace podle každé z proměnných. 4.2 Odhad polohy řešení a počáteční aproximace V případě řešení jedné nelineární rovnice jsme museli před spuštěním dané numerické metody znát interval, na kterém hledané řešení leží. Poté jsme ověřili, zda jsou na tomto intervalu splněny podmínky, za kterých bude daná numerická metoda konvergovat. Až po tomto ověření jsme si mohli být jistí, že hledané řešení skutečně najdeme. Vybrali jsme si vhodnou numerickou metodu a spustili její algoritmus. U hledání řešení soustav nelineárních rovnic je situace podobná, ovšem s tím, že jak nalezení odhadu polohy řešení, tak potvrzení konvergence dané metody, jsou velmi obtížné úkoly. Jistou představu o složitosti tohoto úkolu poskytuje Obr. 4.3. Jestliže hledáme řešení soustavy dvou nelineárních rovnic o dvou neznámých, můžeme polohu řešení odhadnout na základě vykreslení grafů příslušných funkcí. V případě větších soustav však můžeme vycházet prakticky již jen ze zkušenosti nebo z kontextu zadání, kdy např. víme, jakého rozpětí hodnot mohou příslušné neznámé nabývat. V této kapitole se budeme věnovat rozšíření Newtonovy metody a rozšíření metody prosté iterace na hledání řešení soustav nelineárních rovnic. Podobně jako pro případ jedné rovnice, budeme i nyní z jisté oblasti vybírat startovací bod algoritmu (počáteční aproximaci) 68 Numerické řešení soustavy nelineárních rovnic Obr. 4.2: Grafický význam řešení soustavy tří nelineárních rovnic (3d objekt) a hledat další členy posloupnosti postupných aproximací. V případě soustav lineárních rovnic bude aproximací vždy vektor, jehož složkami budou příslušné neznámé. Pro případ soustavy dvou rovnic o dvou neznámých (kterou lze názorně interpretovat jako hledání průsečíku dvou křivek v rovině) bude počáteční a každou další aproximací bod v rovině, resp. vektor, jehož složkami budou x–ová a y–ová souřadnice tohoto bodu. Příklad 4.3. Určete oblast, na které leží řešení soustavy rovnic x2 + 2x + y2 − 6y = 6 4x2 − 32x + 9y2 − 72y = −64 Řešení. Pokud rovnice upravíme (postupem známým ze střední školy), zjistíme, že za- 4.3 Rozšíření Newtonovy metody na řešení soustav nelineárních rovnic 69 𝑥 𝑦 −10 5 10 15−15 −5 𝑂 −10 5 15 −15 −5 10 ex+y + cos(𝑥 − 𝑦) = 0 ex−y − sin(𝑥 + 𝑦) = 0 Obrázek 10: ØeŽení nelineární soustavy e 𝑥+𝑦 + cos(𝑥 − 𝑦) = 0, e 𝑥−𝑦 − sin(𝑥 + 𝑦) = 0 6 Obr. 4.3: Řešení soustavy rovnic ex+y + cos(x − y) = 0, ex−y − sin(x + y) = 0 dání úlohy říká, že máme za úkol najít průsečík kružnice a elipsy – viz Obr. 4.4. Za počáteční aproximaci tedy můžeme volit například x(0) = (0, 7)T , resp. například x(0) = (2, 0)T , resp. nějaký bod „poblíž těchto dvou bodů. 4.3 Rozšíření Newtonovy metody na řešení soustav nelineárních rovnic Newtonovu metodu pro hledání řešení jedné nelineární rovnice lze modifikovat i pro řešení soustav nelineárních rovnic. Myšlenka metody pro jednu rovnici i pro soustavu rovnic je v zásadě stejná. Zápis příslušného vzorce se však liší, protože nyní nemůžeme pracovat s derivací jedné funkce f(x), ale s derivacemi několika funkcí více proměnných. Proto se v 70 Numerické řešení soustavy nelineárních rovnic x y −4 −2 2 4 6 8 10O 2 4 6 8 Obr. 4.4: K příkladu 4.3: grafické znázornění soustavy dvou nelineárních rovnic zápisu vzorců objeví parciální derivace sestavené do jisté matice. Dále musíme uvážit, že zatímco ve vzorci pro řešení jedné rovnice se ve zlomku objevuje ve jmenovateli hodnota derivace, pro soustavy budeme pracovat s maticí, která se pochopitelně ve jmenovateli žádného zlomku objevit nemůže, protože takový výraz by nedával smysl. Předpokládejme, že již máme aproximaci řešení x(k) . Podobně jako u diferencovatelné funkce jedné proměnné platilo pro xk blízké ke kořeni ξ f(ξ) . = f(xk) + f (xk)(ξ − xk), tj. že funkci nahradíme tečnou, platí pro n-tici diferencovatelných funkcí n proměnných F = (f1, . . . , fn)T F(ξ) . = F(x(k) ) + F (x(k) ) · (ξ − x(k) ), kde F =       ∂f1 ∂x1 ∂f1 ∂x2 · · · ∂f1 ∂xn ∂f2 ∂x1 ∂f2 ∂x2 · · · ∂f2 ∂xn ... ∂fn ∂x1 ∂fn ∂x2 · · · ∂fn ∂xn       a · značí násobení matic. Uvědomíme-li si, že F(ξ) = o, můžeme odtud ξ přibližně vyjádřit, čímž získáme jeho další aproximaci x(k+1) . Dostaneme x(k+1) = x(k) − F (x(k) ) −1 · F(x(k) ) (4.1) Při výpočtu další aproximace řešení vzorec 4.1 nepoužíváme. Museli bychom počítat inverzní matici, což je velmi pracné, zvlášť pro matice velkých rozměrů. Místo toho postupujeme následovně: 4.3 Rozšíření Newtonovy metody na řešení soustav nelineárních rovnic 71 Vzorec 4.1 přepíšeme na tvar F (x(k) ) · (x(k+1) − x(k) ) = −F(x(k) ) . Označíme δ(k) = x(k+1) − x(k) = (δ (k) 1 , . . . , δ(k) n )T (4.2) a vyřešíme soustavu rovnic F (x(k) ) · δ(k) = −F(x(k) ) (4.3) s neznámými δ (k) 1 , . . . , δ (k) n . Řešíme-li dvě rovnice, hodí se pro řešení soustavy 4.3 Cramerovo pravidlo. Máme-li velký počet rovnic, použijeme některou z dalších metod popsaných v kapitole 2. Novou aproximaci řešení pak vypočteme z 4.2 jako x(k+1) = x(k) + δ(k) . Ve výpočtu pokračujeme tak dlouho, dokud není splněna podmínka x(k) − x(k−1) < ε neboli δ(k−1) < ε, nebo dokud není překročen předem stanovený maximální počet kroků (v takovém případě je nutno zvolit jinou počáteční aproximaci). V každém kroku Newtonovy metody musíme vyřešit soustavu lineárních rovnic. Z toho je vidět, že Newtonova metoda je pracná a časově náročná. Na druhou stranu, začneme-li blízko kořene, konverguje obvykle velmi rychle. Dalším problémem, který plyne z nutnosti řešit soustavu lineárních rovnic, je to, že musíme zajistit, aby tato soustava rovnic měla v každém kroku (pro všechny možné výsledky předchozích kroků) právě jedno řešení. To je součástí ověření podmínek konvergence – ty však pro jejich složitost neuvá- díme. Poznámka 4.4. Při praktickém použití Newtonovy metody na počítači se někdy místo přímého dosazování x(k) do parciálních derivací hodnoty těchto derivací počítají pouze přibližně, numericky. Postup, jak se numericky derivuje, ukážeme v kapitole 7. Příklad 4.5. Newtonovou metodou najděte řešení soustavy rovnic (x − 1)2 + y2 − 4 = 0 x + (y + 1)2 − 1 = 0 s přesností ε = 0, 01. Řešení. Počet a polohu kořenů můžeme v tomto případě odhadnout graficky. První rovnice je rovnicí kružnice a druhá rovnice je rovnicí paraboly – viz obrázek 4.5. 72 Numerické řešení soustavy nelineárních rovnic x y −2 1 2−1 3 −2 −1 1 2 O x + (y + 1)2 − 1 = 0 (x − 1)2 + y2 − 4 = 0 Obr. 4.5: K příkladu 4.5: odhad polohy kořenů Vidíme, že soustava má dvě řešení. Budeme hledat např. kořen ležící ve čtvrtém kvadrantu. Jako počáteční aproximaci můžeme zvolit x(0) = (0, −2). Dále musíme vypočítat matici parciálních derivací funkcí f1(x, y) = (x − 1)2 + y2 − 4 , f2(x, y) = x + (y + 1)2 − 1 Dostaneme F = ∂f1 ∂x ∂f1 ∂y ∂f2 ∂x ∂f2 ∂y = 2(x − 1) 2y 1 2(y + 1) 1. krok Dosadíme bod x(0) = (0, −2) do matice derivací a do funkcí f1 a f2: F (0, −2) = −2 −4 1 −2 , F(0, −2) = 1 0 Soustava rovnic pro neznámé δ1 a δ2 (horní index, označující krok, pro přehlednost vynecháme, je ale nutno mít na paměti, že v každém kroku budeme počítat jiné δ1 a δ2) bude −2 δ1 − 4 δ2 = −1 δ1 − 2 δ2 = 0 Snadno zjistíme, že řešením této soustavy je δ1 = 1 4 = 0, 25, δ2 = 1 8 = 0, 125. Odtud x(1) = (0 + 0, 25 ; −2 + 0, 125) = (0, 25 ; −1, 875). 2. krok F (0, 25 ; −1, 875) = −1, 5 −3, 75 1 −1, 75 , F(0, 25 ; −1, 875) . = 0, 07812 0, 01562 4.4 Rozšíření metody prosté iterace na řešení soustav nelineárních rovnic 73 Budeme řešit soustavu −1, 5 δ1 − 3, 75 δ2 = −0, 07812 δ1 − 1, 75 δ2 = −0, 01562 Řešení této soustavy můžeme najít pomocí Cramerova pravidla: δ1 = −0, 07812 −3, 75 −0, 01562 −1, 75 −1, 5 −3, 75 1 −1, 75 . = 0, 01225 , δ2 = −1, 5 −0, 07812 1 −0, 01562 −1, 5 −3, 75 1 −1, 75 . = 0, 01593 Odtud x(2) = (0, 25 + 0, 01225 ; −1, 875 + 0, 01593) = (0, 26225 ; −1, 85907). 3. krok F (0, 26225 ; −1, 85907) . = −1, 47549 −3, 71814 1 −1, 71814 F(0, 26225 ; −1, 85907) . = 0, 00040 0, 00025 Budeme řešit soustavu −1, 47549 δ1 − 3, 71814 δ2 = −0, 00040 δ1 − 1, 71814 δ2 = −0, 00025 Řešením této soustavy dostaneme δ1 . = −0, 00004, δ2 . = 0, 00012. Odtud x(3) = = (0, 26221 ; −1, 85894). Protože | δ1| < 0, 01 i | δ2| < 0, 01 (tj. δ ∞ < 0, 01), můžeme výpočet ukončit. Přibližné řešení je (0, 26 ; −1, 86). 4.4 Rozšíření metody prosté iterace na řešení soustav nelineárních rovnic Podobně, jako je možné rozšířit použití Newtonovy metody na hledání řešení soustav nelineárních rovnic, je možné na řešení soustavy použít i metodu prosté iterace. Tak jako u jedné rovnice však bude problematické vybrat vhodný iterační tvar xi = gi(x) (pro každou rovnici) a zajistit, aby všechny funkce gi(x) (a tím i celá soustava) splňovaly na nějaké oblasti – kterou je samo o sobě mnohdy obtížné určit – podmínky konvergence. Použitelnost této metody na řešení soustav nelineárních rovnic proto bude omezená. Soustavu F(x) = o upravíme na tvar x = G(x), (4.4) kde G = (g1, . . . , gn)T , což můžeme rozepsat jako x1 = g1(x1, x2, . . . , xn) (4.5) 74 Numerické řešení soustavy nelineárních rovnic x2 = g2(x1, x2, . . . , xn) ... xn = gn(x1, x2, . . . , xn) Podobně jako u jedné rovnice zvolíme počáteční aproximaci x(0) a počítáme posloupnost postupných aproximací z iteračního vztahu x(k+1) = G(x(k) ) (4.6) Jsou-li funkce g1, . . . , gn diferencovatelné, lze vyslovit podmínky konvergence pro metodu prosté iterace, podobné těm z věty 3.16. Protože pracujeme s n funkcemi n proměnných, v roli derivace zde bude vystupovat matice G =       ∂g1 ∂x1 ∂g1 ∂x2 · · · ∂g1 ∂xn ∂g2 ∂x1 ∂g2 ∂x2 · · · ∂g2 ∂xn ... ∂gn ∂x1 ∂gn ∂x2 · · · ∂gn ∂xn       Věta 4.6. Nechť G zobrazuje uzavřenou oblast D do sebe a je v této oblasti diferencovatelná. Jestliže existuje číslo α ∈ 0, 1) tak, že G ≤ α ∀x ∈ D , (4.7) kde G je řádková nebo sloupcová norma matice G , pak v oblasti D existuje pevný bod ξ zobrazení G a posloupnost postupných aproximací získaná předpisem 4.6 k němu konverguje pro libovolnou počáteční aproximaci x(0) ∈ D. Pro odhad chyby platí podobné vztahy jako 3.8, 3.9 u jedné rovnice. Pro zastavení výpočtu se používá kriterium x(k) − x(k−1) < ε, kde · je některá z norem 2.21, 2.20. Příklad 4.7. Metodou prosté iterace najděte kořen soustavy rovnic 3x + x2 y − 3 = 0 x2 − 5y = 0, který leží v oblasti D = 1/2; 1 × 0; 1/2 s přesností 0,01. Řešení. Iterační funkce mohou být například g1(x, y) = 1− x2 y 3 , g2(x, y) = x2 5 . Ověříme, zda jsou splněny podmínky konvergence. G = (g1, g2)T zobrazuje D do sebe: Jestliže x ∈ 1/2; 1 a y ∈ 0; 1/2 , pak x2 y 3 ∈ 0; 1/6 a tedy g1(x, y) ∈ 5/6; 1 ⊆ 1/2; 1 . Podobně g2(x, y) ∈ 1/20, 1/5 ⊆ 0; 1/2 . Nyní ověříme, zda G ∞ ≤ α < 1, neboli zda |∂g1 ∂x | + |∂g1 ∂y | ≤ α i |∂g2 ∂x | + |∂g2 ∂y | ≤ α. G = −2xy 3 −x2 3 2x 5 0 4.5 Cvičení 75 Jestliže x ∈ 1/2; 1 a y ∈ 0; 1/2 , pak | − 2xy 3 | + | − x2 3 | ≤ 1/3 + 1/3 = 2/3 < 1 a |2x 5 | ≤ 2/5 < 1. (Tedy α = 2/3.) Podmínky konvergence jsou splněny. Jako počáteční aproximaci můžeme zvolit např. (x0, y0) = (1, 0). Další aproximace pak budeme počítat podle vzorců xk+1 = g1(xk, yk) = 1 − x2 kyk 3 yk+1 = g2(xk, yk) = x2 k 5 . Postupně dostaneme x0 = 1 y0 = 0 x1 = 1 y1 = 0, 2 x2 = 0, 933 y2 = 0, 2 x3 = 0, 942 y3 = 0, 174 x4 = 0, 948 y4 = 0, 177. Protože |x4 − x3| < 0, 01 i |y4 − y3| < 0, 01, můžeme výpočet ukončit. Přibližné řešení soustavy je x . = 0, 95, y . = 0, 18. Protože ověření podmínek konvergence může být dost problematické, je vhodné předem stanovit maximální počet kroků metody a je-li překročen, výpočet ukončit s tím, že metoda diverguje. Pak je potřeba zvolit jinou počáteční aproximaci, jiné iterační funkce, nebo jinou metodu. 4.5 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Parciální derivace 2. Analytické řešení soustavy lineárních rovnic Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Numerické metody řešení soustavy nelineárních rovnic 76 Aproximace funkcí: interpolace 5 Aproximace funkcí: interpolace Jevy, které se zkoumají v technické praxi, popisujeme pomocí funkcí. Tak jako jsou některé z jevů „jednodušší a jiné „složitější , jsou „jednodušší a „složitější i příslušné funkce. Při popisu zkoumaných jevů musíme s funkcemi pracovat – provádět s nimi různé bodově definované aritmetické operace, derivovat je nebo integrovat – a určovat jejich hodnoty v bodech, které nás z nějakého důvodu zajímají. Přitom tato práce může být „jednoduchá nebo „složitá – určete si např. sami y (π) nebo π 1 y(x)dx, jestliže y(x) = x sin (ln x + x), resp. y(x) = x. Jestliže zkoumáme jev, který je projevem nějaké funkční závislosti, mohou nastat dvě situace: tato funkční závislost je buď známá (např. vyplývá z aplikace fyzikálních zákonů) nebo neznámá (a to buď zcela neznámá nebo taková, že sice neznáme její přesnou podobu, ale známe alespoň její typ, příp. víme, že je např. periodická, lineární apod.). V následujících dvou kapitolách se proto budeme zabývat situacemi, kdy • máme najít neznámý nebo jednodušší předpis funkce, která popisuje studovaný jev z technické praxe, • máme hledat funkční hodnotu „složitě zadané nebo dokonce skoro neznámé funkce (tj. funkce, o které máme jen velice kusé informace, přičemž její funkční předpis neznáme), • máme derivovat nebo integrovat funkci, kterou je „složité derivovat nebo integrovat, příp. funkci, kterou vůbec neznáme, resp. o které máme jen velice kusé informace. Abychom hovořili zcela jednoznačně, zformulujeme nyní přesně jedno z výše uvedených zadání. Formulace problému 1. Je dána množina bodů [xi, yi], i = 0, . . . , n, n ≥ 1. Najděte funkci f(x), která prochází zadanými body. 2. (alternativně) Je dána funkce f(x) a interval I = a, b . Na intervalu I nahraďte funkci f(x) funkcí, která je „jednodušší . 5.1 Interpolační polynom 77 Označení V dalším textu budeme zadané body místo [xi, yi] označovat jako [xi, fi], resp. [xi, f(xi)], kde • fi bude značit hodnotu hledané funkce f v bodě xi, tj. zde předpokládáme, že hledáme neznámou funkci f(x) (viz zadání 1), • f(xi) bude značit funkční hodnotu funkce f v bodě xi, tj. zde předpokládáme, že ke známé funkci f(x) hledáme nějakou jinou, „jednodušší . Toto označování využijeme u příkladů, které budou formulovány stejně jako zadání 2. Body xi budeme nazývat uzlové body nebo také uzly interpolace. Obě formulace problému budeme řešit stejným postupem. Známe-li funkci a máme-li ji nahradit na nějakém intervalu jinou, „jednodušší (tj. pracujeme-li se zadáním 2), v prvním kroku vybereme ze zadaného intervalu několik bodů. Jakmile dopočítáme jejich funkční hodnoty, získáme zadání 1. 5.1 Interpolační polynom Z formulace našeho problému vyplývá, že hledáme obecný postup na to, abychom libovolnou množinou bodů proložili nějakou funkci f(x). Je zřejmé, že před vlastním hledáním takového postupu musíme odpovědět na mnohem závažnější otázky: Je tato úloha vůbec obecně řešitelná, resp. za jakých předpokladů je obecně řešitelná? Pokud je obecně řešitelná, bude zaručeno, že dostaneme dostatečně „jednoduchou funkci? Jestliže svůj požadavek zpřísníme a místo obecné funkce f(x) budeme hledat speciálně polynom Pn(x), který prochází zadanými body [xi, yi], i = 0, . . . , n, n ≥ 1, odpověď na první otázku bude kladná. Odpovědí na druhou otázku, která je i v tomto případě poněkud komplikovaná, se budeme zabývat na konci této kapitoly. 5.1.1 Existence a jednoznačnost Věta 5.1. Nechť jsou dány body [xi, fi] , i = 0, . . . n, jejichž x–ové souřadnice jsou navzájem různé. Pak existuje právě jeden polynom Pn stupně nanejvýš n takový, že Pn(xi) = fi, i = 0, . . . n. Důkaz. Existenci interpolačního polynomu dokážeme tím způsobem, že předvedeme postup, kterým jej lze pro libovolné navzájem různé uzlové body zkonstruovat. Tomu bude věnován další odstavec této kapitoly. 78 Aproximace funkcí: interpolace To, že interpolační polynom procházející danými body existuje právě jeden, dokážeme sporem. Předpokládejme, že existují dva polynomy stupně nanejvýš n, označme je Pn(x) a Rn(x) takové, že Pn(xi) = fi, i = 0, . . . n i Rn(xi) = fi, i = 0, . . . n. Ukážeme, že tyto dva polynomy jsou shodné. Za tím účelem označme Qn(x) = Pn(x) − Rn(x). Je vidět, že Qn(x) je opět polynom stupně nejvýše n a navíc Qn(xi) = 0, i = 0, . . . , n. Máme tedy polynom stupně nejvýše n, který má n + 1 kořenů. To je možné jedině tak, že Qn(x) je identicky roven nule, Qn(x) ≡ 0, a tedy Pn(x) ≡ Rn(x) pro každé x ∈ R x y 1 20−2 −1 1 y = sin πx 4 y = P(x) Obr. 5.1: Funkce a interpolační polynom Máme tedy zaručeno, že máme-li dánu libovolnou množinu bodů, jejichž x–ové souřadnice jsou navzájem různé, můžeme těmito body proložit právě jeden polynom stupně nejvýše o jedna méně, než je počet zadaných bodů. 5.1.2 Konstrukce interpolačního polynomu Interpolační polynom lze konstruovat obecně více způsoby. V dalším textu si ukážeme dva z nich – Langrangeův a Newtonův. Myšlenka Lagrangeova tvaru interpolačního polynomu vychází z toho, že polynom získáme jako lineární kombinaci Pn(x) = fili(x), (5.1) kde fi jsou hodnoty známé ze zadání a li(x) jsou polynomy konstruované tak, aby podle potřeby nabývaly v určitých bodech buď hodnoty 0 nebo 1. Přesněji, interpolační polynom daný body [xi, fi], i = 0, . . . n sestavíme pomocí polynomů li(x) takových, že li(xj) = 1 pro i = j 0 pro i = j Čtenář snadno ověří, že polynom l0(x) = (x − x1)(x − x2) . . . (x − xn) (x0 − x1)(x0 − x2) . . . (x0 − xn) 5.1 Interpolační polynom 79 má v x0 hodnotu 1 a v ostatních uzlových bodech hodnotu 0. Podobně dostaneme i ostatní polynomy li, i = 0, . . . n: li(x) = (x − x0) . . . (x − xi−1)(x − xi+1) . . . (x − xn) (x0 − x1)(xi − x0) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn) Interpolační polynom Pn(x) nyní dostaneme snadno podle vzorce 5.1. Pn(x) = f0l0(x) + f1l1(x) + · · · + fnln(x) = (5.2) = f0 (x − x1)(x − x2) . . . (x − xn) (x0 − x1)(x0 − x2) . . . (x0 − xn) + f1 (x − x0)(x − x2) . . . (x − xn) (x1 − x0)(x1 − x2) . . . (x1 − xn) + · · · · · · + fn (x − x0)(x − x1) . . . (x − xn−1) (xn − x0)(xn − x1) . . . (xn − xn−1) Příklad 5.2. Najděte interpolační polynom v Lagrangeově tvaru daný body xi -1 0 2 3 fi 5 10 2 1 Řešení. Máme zadány 4 body, interpolační polynom bude tedy stupně nejvýše třetího. Pro jeho konstrukci použijeme vzorec 5.2: P3(x) = 5 (x − 0)(x − 2)(x − 3) (−1 − 0)(−1 − 2)(−1 − 3) + 10 (x − (−1))(x − 2)(x − 3) (0 − (−1))(0 − 2)(0 − 3) + +2 (x − (−1))(x − 0)(x − 3) (2 − (−1))(2 − 0)(2 − 3) + 1 (x − (−1))(x − 0)(x − 2) (3 − (−1))(3 − 0)(3 − 2) = x3 − 4x2 + 10 Výsledný interpolační polynom je spolu se zadanými body znázorněn na obrázku 5.2. Při konstrukci interpolačního polynomu můžeme postupovat i jinak. Tvar Pn(x) = a0 + a1(x − x0) + a2(x − x0)(x − x1) + · · · + an(x − x0)(x − x1) . . . (x − xn−1) (5.3) má tu výhodu, že k němu můžeme podle potřeby přidávat další uzly, aniž je nutné celý polynom přepočítávat. (Ověřte si sami, že u polynomu v Lagrangeově tvaru to možné není!) Koeficienty ai lze určit několika způsoby, např. pomocí poměrných diferencí. Pro danou funkci f a uzlové body xi, i = 0, . . . , n nazveme podíly f[xi, xi+1] = f(xi+1) − f(xi) xi+1 − xi , i = 0, 1, . . . n − 1 poměrnými diferencemi prvního řádu. Pomocí poměrných diferencí prvního řádu definujeme poměrné diference druhého řádu jako f[xi, xi+1, xi+2] = f[xi+1, xi+2] − f[xi, xi+1] xi+2 − xi , i = 0, 1, . . . , n − 2 80 Aproximace funkcí: interpolace x y −1 2 3 1 2 10 5 O P3(x) = x3 − 4x2 + 10 Obr. 5.2: K příkladu 5.2: Zadané body a výsledný interpolační polynom a obecně poměrné diference k-tého řádu pro k ≤ n definujeme takto: f[xi, xi+1, . . . , xi+k] = f[xi+1, xi+2, . . . , xi+k] − f[xi, xi+1, . . . , xi+k−1] xi+k − xi , i = 0, . . . n − k. Dá se dokázat, že pro koeficienty ai, i = 0, 1, . . . , n ve výrazu (5.3) platí a0 = f(x0) a1 = f[x0, x1] a2 = f[x0, x1, x2] ... an = f[x0, x1, . . . , xn] Dosazením těchto hodnot do 5.3 dostaneme Newtonův tvar interpolačního polynomu Pn(x) = f(x0) + f[x0, x1](x − x0) + f[x0, x1, x2](x − x0)(x − x1) + · · · (5.4) · · · + f[x0, x1, . . . , xn](x − x0)(x − x1) . . . (x − xn−1) Celý postup si ukážeme na příkladě. Příklad 5.3. Aproximujte funkci f(x) = 1 x Newtonovým tvarem interpolačního polynomemu v uzlech xi 1 2 2,5 3,2 4 Řešení. Abychom mohli sestavit Newtonův tvar interpolačního polynomu, musíme vypočítat poměrné diference funkce f až do řádu 4. Budeme je postupně, po sloupcích, zapisovat do tabulky. První tabulka ukazuje postup výpočtu, druhá výsledné hodnoty. 5.1 Interpolační polynom 81 V první tabulce si všimněte, že v čitatelích zlomků se objevují čísla vždy z předchozího sloupce tabulky a ve jmenovatelích vystupují vždy uzlové body. Ve jmenovatelích přitom některé uzlové body vynecháváme – velikost „mezery závisí na řádu poměrné diference. Sloupec f(xi) označuje funkční hodnoty funkce f v zadaných uzlových bodech – viz části „Formulace problému a „Označení na str. 76. Podtržené hodnoty ze druhé tabulky pak použijeme pro interpolační polynom. i xi f(xi) f[xi, xi+1] f[xi, xi+1, xi+2] f[xi, xi+1, . . . , xi+3] f[x0, . . . , x4] 0 1 1 0,5−1 2−1 −0,2−(−0,5) 2,5−1 0,0625−0,2 3,2−1 −0,015625−(−0,0625) 4−1 1 2 0, 5 0,4−0,5 2,5−2 −0,125−(−0,2) 3,2−2 0,03125−0,0625 4−2 2 2, 5 0, 4 0,3125−0,4 3,2−2,5 −0,078125−(−0,125) 4−2,5 3 3, 2 0, 3125 0,25−0,3125 4−3,2 4 4 0, 25 i xi f(xi) f[xi, xi+1] f[xi, xi+1, xi+2] f[xi, . . . , xi+3] f[x0, . . . , x4] 0 1 1 -0,5 0,2 -0,0625 0,015625 1 2 0,5 -0,2 0,0625 -0,015625 2 2,5 0,4 -0,125 0,03125 3 3,2 0,3125 -0,078125 4 4 0,25 Nyní dosadíme do vzorce 5.4 P4(x) = 1 − 0,5(x − 1) + 0,2(x − 1)(x − 2) − 0,0625(x − 1)(x − 2)(x − 2,5) + +0,015625(x − 1)(x − 2)(x − 2,5)(x − 3,2) Přibližnou hodnotu funkce f v požadovaném bodě vypočteme dosazením do interpolačního polynomu. Polynom v Newtonově tvaru je však nejprve vhodné si postupným vytýkáním upravit. Při použití tohoto postupu se značně sníží počet výpočetních operací nutných pro získání výsledku. Je-li čtenář obeznámen s Hornerovým schématem, možná najde jistou podobnost s tímto postupem. Příklad 5.4. Pomocí interpolačního polynomu získaného z uzlových bodů z příkladu 5.3 vypočtěte přibližnou hodnotu funkce f v bodech x = 3 a x = 10. Řešení. Ze získaného interpolačního polynomu můžeme vytknout (x−1), pak ve zbytku (x − 2) a tak dále, až nakonec dostaneme 82 Aproximace funkcí: interpolace P4(x) = 1 + (x − 1) − 0,5 + (x − 2) 0,2 + (x − 2,5) − 0,0625 + (x − 3,2)0,015625 Dosazovat je vhodné „zevnitř . V našem případě dostaneme P4(3) . = 0,334, zatímco přesná hodnota je 1 3 . = 0,333. Pro x = 10 vyjde P4(10) = 34,525, zatímco přesná hodnota je 1 10 = 0,1. Skutečnost, že v příkladu 5.3, resp. 5.4, je aproximace pro x = 3 relativně přesná, zatímco pro x = 10 zcela nevhodná, jen ilustruje fakt, že interpolační polynom nabývá stejných hodnot jako aproximovaná funkce v uzlových bodech, v okolích uzlových bodů, resp. v intervalu od nejmenšího do největšího uzlu je aproximace „většinou relativně dobrá a k určování hodnot mimo interval od nejmenšího do největšího uzlu je aproximace „ve většině případů zcela nevhodná . Význam pojmů v uvozovkách je samozřejmě pouze relativní a vždy závisí na konkrétní situaci. Více je patrné z obrázků 5.1, 5.3, 5.4 a 5.5. 5.1.3 Speciální případ: ekvidistantní uzly Skutečnost, že mezi dvěma sousedními uzly interpolace může být obecně pokaždé jiná vzdálenost, může v mnoha situacích působit potíže. Pokud by mezi dvěma sousedními uzly byla vzdálenost vždy stejná, mohlo by to zejména zjednodušit některé strojové výpočty. Definice 5.5. Jestliže vzdálenosti mezi sousedními uzlovými body jsou konstantní, tj. platí-li xi+1 − xi = h pro všechna i = 1, . . . n, kde h ∈ R je konstanta, říkáme, že uzly jsou ekvidistantní. Konstantu h nazýváme krok. Všimněme si, že pro takovéto uzly platí xi = x0 + ih, i = 0, . . . , n. (5.5) Pro ekvidistantní uzly lze odvodit jiný, jednodušší tvar Newtonova (i Lagrangeova) interpolačního polynomu. Místo poměrných diferencí budeme používat „obyčejné diference: Diference prvního řádu funkce f(x) se definuje jako ∆f(x) = f(x + h) − f(x), (5.6) a diference k-tého řádu jako ∆k f(x) = ∆k−1 f(x + h) − ∆k−1 f(x) (5.7) Pro ekvidistantní uzly xi, i = 0, . . . , n, budeme diferenci k-tého řádu v uzlu xi, ∆k f(xi), značit zkráceně jako ∆k fi. Platí ∆fi = f(xi + h) − f(xi) = f(xi+1) − f(xi) = fi+1 − fi ∆k fi = ∆k−1 fi+1 − ∆k−1 fi 5.1 Interpolační polynom 83 Poměrné diference lze v případě ekvidistantních uzlů vyjádřit pomocí obyčejných diferencí. Zřejmě platí f[xi, xi+1] = ∆fi h . (5.8) Pro poměrnou diferenci druhého řádu platí f[xi, xi+1, xi+2] = ∆fi+1 h − ∆fi h 2h = ∆2 fi 2h2 . Matematickou indukcí lze dokázat, že k-tá poměrná diference se dá vyjádřit jako f[xi, . . . , xi+k] = ∆k fi k! hk . (5.9) Tyto vztahy dosadíme do Newtonova interpolačního polynomu 5.4. Zjednodušit však můžeme i výrazy (x − x0) · · · (x − xk), které se v tomto polynomu vyskytují. K tomu účelu zavedeme místo x novou proměnnou q vztahem q = x − x0 h , neboli x = x0 + qh. (5.10) Potom x − x0 = qh, x − x1 = x − x0 − h = (q − 1)h, obecn˘e x − xk = (q − k)h (5.11) Vztahy 5.9 a 5.11 nyní dosadíme do 5.4. Po snadné úpravě (zkrácení h) vyjde vzorec pro Newtonův interpolační polynom pro ekvidistantní uzly. Věta 5.6. Jestliže pro uzly interpolace xi, i = 0, . . . , n platí vztah 5.5, pak Pn(x) = f0 + q 1! ∆f0 + q(q − 1) 2! ∆2 f0 + · · · + q(q − 1) · · · (q − n + 1) n! ∆n f0,(5.12) kde q = x−x0 h , je interpolační polynom pro zadané uzlové body. Chceme-li do interpolačního polynomu Pn(x) dosadit za x určité číslo, vypočteme příslušnou hodnotu q, a tu pak do P dosadíme. Není vhodné výraz roznásobovat, pro dosazování je lepší úprava, kterou předvedeme v příkladu 5.7. S funkcí použitou v tomto příkladu se setkáte v části o pravděpodobnosti a statistice u normálního rozdělení pravděpodobnosti. Příklad 5.7. Pomocí Newtonova interpolačního polynomu vypočtěte přibližnou hodnotu Gaussovy funkce G(x) = 2 √ π x 0 e−t2 dt v bodě x = 1,17, známe-li hodnoty G(x) v následujících bodech: x 1 1,1 1,2 1,3 G(x) 0,8427 0,8802 0,9103 0,9340 Řešení. Vypočteme potřebné diference, dvakrát podtržená čísla jsou použita v interpolačním polynomu: 84 Aproximace funkcí: interpolace i xi Gi ∆Gi ∆2 Gi ∆3 Gi 0 1 0,8427 0,0375 -0,0074 0,0010 1 1,1 0,8802 0,0301 -0,0064 2 1,2 0,9103 0,0237 3 1,3 0,9340 Nyní dosadíme do vzorce 5.12: P3(x) = 0,8427 + q 1! · 0,0375 − q(q − 1) 2! · 0,0074 + q(q − 1)(q − 2) 3! · 0,0010 q = x − 1 0,1 Pro snížení počtu potřebných početních operací můžeme tento polynom upravit (podobně, jako jsme to udělali v příkladu 5.3): P3(x) = 0,8427 + q 1 0,0375 + q − 1 2 −0,0074 + q − 2 3 · 0,0010 Nyní chceme vypočítat přibližnou hodnotu G(1,17). Ta bude přibližně rovna hodnotě interpolačního polynomu pro x = 1,17, tzn. pro q = 1,17−1 0,1 = 1,7 : G(1,17) . = P3(1,17) = 0,8427 + 1,7 1 0,0375 + 0,7 2 −0,0074 + −0,3 3 · 0,0010 . = 0,9020 Přesná hodnota G(1,17) je po zaokrouhlení na čtyři desetinná místa také 0,9020. 5.1.4 Využitelnost interpolačního polynomu a odhad chyby S myšlenkou aproximace funkcí jste se setkali již v prvním ročníku – jistě si vzpomenete na pojem Taylorova řada. Již tehdy jste se zabývali otázkou, kde, tj. na jaké části definičního oboru, v kterých bodech, v okolích kterých bodů, na jakých intervalech apod., lze náhradu nějaké funkce Taylorovým rozvojem považovat za vyhovující. Stejnou otázku si musíme položit i na tomto místě. Jestliže uvážíme formulaci našeho problému, pohybujeme se ve dvou situacích: 1. Máme body, které pravděpodobně popisují nějakou neznámou funkci. Sestrojíme polynom, který těmito body prochází a předpokládáme, že tento polynom „přibližně této neznámé funkci odpovídá. 2. Máme funkci a nějaké body jejího definičního oboru. Pomocí těchto bodů a známého funkčního předpisu sestrojíme jinou, „jednodušší funkci, o které předpokládáme, že původní funkci na nějaké části jejího definičního oboru s jistou přesností nahrazuje. Přitom nesmíme zapomínat na účel interpolačního polynomu. Tím může být např. požadavek, abychom přibližně určili funkční hodnotu v nějakém jiném než uzlovém bodě. 5.1 Interpolační polynom 85 Potřebujeme tedy vědět, za jakých podmínek a na jakém intervalu, resp. v okolí kterých bodů, bude interpolační polynom „spolehlivě a „rozumně naši (známou nebo neznámou) funkci nahrazovat. Příklad 5.8. Jsou dány následující dvojice bodů: 1. [−1, −2], [1, 5], [2, 3], [4, −1], 2. tytéž body a navíc bod [5, 6]. Proložte jimi interpolační polynom. Řešení. Příslušné polynomy si můžete najít sami, zde ukážeme pouze jejich grafické znázornění – viz Obr. 5.3. x y 1 2 5O 3 4−1 −2 −1 1 2 4 5 6 3 Obr. 5.3: Červeně je zobrazen polynom ze zadání 1, modře polynom ze zadání 2 Příklad 5.9. Aproximujte funkci y = 1 x2+1 interpolačním polynomem v uzlech x0 = − −0, 6, x1 = −0, 4, x2 = −0, 2, x3 = 0, 1, x4 = 0, 4, x5 = 0, 5, x6 = 1, x7 = 2. Poté aproximujte tutéž funkci interpolačním polynomem v uzlech x0 = −5, x1 = −4, x2 = −3, x3 = −2, x4 = −1, x5 = 0, x6 = 1, x7 = 2, x8 = 3, x9 = 4, x10 = 5. Řešení. Příslušné polynomy si můžete opět najít sami, zde ukážeme pouze jejich grafické znázornění. Na Obr. 5.4 a 5.5 je vždy červeně znázorněná zadaná funkce a modře příslušný interpolační polynom. 86 Aproximace funkcí: interpolace x y −0,5 0,5 1 2O 1,5 −0,5 0,5 1 Obr. 5.4: K příkladu 5.9: více uzlů ? = přesnější výsledky? 𝑥 𝑦 −2 2𝑂−4 4 −0,5 0,5 1,5 1 Obrázek 6: Více uzlù ? = pøesnìjŽí výsledky? V anglické verzi se musí zmìnit zápis desetinných èísel, napø. 0{,}5 na 0.5. 𝑥 𝑦 0,8 1,50 2,6 3,2 −1 1 𝑦 = 𝑓(𝑥) 𝑦 = 𝑠(𝑥) Obrázek 7: Nahrazení funkce 𝑓(𝑥) = cos 𝑥 pøirozeným kubickým splajnem Obr. 5.5: K příkladu 5.9: více uzlů ? = přesnější výsledky? Jak je vidět z obrázků 5.1 a 5.3, interpolační polynom není vhodné používat mimo interval od „prvního do „posledního uzlu (v tom případě bychom hovořili o tzv. extrapolaci). I uvnitř tohoto intervalu však může docházet k problémům, jak je ostatně patrné z obrázků 5.4 a 5.5. Tyto problémy často nastávají v bodech, které jsou „daleko od uzlových bodů, nebo obecně v situaci, kdy je uzlových bodů „hodně , tj. kdy interpolační polynom může být „vysokého stupně. Všechny pojmy v uvozovkách jsou pochopitelně relativní a jejich přesný význam závisí na konkrétní situaci. Chybu interpolace můžeme (teoreticky) odvodit pomocí následující věty. Věta 5.10. Nechť interval I obsahuje body x0, x1, . . . , xn a nechť f je (n+1)-krát diferencovatelná funkce na I. Nechť Pn(x) je interpolační polynom n-tého stupně určený hodnotami funkce f v bodech x0, . . . xn. Potom pro libovolné x ∈ I existuje ξ ∈ I takové, že pro chybu interpolace E(x) platí E(x) = f(x) − Pn(x) = f(n+1) (ξ) (n + 1)! (x − x0)(x − x1) . . . (x − xn). (5.13) 5.2 Splajn 87 Důkaz není úplně jednoduchý a lze jej nalézt např. v [?]. Vzorec 5.13 slouží hlavně jako teoretický základ pro určení chyby u dalších metod, např. u numerické integrace. Jinak je jeho použití poněkud problematické, protože bod ξ je pro každé x ∈ I jiný a jeho nalezení je prakticky nemožné. Chybu interpolace však můžeme alespoň shora odhadnout: Označíme-li Mn+1 = max t∈I |f(n+1) (t)|, platí |E(x)| = |f(x) − Pn(x)| ≤ Mn+1 (n + 1)! |(x − x0)(x − x1) . . . (x − xn)| (5.14) Najít veličinu Mn+1 však také nemusí být zrovna jednoduché. Poznámka 5.11. Odhad (5.14) lze použít v případě, kdy chceme sestavit tabulku hodnot nějaké funkce f(x) s konstantním krokem mezi hodnotami x a ptáme se, jak tento krok zvolit, aby chyba při interpolaci například lineárním polynomem nepřevýšila dané ε. Následující příklad slouží spíše k ozřejmení jednotlivých veličin ve vzorci 5.14 a jako ukázka, že vzorec „funguje , protože v tomto případě můžeme určit i přesnou hodnotu chyby a nemusíme nic odhadovat. Příklad 5.12. Odhadněte chybu interpolace z příkladu 5.3 v bodě x = 3. Řešení. Pro odhad chyby potřebujeme vypočítat pátou derivaci interpolované funkce f(x) = 1 x (protože n je v tomto případě 4) a najít maximum její absolutní hodnoty na intervalu I = 1, 4 (I je nejmenší interval obsahující všechny uzlové body a bod, v němž chceme odhadovat chybu). Vyjde f(5) (x) = − 120 x6 Je vidět, že |f(5) (x)| = 120 x6 , což je funkce na I klesající. Svého maxima na tomto intervalu proto dosahuje v bodě x = 1 a jeho hodnota je M5 = 120 16 = 120. Nyní dosadíme do 5.13: |E(3)| ≤ 120 5! |(3 − 1)(3 − 2)(3 − 2, 5)(3 − 3, 2)(3 − 4)| = |2 · 1 · 0, 5 · (−0, 2) · (−1)| = 0, 2 Odhad chyby je v tomto případě dosti nadsazený, chyba v bodě x = 3 je ve skutečnosti mnohem menší než 0, 2, viz řešení příkladu 5.4. To, že teoretický odhad chyby je příliš pesimistický, je poměrně časté i u jiných metod. V bodech vzdálených uzlovým bodům nabývá výraz (x − x0)(x − x1) . . . (x − xn), který se vyskytuje v odhadu chyby, velkých hodnot. Proto se interpolační polynom pro výpočet přibližných hodnot funkce v takovýchto bodech nehodí. 5.2 Splajn 5.2.1 Rozdíl splajn vs. interpolační polynom Formulace problému, tak jak jsme ji uvedli u interpolačního polynomu, zůstane v této části stejná. Co se změní, bude požadavek na tvar funkčního předpisu – nebudeme nyní 88 Aproximace funkcí: interpolace hledat jeden funkční předpis platný pro celý interval, který nás zajímá, ale budeme hledat funkci, která bude na různých částech tohoto intervalu definována různě. S funkcemi tohoto typu se setkáváme velmi často. Například v situaci, kdy měříme závislost nějaké fyzikální veličiny na čase, může mít hledaná funkce tvar: f(t) = 0 t < 0 g(t) t > 0 , tj. může být definována obecně ve více „větvích – v tomto případě se pro kladný čas bude chovat „nějak a pro záporný čas bude nulová. Nyní budeme postupovat tak, že interval od nejmenšího do největšího uzlového bodu rozdělíme na několik podintervalů (každý podinterval bude vždy tvaru xi, xi+1 , tj. bude vždy intervalem mezi dvěma sousedními uzlovými body), a na každém z těchto podintervalů budeme hledat vhodnou náhradu zadané funkce. Budeme přitom chtít, aby hledaná funkce splňovala několik požadavků, tj. zejména aby: • podobně jako u interpolačního polynomu funkce procházela všemi zadanými body, • všechny části funkce byly polynomy, a to obecně stejného typu (některé z koeficientů včetně koeficientu u členu s nejvyšší mocninou pochopitelně v průběhu výpočtů mohou vyjít nulové), • sousední části funkce na sebe navazovaly, přičemž tento požadavek aby platil i pro derivace až do jistého řádu. Přitom můžeme vycházet z obou možných formulací problému uvedeného na str. 84, tj. můžeme hledat funkci, kterou neznáme, nebo nahrazovat funkci, kterou známe. Příklad takovéto funkce S(x) nahrazující funkci f(x) je uveden na Obr. 5.6, kde je zachycen nejjednodušším příklad splajnu – lineární splajn, tj. splajn řádu 1. Funkce f(x) je na každém subintervalu xi, xi+1 , i = 0, . . . n − 1, nahrazena úsečkou1 , jejíž rovnice je Si(x) = f(xi) + f(xi+1) − f(xi) xi+1 − xi (x − xi), x ∈ xi, xi+1 Nejčastěji se v technické praxi používají splajny řádu 3, tj. kubické splajny, kterých existuje několik typů. V následující definici zmíníme tzv. přirozený kubický splajn. 1 U splajnu 1. řádu požadujeme spojitost derivací do řádu 0 včetně, tj. spojitost samotné funkce S(x). Snadno se přesvědčíme, že hodnoty jednotlivých funkcí Si(x) v krajních bodech příslušného intervalu xi, xi+1 jsou rovny f(xi), resp. f(xi+1), čímž je zaručeno, že na sebe tyto funkce v uzlových bodech spojitě navazují (viz obrázek 5.6). Zlepšení aproximace dosáhneme zjemněním intervalů mezi uzlovými body. 5.2 Splajn 89 x y −4 3 −2 3 2 3 4 3 2 8 30 2 4 6 y = f(x) y = S(x) Obr. 5.6: Nahrazení funkce lineárním splajnem Definice 5.13. Přirozený kubický splajn pro funkci f s uzlovými body x0, x1, . . . , xn je funkce S(x), která je kubický polynom označený Si(x) na každém subintervalu xi, xi+1 , i = 0, 1, . . . , n − 1, vyhovující podmínkám Si(xi) = f(xi), i = 0, . . . , n − 1, Sn−1(xn) = f(xn) (5.15) Si(xi+1) = Si+1(xi+1), i = 0, . . . , n − 2 (5.16) Si(xi+1) = Si+1(xi+1), i = 0, . . . , n − 2 (5.17) Si (xi+1) = Si+1(xi+1), i = 0, . . . , n − 2 (5.18) a okrajovým podmínkám S (x0) = S (xn) = 0 (5.19) Podmínky 5.16 znamenají spojitost funkce S v uzlových bodech, podmínky 5.17 a 5.18 spojitost prvních, resp. druhých derivací. V technické praxi se často používají i jiné okrajové podmínky. Např. Matlab ve funkci spline může mít zadané hodnoty S (x0) a S (xn). Na obrázku 5.7 je znázorněna aproximace funkce f(x) = 1 1+x2 pomocí přirozeného kubického splajnu. Můžeme porovnat s obrázkem 5.5, kde byla tatáž funkce nahrazena interpolačním polynomem daným stejnými uzlovými body. 90 Aproximace funkcí: interpolace 𝑥 𝑦 −5 −4 −3 −2 −1 1 2 3 4 5 0,5 1 𝑂 𝑦 = 1 1 + 𝑥2 𝑥 𝑦 −5 −4 −3 −2 −1 1 2 3 4 5 0,5 1 𝑂 𝑦 = 𝑆(𝑥) 𝑆(𝑥) = ⎧ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩ 1 441 3 077 + 44 532 200 005 𝑥 + 6 561 160 004 𝑥2 + 2 187 800 020 𝑥3 pro 𝑥 ≤ −4, 30 029 40 001 + 6 684 15 385 𝑥 + 15 033 160 004 𝑥2 + 5 717 800 020 𝑥3 pro − 4 ≤ 𝑥 ≤ −3, 147 688 200 005 + 1 299 3 077 𝑥 + 71 889 800 020 𝑥2 + 5 353 800 020 𝑥3 pro − 3 ≤ 𝑥 ≤ −2, 308 612 200 005 + 325 821 200 005 𝑥 + 554 661 800 020 𝑥2 + 17 163 160 004 𝑥3 pro − 2 ≤ 𝑥 ≤ −1, 1 − 748 623 800 020 𝑥2 − 348 613 800 020 𝑥3 pro − 1 ≤ 𝑥 ≤ 0, 1 − 748 623 800 020 𝑥2 + 348 613 800 020 𝑥3 pro 0 ≤ 𝑥 ≤ 1 308 612 200 005 − 325 821 200 005 𝑥 + 554 661 800 020 𝑥2 − 17 163 160 004 𝑥3 pro 1 ≤ 𝑥 ≤ 2, 147 688 200 005 − 1 299 3 077 𝑥 + 71 889 800 020 𝑥2 − 5 353 800 020 𝑥3 pro 2 ≤ 𝑥 ≤ 3, 30 029 40 001 − 6 684 15 385 𝑥 + 15 033 160 004 𝑥2 − 5 717 800 020 𝑥3 pro 3 ≤ 𝑥 ≤ 4, 1 441 3 077 − 44 532 200 005 𝑥 + 6 561 160 004 𝑥2 − 2 187 800 020 𝑥3 pro 4 ≤ 𝑥. Obrázek 17: Nahrazení funkce 𝑓(𝑥) = 1 1+𝑥2 pøirozeným kubickým splajnem V anglické verzi se musí zmìnit zápis desetinných èísel, napø. 0{,}5 na 0.5 a pro na for. Udìlal jsem si v Maplu ten splajn a nakreslil pøes sebe, ale to skoro splývá. Tak jsem udìlal dva obrázky a vysázel i vzorec splajnu. 10 Obr. 5.7: Funkce f(x) = 1 1+x2 a její náhrada přirozeným kubickým splajnem 5.2.2 Nalezení přirozeného kubického splajnu Nyní se budeme zabývat problémem, jak k zadaným uzlovým bodům a hodnotám funkce v nich sestrojit přirozený kubický splajn. 5.2 Splajn 91 Na jednotlivých intervalech xi, xi+1 , i = 0, 1, . . . , n − 1, budeme splajn hledat ve tvaru Si(x) = ai + bi(x − xi) + ci(x − xi)2 + di(x − xi)3 (5.20) Z podmínek 5.15 dostaneme ai = f(xi), i = 0, 1, . . . n − 1. Odtud, z podmínek 5.16, 5.17, 5.18 a z okrajových podmínek S0 (x0) = Sn−1(xn) = 0 lze po jistém úsilí odvodit soustavu rovnic s neznámými ci, i = 0, . . . , n hi−1ci−1 + 2(hi−1 + hi)ci + hici+1 = 3 ∆fi hi − ∆fi−1 hi−1 , i = 1, . . . , n − 1(5.21) c0 = cn = 0 kde hi = xi+1 − xi a ∆fi = f(xi+1) − f(xi), i = 0, . . . , n − 1. Po rozepsání a dosazení za c0 a cn soustava vypadá takto: 2(h0 + h1)c1 + h1c2 = 3(∆f1 h1 − ∆f0 h0 ) h1c1 + 2(h1 + h2)c2 + h2c3 = 3(∆f2 h2 − ∆f1 h1 ) ... ... hn−2cn−2 + 2(hn−2 + hn−1)cn−1 = 3(∆fn−1 hn−1 − ∆fn−2 hn−2 ) Jedná se o třídiagonální soustavu rovnic a lze ji vyřešit např. pomocí Gaussovy eliminační metody přizpůsobené pro třídiagonální soustavu. Můžeme také použít např. Jacobiho nebo Gauss-Seidelovu metodu. Konvergence je v obou případech zaručena, protože všechna čísla hi označují délky intervalů, a jsou tedy kladná.1 Koeficienty bi a di pak dopočítáme pomocí ci ze vztahů (také odvozených z podmínek 5.15 – 5.18) bi = f(xi+1) − f(xi) hi − ci+1 + 2ci 3 hi i = 0, . . . , n − 1 (5.22) di = ci+1 − ci 3hi i = 0, . . . , n − 1 (5.23) 1 Otázka: Čím je zaručeno, resp. jak ověříte, že soustava má právě jedno řešení? 92 Aproximace funkcí: interpolace Můžeme tedy shrnout, že v případě, kdy hledáme přirozený kubický splajn ve tvaru 5.20: 1. Koeficienty ai píšeme přímo ze zadání jako funkční hodnoty v uzlových bodech. 2. Pro výpočet ostatních koeficientů potřebujeme znát hodnoty hi a ∆fi, které určíme ze zadání jako vzdálenosti uzlů a rozdíly funkčních hodnot v nich. 3. Koeficienty ci, i = 1, . . . n − 1 určíme jako řešení soustavy lineárních rovnic, přičemž c0 = 0 a cn = 0. 4. Koeficienty bi a di dopočítáme pomocí dříve vypočtených koeficientů. Na závěr poté musíme doplnit informaci, na jakém intervalu je příslušný polynom Si(x) „platný . Poznámka 5.14. Uvedení informace, na jakém intervalu je příslušný polynom Si(x) „platný , je nezbytné. Na Obr. 5.8 a Obr. 5.9 je v bodech x0 = 0, x1 = 0, 8, x2 = 1, 5, x3 = 2, 6 a x4 = 3, 2 nahrazena funkce f(x) = cos x přirozeným kubickým splajnem. x y 0,80 2,6 3,21,5 −1 1 y = f(x) y = s3(x) y = s4(x) y = s1(x) y = s2(x) Obr. 5.8: Nahrazení funkce f(x) = cos x přirozeným kubickým splajnem: funkce a jednotlivé části splajnu Výpočet přirozeného kubického splajnu si ukážeme na příkladu. Příklad 5.15. Funkci f(x) = √ x aproximujte přirozeným kubickým splajnem s uzlovými body xi 1 1,69 2,25 2,89 4 a pak pomocí tohoto splajnu vypočtěte přibližně hodnotu f(2). Řešení. Dopočítáme funkční hodnoty v uzlových bodech a pak vypočteme hi, i = = 0, 1, 2, 3, tj. délky jednotlivých intervalů, a ∆fi, i = 0, 1, 2, 3. Vypočtené hodnoty jsou zapsány v následující tabulce 5.2 Splajn 93 x y 0,8 1,50 2,6 3,2 −1 1 y = f(x) y = s(x) Obr. 5.9: Nahrazení funkce f(x) = cos x přirozeným kubickým splajnem: funkce a splajn i 0 1 2 3 4 xi 1 1,69 2,25 2,89 4 f(xi) = √ xi 1 1,3 1,5 1,7 2 hi 0,69 0,56 0,64 1,11 ∆fi 0,3 0,2 0,2 0,3 Víme, že c0 = 0. Pro neznámé c1, c2, c3 dostaneme podle 5.22 soustavu rovnic 2, 5c1 + 0, 56c2 = −0, 232919 0, 56c1 + 2, 4c2 + 0, 64c3 = −0, 133929 0, 64c2 + 3, 5c3 = −0, 126689 Řešením této soustavy je c1 = −0, 087085, c2 = −0, 027155, c3 = −0, 031231. Koeficienty bi a di, i = 0, 1, 2, 3, dopočítáme podle vzorců 5.22 a 5.23. (Při výpočtu b3 a d3 použijeme c4 = 0.) Tedy např. b0 = 1, 3 − 1 0, 69 − −0, 087085 + 2 · 0 3 · 0, 69 . = 0, 454812 Ostatní koeficienty by se vypočítaly podobně. Vyjde: i 0 1 2 3 ai 1 1,3 1,5 1,7 bi 0,454812 0,394724 0,330749 0,293381 ci 0 -0,087085 -0,027155 -0,031231 di -0,042070 0,035672 -0,002123 0,009379 Výsledný přirozený kubický splajn je tedy 94 Aproximace funkcí: interpolace S(x) =    S0(x)=1+0,454812(x−1)−0,042070(x−1)3 x∈<1 ; 1,69> S1(x)=1,3+0,394724(x−1,69)−0,087085(x−1,69)2+0,035672(x−1,69)3 x∈<1,69 ; 2,25> S2(x)=1,5+0,330749(x−2,25)−0,027155(x−2,25)2−0,002123(x−2,25)3 x∈<2,25 ; 2,89> S3(x)=1,7+0,293381(x−2,89)−0,031231(x−2,89)2+0,009379(x−2,89)3 x∈<2,89 ; 4> Přibližnou hodnotu funkce f v bodě x = 2 nyní vypočteme jako S1(2) . = 1, 415058 (protože 2 ∈ 1, 69 ; 2, 25 ). Pro srovnání, přesná hodnota je √ 2 . = 1, 414214. 5.3 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Výpočet funkčních hodnot 2. Úprava algebraických výrazů 3. Grafy funkcí Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Interpolační polynom a splajn 95 6 Aproximace funkcí: metoda nejmenších čtverců V předchozí kapitole jsme požadovali, aby interpolační polynom, resp. splajn, nabýval v uzlových bodech stejných hodnot jako funkce, již se snažíme aproximovat. V případě, že jsou funkční hodnoty získány experimentálně, např. jako výsledky nějakého měření, je interpolace nevhodná. Výsledky jsou totiž zatíženy chybami a interpolační funkce by tyto chyby kopírovala, což je přesně to, čeho se chceme vyvarovat. Kromě toho povaha experimentů nevylučuje možnost několika měření při nezměněné hodnotě x, tj. nemusí být všechny uzlové body navzájem různé. Vzhledem k těmto okolnostem není dobré požadovat, aby aproximační funkce nabývala v uzlových bodech předem daných hodnot. V mnoha případech navíc máme určitou představu o povaze funkce, jejíž hodnoty jsme naměřili. Totéž platí pro situaci, kdy pracujeme se statistickými soubory, pro které je závislost víceméně zřejmá nebo známá (např. je lineární nebo kvadratická), a je evidentní, že hledat funkci, která by procházela každým jednotlivým bodem, je nesmyslný požadavek. Konečně mohou nastávat situace, kdy typ závislosti sice neznáme, ale z důvodu zjednodušení chceme úlohu např. linearizovat, tj. převést na situaci, kdy je závislost lineární. Ve všech těchto situacích hledáme mezi všemi funkcemi daného typu takovou, která prochází k zadaným bodům v jistém smyslu nejblíže. Formulace problému Je dána množina bodů [xi, yi], i = 0, . . . , n, n ≥ 1. Je známo, že hodnoty yi jsou nepřesné. Najděte funkci y = f(x), která „co nejlépe vystihuje skutečnou závislost proměnné y na proměnné x. Před tím, než přistoupíme k vlastnímu výpočtu, je nutné, abychom si ujasnili, jakého typu je závislost mezi proměnnými, jejíž „co nejlepší podobu hledáme. Vykreslení naměřených hodnot a jejich rozložení v rovině nemusí být vždy spolehlivým vodítkem. Přesný typ závislosti většinou poznáme ze zkušenosti, ze znalosti reálného technického problému, díky aplikaci fyzikálních zákonů a vzorců apod. Na Obr. 6.1 je zakresleno několik bodů, které leží na křivce y = x+sin x. Jestliže budeme mít k dispozici pouze tyto body (např. jako výsledky měření), jaká je funkce, která těmito 96 Aproximace funkcí: metoda nejmenších čtverců body prochází „co nejlépe ? Je to nějaká přímka y = ax+b nebo nějaká periodická funkce typu y = ax + b sin (cx + d)? Nebo funkce nějakého jiného typu? x y −π 3 π 3 2π 3 4π 3 5π 3 7π 3 O −2 2 4 6 8 Obr. 6.1: Metoda nejmenších čtverců: pomocí čeho aproximovat? V této kapitole si ukážeme, jak pomocí metody nejmenších čtverců najít nejvhodnější lineární závislost, tj. přímku y = c0+c1x, a nejhodnější kvadratickou závislost, tj. parabolu y = c0 + c1x + c2x2 . Ukážeme si také, jak v některých situacích najít nejvhodnější křivku typu y = bex , resp. y = aebx . Navíc podáme návod na nalezení obecného typu závislosti. Vždy je však třeba mít na paměti, že prvotní je vždy informace, jaký typ závislosti danou situaci popisuje nebo má popisovat. Teprve poté můžeme aplikovat příslušné vzorce, pomocí kterých „jen upřesníme požadované koeficienty. 6.1 Aproximace algebraickými polynomy 6.1.1 Aproximace pomocí přímky Nejprve podrobně rozebereme nejjednodušší případ – aproximaci přímkou. Jsou dány body xi, i = 0, . . . , n, a funkční hodnoty v nich označené yi. Budeme hledat přímku o rovnici y = c0 + c1 x, (6.1) která bude „co nejlépe procházet mezi body [xi, yi], i = 0, . . . , n. Označme ei chybu aproximace 6.1 v i-tém bodě, tj. ei = yi − y(xi) = yi − c0 − c1xi, 6.1 Aproximace algebraickými polynomy 97 viz též Obr. 6.3. Jelikož body [xi, yi] jsou dány, chyba závisí pouze na koeficientech přímky c0 a c1. Ukazuje se, že vhodné kritérium pro určení onoho „co nejlepšího procházení je, aby součet druhých mocnin (neboli čtverců) chyb v jednotlivých bodech byl minimální. Tento součet značíme ρ2 . Chceme tedy minimalizovat funkci ρ2 (c0, c1) = (y0 − c0 − c1x0)2 + (y1 − c0 − c1x1)2 + · · · + (yn − c0 − c1xn)2 = n i=0 (yi − c0 − c1xi)2 Veličinu ρ2 nazýváme kvadratická odchylka. x y x0 x1 x2 . . . xn−1 xn y = c0 + c1x e0 e1 e2 en−1 en Obr. 6.2: Odchylky ei x y x0 x1 x2 . . . xn−1 xn y = c0 + c1x Obr. 6.3: Hledáme přímku, pro niž je součet obsahů čtverců minimální. 98 Aproximace funkcí: metoda nejmenších čtverců Z diferenciálního počtu funkcí více proměnných je známo, že nutnou podmínkou pro to, aby ρ2 (c0, c1) nabývala minima, je splnění rovnic ∂(ρ2 ) ∂c0 = 0 a ∂(ρ2 ) ∂c1 = 0. Parciální derivaci podle c0 vypočteme podrobně; derivaci podle c1 určíme analogicky. ∂(ρ2 ) ∂c0 = 2(y0 − c0 − c1x0)(−1) + 2(y1 − c0 − c1x1)(−1) + · · · + 2(yn − c0 − c1xn)(−1) = = −2 ((y0 − c0 − c1x0) + (y1 − c0 − c1x1) + · · · + (yn − c0 − c1xn)) = = −2 ((y0 + y1 + · · · + yn) − c0(1 + 1 + · · · + 1) − c1(x0 + x1 + · · · + xn)) = = −2 n i=0 yi − c0(n + 1) − c1 n n=0 xi ∂(ρ2 ) ∂c1 = n i=0 2(yi − c0 − c1xi)(−xi) = −2 n i=0 (xiyi − c0xi − c1x2 i ) = = −2 n i=0 xiyi − c0 n i=0 xi − c1 n i=0 x2 i Koeficient u c0, tj. (n + 1), je dán tím, že uzly se indexují od nuly a poslední z nich má index n. Sčítali jsme tedy celkem n + 1 jedniček. Položíme-li nyní vypočtené parciální derivace rovny 0, po snadné úpravě (vydělením -2 a převedením některých sum na druhou stranu rovnic) dostaneme tzv. normální rovnice s neznámými c0 a c1. Hledaná přímka y = c0 +c1x je taková, že její koeficienty c0 a c1 jsou řešením soustavy rovnic: c0(n + 1) + c1 n i=0 xi = n i=0 yi c0 n i=0 xi + c1 n i=0 x2 i = n i=0 xiyi (6.2) Přitom n + 1 je počet uzlů. Samozřejmě se musíme ptát, za jakých podmínek má soustava 6.2 právě jedno řešení. Odpověď je příznivá – stačí, pokud mezi uzly xi najdeme alespoň dva různé (tj. pokud není x0 = x1 = · · · = xn neboli pokud jsou vektory (1, 1, . . . , 1) a (x0, x1, . . . , xn) lineárně nezávislé). Příklad 6.1. Funkci zadanou následující tabulkou bodů aproximujte metodou nejmenších čtverců pomocí přímky. xi 0,2 0,5 0,9 1,6 2,0 2,9 3,5 yi 16,58 19,30 18,12 20,94 20,90 24,66 24,50 Řešení. Koeficienty přímky získáme jako řešení soustavy rovnic 6.2. Pro přehlednost si všechny potřebné hodnoty zapíšeme do tabulky: 6.1 Aproximace algebraickými polynomy 99 i xi yi x2 i xiyi 0 0,2 16,58 0,04 3,316 1 0,5 19,30 0,25 9,650 2 0,9 18,12 0,81 16,308 3 1,6 20,94 2,56 33,504 4 2,0 20,90 4,00 41,800 5 2,9 24,66 8,41 71,514 6 3,5 24,50 12,25 85,750 11,6 145,00 28,32 261,842 Nyní můžeme sestavit normální rovnice. Připomeňme, že koeficient u c0 v první rovnici, n + 1, udává celkový počet uzlů, v našem případě tedy 7. 7 c0 + 11, 6 c1 = 145 11, 6 c0 + 28, 32 c1 = 261, 842 Jejich řešením je c0 . = 16, 788 , c1 . = 2, 370. Hledaná přímka je tedy y = 16, 788 + 2, 370 x. Zadané body jsou spolu s touto přímkou zobrazeny na obrázku 6.4. y 15 20 25 y = 16,788 + 2,370x x 1 2 3 40 Obr. 6.4: K příkladu 6.1: zadané body a nalezená přímka 6.1.2 Aproximace pomocí paraboly Aproximace parabolou se řeší velmi podobně jako aproximace přímkou, viz Obr. 6.5. 100 Aproximace funkcí: metoda nejmenších čtverců K zadaným bodům [xi, yi], i = 0, . . . , n, hledáme parabolu o rovnici y = c0 + c1x + c2x2 , pro niž je minimální kvadratická odchylka ρ2 (c0, c1, c2) = n i=0 (yi − c0 − c1xi − c2x2 i )2 . x y x0 x1 x2 . . . xn−1 xn y=c0+c1x+c2x2 Obr. 6.5: Mezi všemi parabolami hledáme tu, pro kterou je součet obsahů čtverců nejmenší možný. Normální rovnice dostaneme zcela analogickým postupem jako u přímky. Hledaná parabola y = c0 + c1x + c2x2 je taková, že její koeficienty c0, c1 a c2 jsou řešením soustavy rovnic: c0(n + 1) + c1 n i=0 xi + c2 n i=0 x2 i = n i=0 yi c0 n i=0 xi + c1 n i=0 x2 i + c2 n i=0 x3 i = n i=0 xiyi c0 n i=0 x2 i + c1 n i=0 x3 i + c2 n i=0 x4 i = n i=0 x2 i yi (6.3) Přitom n + 1 je počet uzlů. 6.1 Aproximace algebraickými polynomy 101 6.1.3 Obecný případ Zatím jsme se zabývali aproximací pomocí přímky, tj. polynomem stupně 1, a parabolou, tj. polynomem stupně 2. Chceme-li aproximovat obecně polynomem stupně m, tzn. funkcí Pm(x) = c0 + c1x + · · · + cmxm , postupujeme úplně stejně jako u přímky a paraboly. Soustava normálních rovnic pak vypadá následovně (n + 1 je opět počet uzlů): c0(n + 1) + c1 n i=0 xi + . . . + cm n i=0 xm i = n i=0 yi c0 n i=0 xi + c1 n i=0 x2 i + . . . + cm n i=0 xm+1 i = n i=0 xiyi ... c0 n i=0 xm i + c1 n i=0 xm+1 i + . . . + cm n i=0 x2m i = n i=0 xm i yi 6.1.4 Jiný způsob odvození vzorců Ukážeme nyní trochu jiný postup, kterým je možné získat normální rovnice. Začneme opět nejjednodušším případem, kdy máme body [xi, yi], i = 0, . . . , n a hledáme aproximující přímku y = c0 + c1x. Pro tuto přímku, resp. její koeficienty c0 a c1, by mělo platit y0 . = c0 + c1x0 y1 . = c0 + c1x1 ... yn . = c0 + c1xn. Tento fakt můžeme přepsat maticově jako y . = Zc, kde y =      y0 y1 ... yn      , Z =      1 x0 1 x1 ... ... 1 xn      a c = c0 c1 . Budeme předpokládat, že zadané body jsou alespoň tři (pro dva bychom přímku jimi danou našli snadno, pro jeden by úloha neměla jednoznačné řešení). Představíme-li si, že místo „ . = máme všude rovnost, máme soustavu rovnic, ve které je více rovnic než neznámých. Takovéto soustavě se říká přeurčená. „Opravdové řešení by měla pouze v tom vysoce nepravděpodobném případě, že by všechny zadané body [xi, yi] ležely na jedné přímce. Jinak řešení nemá, tzn. neexistuje vektor c, pro který by všechny rovnice byly splněny. Budeme se proto hledat vektor c, pro který soustava rovnic sice není splněna přesně, ale 102 Aproximace funkcí: metoda nejmenších čtverců aspoň v jistém smyslu co nejlépe. Bude to takový vektor c, pro který je minimální součet druhých mocnin rozdílů levých a pravých stran soustavy, tj. n i=0 (yi − c0 − c1xi)2 . A jsme zase tam, kde jsme byli v kapitole 6.1.1, kde se přímka hledala pomocí geometrické představy se čtverečky. Soustavu normálních teď můžeme zapsat pomocí matice Z jako ZT Zc = ZT y. (6.4) Ze soustavy 6.4 pak můžeme neznámý vektor c vyjádřit jako c = ZT Z −1 ZT y. (6.5) Podobně u aproximace parabolou můžeme normální rovnice 6.3 přepsat jako ZT Zc = ZT y, kde Z =      1 x0 x2 0 1 x1 x2 1 ... ... ... 1 xn x2 n      , c =   c0 c1 c2   a y =      y0 y1 ... yn      . 6.2 Obecná aproximace metodou nejmenších čtverců Zdaleka ne vždy je závislost mezi naměřenými (nebo jinak získanými) hodnotami x a y polynomiální. Např. pokud tyto hodnoty vykazují periodické chování, je vhodnější použít trigonometrické polynomy. Aproximaci pak můžeme hledat třeba ve tvaru y = c0 + c1 cos x + c2 sin x + c3 cos 2x + c4 sin 2x. Popíšeme nyní, jak vypadá aproximace metodou nejmenších čtverců obecně. Formulace problému Jsou dány body xi, i = 0, . . . n, a funkční hodnoty v nich označené yi. Dále jsou dány funkce ϕi, i = 0, . . . , m, m < n. (Pro přímku by to byly funkce ϕ0(x) = 1 a ϕ1(x) = x, pro parabolu by k nim navíc přibyla funkce ϕ2(x) = x2 .) Mezi všemi funkcemi tvaru Pm(x) = c0ϕ0(x) + c1ϕ1(x) + · · · + cmϕm(x), (6.6) c0, . . . , cm jsou reálná čísla, hledáme takovou, pro niž kvadratická odchylka ρ2 (c0, . . . cm) = n i=0 (yi − Pm(xi))2 6.2 Obecná aproximace metodou nejmenších čtverců 103 nabývá minimální hodnoty. Takovou funkci pak nazýváme nejlepší aproximací experimentálních dat y0, . . . yn v dané třídě funkcí ve smyslu metody nejmenších čtverců. Postup pro nalezení nejlepší aproximace už jsme v podstatě předvedli u přímky. Kvadratická odchylka ρ2 = n i=0 (yi − c0ϕ0(xi) − c1ϕ1(xi) − · · · − cmϕm(xi))2 je minimální v tom bodě (c0, c1, . . . , cn), v němž jsou splněny rovnice ∂(ρ2 ) ∂cj = ∂ ∂cj n i=0 (yi − c0ϕ0(xi) − c1ϕ1(xi) − · · · − cmϕm(xi))2 = 0, j = 0, . . . , m. Nyní provedeme totéž, co jsme dělali u přímky, s obecnými funkcemi. Zderivováním dostaneme n i=0 2(yi − c0ϕ0(xi) − c1ϕ1(xi) − · · · − cmϕm(xi))(−ϕj(xi)) = 0, j = 0, . . . , m. Rovnice vydělíme −2 a rozdělíme na jednotlivé sumy: n i=0 yiϕj(xi) − n i=0 c0ϕ0(xi)ϕj(xi) − · · · − n i=0 cmϕm(xi)ϕj(xi) j = 0, . . . , m. Z každé sumy můžeme vytknout odpovídající koeficient ck. Snadnou úpravou pak dostaneme normální rovnice pro neznámé c0, . . . , cm : c0 n i=0 ϕ0(xi)ϕj(xi) + · · · + cm n i=0 ϕm(xi)ϕj(xi) = n i=0 yiϕj(xi) j = 0, . . . , m. Tato soustava rovnic po rozepsání vypadá takto: c0 n i=0 ϕ2 0(xi) + c1 n i=0 ϕ1(xi)ϕ0(xi) + · · · + cm n i=0 ϕm(xi)ϕ0(xi) = n i=0 yiϕ0(xi) c0 n i=0 ϕ0(xi)ϕ1(xi) + c1 n i=0 ϕ2 1(xi) + · · · + cm n i=0 ϕm(xi)ϕ1(xi) = n i=0 yiϕ1(xi) ... ... c0 n i=0 ϕ0(xi)ϕm(xi) + c1 n i=0 ϕ1(xi)ϕm(xi) + · · · + cm n i=0 ϕ2 m(xi) = n i=0 yiϕm(xi) Získaná soustava rovnic sice vypadá poněkud komplikovaně, ale již jsme viděli, že s konkrétními funkcemi ϕi to nebylo tak zlé. Dá se ukázat, že tato soustava má jediné řešení, pokud jsou vektory ϕ0 = (ϕ0(x0), ϕ0(x1), . . . , ϕ0(xn)) ϕ1 = (ϕ1(x0), ϕ1(x1), . . . , ϕ1(xn)) ... ϕm = (ϕm(x0), ϕm(x1), . . . , ϕm(xn)) 104 Aproximace funkcí: metoda nejmenších čtverců lineárně nezávislé. Soustavu lze opět zapsat i ve tvaru ZT Zc = ZT y, (6.7) kde Z =      ϕ0(x0) . . . ϕm(x0) ϕ0(x1) . . . ϕm(x1) ... ... ... ϕ0(xn) . . . ϕm(xn)      6.3 Aproximace křivkou y = aebx Častým případem jiné než polynomiální závislosti je situace, kdy hledáme nejlepší křivku y = aebx , kterou je možné proložit zadanými body [xi, yi], i = 0, . . . , n, n ≥ 1. Poznamenejme, že platí: acx = aeln cx = aex ln c = aebx , kde b = ln c, takže v zásadě nezáleží na tom, zda pracujeme s křivkou y = aebx nebo s křivkou y = acx . Pokud bychom na tuto situaci aplikovali stejný postup jako u aproximace přímkou nebo parabolou, tj. kvadratickou odchylku chápali jako funkci dvou proměnných, např. pro aproximaci y = acx jako proměnných a a c, ρ2 (a, c) = n i=0 (yi − acxi )2 (6.8) a hledali její minimum, získali bychom po derivaci podle a a podle c soustavu dvou nelineárních rovnic o dvou neznámých. (Ověřte si sami včetně případu, kdy y = aebx .) Najít řešení soustavy soustavy nelineárních rovnic je však mnohem složitější problém než náš stávající – viz kapitola 4. Úloha se proto často řeší převedením na případ aproximace pomocí přímky. Rovnici y = = aebx zlogaritmujeme a dostaneme ln y = ln a + bx. (6.9) Po substituci c0 = ln a, c1 = b můžeme použít stejné vzorce jako pro případ aproximace pomocí přímky. Místo yi samozřejmě bude pracovat s ln yi, takže musíme ověřit, že příslušné logaritmy existují. Hodnoty a a b nakonec získáme jako a = ec0 a b = c1. Příklad 6.2. Metodou nejmenších čtverců proložte body z tabulky exponenciálou y = = aebx . xi 1,0 1,0 2,0 2,0 3,0 4,0 yi 7,6 8,8 21,4 22,2 60,5 163,8 6.4 Obecná nelineární aproximace metodou nejmenších čtverců 105 Řešení. Příslušná soustava rovnic je 6 c0 + 13 c1 = 19,56767271 13 c0 + 35 c1 = 49,23238117 Jejím řešením získáme c0 . = 1,094, c1 . = 1,0, a = ec0 . = 2,986, b = c1, takže rovnice hledané exponenciály je y = 2,986 · e1,0x . 6.4 Obecná nelineární aproximace metodou nejmenších čtverců Funkci y = acx , resp. y = aebx z předchozí kapitoly jsme dokázali pomocí zlogaritmování převést na lineární případ. Slovem lineární nyní nemyslíme to, že jsme hledali nějakou přímku, ale skutečnost, že hledaná funkce byla lineární kombinací známých funkcí ϕ0(x) = 1 a ϕ1(x) = x. V praxi se však vyskytují i případy, kdy jsou hledané koeficienty c0, c1 . . . , cm svázány nelineárně, např. y = c0 + c1 sin c2(x + c3). V takových případech pro nalezení těchto koeficientů nestačí vyřešit soustavu lineárních rovnic. Používá se tzv. Levenberg – Marguardtův algoritmus. Jeho popis však přesahuje rámec tohoto předmětu. 6.5 Problematika přesnosti Otázka přesnosti výpočtu je u metody nejmenších čtverců zdánlivě nedůležitá. Je však třeba si rozmyslet, jakým způsobem budeme řešení příslušných soustav rovnic hledat. Pokud budeme postupovat analyticky (což je pro přímku, resp. parabolu, asi logická volba), získáme přesné řešení. Pokud bychom však v nějakém případě (např. pro polynomy vyšších stupňů, příp. pro obecnou aproximaci) použili iterační metodu, bude otázka přesnosti hrát roli. V následujícím příkladě předpokládáme, že jsme nějakou iterační metodu využili i u aproximace parabolou. Příklad 6.3. Předpokládejme, že máme za úkol několika body z intervalu 40; 50 proložit nejvhodnější parabolu y = c0 +c1x+c2x2 . Řešení příslušné soustavy rovnic hledáme s přesností = 0, 1. Můžeme tedy např. získat tyto dvě křivky: y1 = −3 + 5x + 0, 1x2 , y2 = −2, 95 + 4, 92x + 0, 0001x2 . Na Obr. 6.6 jsou tyto křivky vykresleny na intervalu 40; 50 , na který se soustřeďujeme. 6.6 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Analytické řešení soustavy lineárních rovnic 106 Aproximace funkcí: metoda nejmenších čtverců x 40 42 44 46 48 50 y 200 250 300 350 400 450 500 y = −3 + 5x + 0,1x2 y = −2,95 + 4,92x + 0,0001x2 Obr. 6.6: Důsledek nepřesnosti při výpočtu koeficientů u metody nejmenších čtverců 2. Výpočet determinantu 3. Úprava algebraických výrazů 4. Grafy funkcí Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Metoda nejmenších čtverců 107 7 Numerické derivování V této a následující kapitole se budeme zabývat otázkou, jak vypočítat derivaci a integrál z funkce, která je zadána pouze tabulkou bodů nebo pro kterou by byl analytický výpočet příliš složitý. Základní myšlenkou je nahradit funkci interpolačním polynomem, popřípadě jinou aproximací, a derivovat či integrovat aproximující funkci. Formulace problému 1. Je dána množina bodů [xi, fi], i = 0, . . . , n, n ≥ 1. Najděte derivaci neznámé funkce f(x), pro kterou platí f(xi) = fi pro ∀i ∈ {0, . . . , n}. 2. (alternativně) Je dána taková funkce f(x), že určit její derivaci analyticky by bylo obtížné. Najděte numericky její derivaci f (x). Označení Budeme předpokládat, že vzdálenost mezi každými dvěma sousedními uzly je konstantní – budeme ji označovat h a nazývat krok. Jestliže budeme zadanými body prokládat interpolační polynom Pn(x) sestavený z uzlů x0, . . . xn, abychom poté řekli, že přibližně platí f (x) . = Pn(x), (7.1) resp. f(s) (x) . = P(s) n (x), (7.2) musíme ošetřit několik skutečností. Předně si musíme ujasnit, v jakém tvaru budeme interpolační polynom hledat. Dále musí být jasné, z kolika bodů budeme interpolační polynom sestavovat. Více bodů může znamenat nejen přesnější aproximaci, ale také např. problémy, o kterých jsme diskutovali v příkladech 5.8 a 5.8 na str. 85. Současně však musíme vzít v úvahu, že pokud budeme chtít tímto způsobem numericky určovat derivace vyšších řádů, budeme při derivování interpolačního polynomu snižovat jeho stupeň, takže např. třetí derivaci pomocí interpolačního polynomu sestaveného ze tří uzlů neurčíme. Myšlenka nastíněná vzorcem 7.2 tak pochopitelně platí jen pro s ≤ n. 108 Numerické derivování Poznamenejme, že v uzlových bodech se hodnoty derivací funkce a interpolačního polynomu nemusejí shodovat. Pro ilustraci může posloužit opět obrázek 5.5 na str. 86, na kterém je dobře vidět, že zatímco funkční hodnoty v uzlových bodech jsou u funkce a interpolačního polynomu stejné, směrnice tečen k těmto dvěma grafům (tj. hodnoty derivací) jsou v uzlových bodech velmi odlišné. Poznámka 7.1. V této kapitole budeme hovořit pouze o numerickém derivování pomocí interpolačního polynomu. V případě funkcí, jejichž hodnoty byly získány např. experimentálně a jsou zatíženy nezanedbatelnými chybami, se doporučuje nejprve tyto hodnoty metodou nejmenších čtverců „vyrovnat a potom teprve funkci derivovat. 7.1 Některé často používané vzorce pro numerické derivování Uvedeme zde některé jednodušší, často užívané vzorce pro první a druhou derivaci v uzlových bodech. V tomto textu se s nimi ještě setkáme v kapitolách věnovaných numerickému řešení diferenciálních rovnic. Jako poslední je v každém vzorci uveden chybový člen, který při samotném výpočtu zanedbáváme. Čím vyšší mocnina kroku h se v něm vyskytuje, tím je chyba menší (a tedy vzorec lepší), neboť h bývá zpravidla malé číslo, h 1, a pro taková čísla platí h > h2 > h3 > · · · . Nejjednodušší vzorec pro derivaci prvního řádu dostaneme zderivováním interpolačního polynomu prvního stupně daného uzly x0 a x1 = x0 + h. Interpolační polynom v Lagrangeově tvaru danými těmito body je L1(x) = f(x0) x − x0 − h x0 − x0 − h + f(x0 + h) x − x0 x0 + h − x0 , tj. L1(x) = 1 h [f(x0 + h)(x − x0) − f(x0)(x − x0 − h)] Po zderivování podle x dostáváme L1(x) = 1 h (f(x0 + h) − f(x0)), což je konstatní polynom, takže jestliže tvrdíme, že f (x) . = Pn(x), je f (x0) = f (x0 + h) = 1 h (f(x0 + h) − f(x0)) . Interpolační polynom v Newtonově tvaru pro výše uvedené uzly x0, x1 je P1(x) = f(x0) + f(x1) − f(x0) x1 − x0 (x − x0) a jeho derivováním podle x dostaneme P1(x) = f(x1) − f(x0) x1 − x0 , 7.1 Některé často používané vzorce pro numerické derivování 109 což je stejný výsledek jako ten, který jsme získali derivováním interpolačního polynomu v Lagrangeově tvaru, protože uzlové body jsou zadány tak, že x1 = x0 + h. Má-li funkce f druhou derivaci na intervalu x0, x1 , pak existují body ξ0, ξ1 ∈ x0, x1 tak, že platí f (x0) = f(x1) − f(x0) h − h 2 f (ξ0) (7.3) f (x1) = f(x1) − f(x0) h − h 2 f (ξ1). (7.4) Tyto vzorce lze též odvodit pomocí Taylorova rozvoje funkce f. Derivováním interpolačního polynomu druhého stupně daného uzly x0 = x1 − h, x1 a x2 = x1 + h dostaneme přesnější vzorce pro první derivaci v těchto uzlových bodech. Interpolační polynom pro výše uvedené uzly budeme využívat také pro odvozování v následující kapitole. Proto jej na tomto místě neuvádíme. Má-li funkce f čtvrtou derivaci na intervalu x0, x2 , pak existují body ξ0, ξ1, ξ2 ∈ x0, x2 takové, že f (x0) = −3f(x0) + 4f(x1) − f(x2) 2h + h2 3 f (ξ0) (7.5) f (x1) = f(x2) − f(x0) 2h − h2 6 f (ξ1) (7.6) f (x2) = f(x0) − 4f(x1) + 3f(x2) 2h + h2 3 f (ξ2) (7.7) Pomocí druhé derivace téhož interpolačního polynomu dostaneme vzorec pro druhou derivaci funkce f v bodě x1. Má-li funkce f pátou derivaci na intervalu x0, x2 , pak existuje bod ξ ∈ x0, x2 takový, že f (x1) = f(x0) − 2f(x1) + f(x2) h2 − h2 12 f(4) (ξ) (7.8) Na obrázcích 7.1 a 7.2 je zachycen geometrický význam vzorců 7.4 a 7.6. Hodnota derivace funkce f v bodě x1, tj. směrnice tečny ke grafu funkce v tomto bodě (tečna je na obrázcích 110 Numerické derivování x y x0 x1h f(x0) f(x1) y = f(x) tečna sečna Obr. 7.1: Ilustrace ke vzorci (7.4) x y x0 x1 x2h h f(x0) f(x1) f(x2) y = f(x) tečna sečna Obr. 7.2: Ilustrace ke vzorci (7.6) nakreslena černě), je přibližně rovna směrnici sečny dané body x0 a x1, resp. x0 a x2 (tyto sečny jsou na obrázcích nakresleny šedě). Příklad 7.2. Je dána funkce y = 1 x . Numericky určete y (2). Řešení. Přesná hodnota získaná analyticky je y (2) = −0, 25. Jestliže použijeme h = 0, 2, pak numericky získáme tyto výsledky: • y (2) = −0, 2273 podle vzorce 7.3, kde x0 = 2, x1 = 2, 2, • y (2) = −0, 2778 podle vzorce 7.4, kde x0 = 1, 8, x1 = 2, • y (2) = −0, 2525 podle vzorce 7.6, kde x0 = 1, 8, x2 = 2, 2. 7.2 Poznámka o zaokrouhlovací chybě 111 7.2 Poznámka o zaokrouhlovací chybě Mohlo by se zdát, že zmenšováním kroku h lze dosáhnout při numerickém derivování libovolné přesnosti. Bohužel se však ukazuje, že při příliš malém h může velmi narůst vliv zaokrouhlovací chyby. To je vidět už z nejjednoduššího vzorce 7.4. Pro malé h může být f(x0) . = f(x1) a tedy v čitateli zlomku odčítáme dvě sobě velmi blízká čísla, výsledek pak navíc opět dělíme malým číslem. To jsou operace vzhledem k zaokrouhlovací chybě velmi riskantní, viz kapitolu o chybách. Naopak, při velkém kroku h nelze očekávat velkou přesnost vzhledem k chybě metody. Proto je potřeba volit kompromis, více o tom v [?]. 7.3 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Výpočet funkčních hodnot 2. Derivování 112 Numerické integrování 8 Numerické integrování V prvním ročníku jste určitý integrál b a f(x)dx vyčíslovali tak, že jste nejprve našli primitivní funkci k funkci f(x), do ní jste poté dosadili horní a dolní mez a získaná čísla jste odečetli. Protože však existují funkce, ke kterým primitivní funkce neexistuje, nelze tento postup použít vždy. V této kapitole si ukážeme, jak lze k výpočtu určitého integrálu přistupovat za využití numerických metod. Využijeme přitom stejné myšlenky jako v předcházející kapitole, tj. funkci f(x) nahradíme na intervalu a, b interpolačním polynomem Pn(x) a řekneme, že b a f(x)dx . = b a Pn(x)dx. (8.1) Budeme přitom muset vyjasnit několik věcí – zejména jakého stupně má být polynom Pn(x) a v jakých uzlových bodech ho budeme konstruovat. Formulace problému Je dána funkce f(x) a čísla a, b ∈ R taková, že a < b. Určete b a f(x)dx. Přitom budeme integrovat zejména funkce, k nimž je nalezení primitivní funkce obtížné, resp. nemožné.1 Podobně jako v předcházející kapitole můžeme pracovat i s funkcemi, které jsou zadány nikoliv funkčním předpisem ale jen tabulkou bodů. Označení Podobně jako v předcházející kapitole budeme i při numerickém integrování předpokládat, že vzdálenost mezi každými dvěma sousedními uzly, jimiž budeme prokládat interpolační polynom(y), je konstantní – opět ji budeme označovat h a nazývat krok. 1 Příkladem funkcí, ke kterým primitivní funkce neexistuje, jsou např. funkce y = e−x2 , y = √ xe−x nebo y = x ex−1 . 8.1 Lichoběžníková metoda: interpolační polynom ze dvou uzlů 113 8.1 Lichoběžníková metoda: interpolační polynom ze dvou uzlů Funkci f(x) nahradíme na intervalu a, b lineárním interpolačním polynomem daným body [a, f(a)], [b, f(b)] (zde zapsaným v Lagrangeově tvaru): L(x) = f(a) x − b a − b + f(b) x − a b − a , tj. L(x) = 1 (a − b) f(a)(x − b) − f(b)(x − a) . Integrací tohoto polynomu podle x dostáváme b a L(x)dx = 1 a − b f(a) x2 2 − bx + f(b) x2 2 − ax b a . Po úpravě dostaneme vztah pro (jednoduchou) lichoběžníkovou metodu. b a f(x)dx . = b a L(x)dx = b − a 2 f(b) + f(a) (8.2) Příklad 8.1. Lichoběžníkovou metodou vypočtěte 3 2 cos 6x + ln xdx. Řešení. Pracujeme s uzly a = 2, b = 3 a s funkcí f(x) = cos 6x + ln x. Vypočteme f(2) a f(3), dosadíme do vzorce 8.2 a dostáváme 3 2 cos 6x + ln xdx . = 1, 65. 8.2 Simpsonova metoda: interpolační polynom ze tří uzlů Jestliže k uzlům a, b přidáme jako třetí uzel střed intervalu a, b , který označíme c, tj. k bodům [a, f(a)], [b, f(b)] přidáme bod [c, f(c)] = [a+b 2 , f(a+b 2 )], a dále budeme postupovat stejně jako u lichoběžníkové metody, získáme vzorce pro numerickou integraci pomocí Simpsonovy metody. Interpolační polynom je v tomto případě tvaru S(x) = f(a) (x − c)(x − b) (a − c)(a − b) + f(c) (x − a)(x − b) (c − a)(c − b) + f(b) (x − a)(x − c) (b − a)(b − c) , což lze po substituci a = c − h, b = c + h upravit na tvar S(x) = f(a) (x − c)(x − c − h) 2h2 + f(c) (x − c + h)(x − c − h) −h2 + f(b) (x − c + h)(x − c) 2h2 . 114 Numerické integrování Jestliže poté S(x) převedeme do tvaru vhodného pro integraci a zintegrujeme podle x, dostaneme b a f(x)dx . = b a S(x)dx = b − a 6 f(a) + 4f(a+b 2 ) + f(b) . (8.3) Příklad 8.2. Simpsonovou metodou vypočtěte 3 2 cos 6x + ln xdx. Řešení. Jedná se o stejnou funkci a stejné integrační meze jako v příkladě 8.1. Pracujeme s uzly a = 2, b = 3, c = a+b 2 = 2,5 a s funkcí f(x) = cos 6x + ln x. Vypočteme f(2), f(2,5) a f(3), dosadíme do vzorce 8.3 a dostáváme 3 2 cos 6x + ln xdx . = 0,65. Je zřejmé, že rozdíly mezi výsledky příkladů 8.1 a 8.2 vyžadují bližší komentář. O to více, pokud analytickým výpočtem zjistíme, že 3 2 cos 6x + ln xdx . = 0,87. 8.3 Geometrická interpretace Z prvního ročníku víte, že jednou z aplikací určitého integrálu b a f(x)dx je výpočet obsahu plochy ohraničeného osou x, funkcí f(x) a přímkami x = a a x = b – viz Obr. 8.1. x y a b y = f(x) Obr. 8.1: Připomenutí významu určitého integrálu Při lichoběžníkové metodě nahrazujeme funkci interpolačním polynomem stupně nejvýše jedna, tj. přímkou. Při Simpsonově metodě nahrazujeme funkci interpolačním polynomem stupně nejvýše dva, tj. parabolou (nebo – ve velmi speciálním případě – opět přímkou). 8.3 Geometrická interpretace 115 Na obrázcích 8.2 a 8.3 je ukázáno, že chyba, která plyne z úvahy „integrál z interpolačního polynomu se přibližně rovná integrálu z funkce může být značná.1 Poznamenejme, že z 8.2 je zřejmé, že vzorec 8.2 není nutné odvozovat integrací interpolačního polynomu. Stačí použít známý vztah pro obsah lichoběžníka S = 1 2 (A + C)v, kde A a C jsou délky podstav lichoběžníka a v je jeho výška. Musíme si ovšem uvědomit, že v tomto případě je lichoběžník obrácen, tj. že jeho podstavy jsou svisle. x y a b y = f(x) y = L1(x) Obr. 8.2: Lichoběžníková metoda x y a b(a + b)/2 y = f(x) y = L2(x) Obr. 8.3: Simpsonova metoda Následující příklad je ukázkou toho, že bychom nikdy neměli pouštět ze zřetele teoretické poznatky o problémech, jejichž řešení hledáme pomocí numerických metod. Příklad 8.3. Lichoběžníkovou metodou určete 2 0 3e−3x . 1 L1, resp. L2 na obrázcích naznačuje, že jde o interpolační polynom v Lagrangeově tvaru stupně nejvýše jedna, resp. nejvýše dva. 116 Numerické integrování Řešení. Dosazením do vzorce zjistíme, že 2 0 3e−3x . = 2 − 0 2 (3e0 + 3e−6 ) . = 3,0074. Z obrázku 8.2 (a poté, co si na intervalu 0, 2 vykreslíme funkci f(x) = 3e−3x ) lze odhadnout, že tento výsledek bude zatížen velkou chybou. Problém je však jinde: jak zjistíte v kapitole 18.2, funkce f(x) = 3e−3x je funkcí hustoty náhodné veličiny, která má exponenciální rozdělení s parametrem λ = 3. Požadavek určit 2 0 3e−3x neznamená v této souvislosti nic jiného, než určit pravděpodobnost, že tato náhodná veličina nabývá všech hodnot z itervalu 0, 2 . Vzhledem k tomu, že pravděpodobnost nějakého jevu je vždy číslo z intervalu 0, 1 , je náš výsledek numerického integrování nikoli zatížený chybou ale naprosto zcestný. 8.4 Zpřesňování výsledků Výsledky získané lichoběžníkovou, resp. Simpsonovou metodou můžeme zpřesňovat tak, že budeme zvyšovat počet uzlů, z nichž budeme následně sestavovat interpolační polynom, který bude nahrazovat integrovanou funkci. Přibližná hodnota integrálu vždy vyjde jako součet určitých násobků funkčních hodnot v uzlech. Obecně je tento uzavřený NewtonCotesův vzorec tvaru b a f(x)dx . = (b − a) n i=0 Hif(xi), (8.4) kde n je stupeň použitého interpolačního polynomu, Hi jsou tzv. Cotesovy koeficienty a xi jsou uzly, pro něž platí xi = a + ih, i = 0, . . . , n, (h = b−a n je krok mezi uzly). Přehled Cotesových koeficientů až do n = 8 lze nalézt např. v [?]. Chyba Newton-Cotesových vzorců se vypočte integrací chyby interpolace 5.13, E = 1 (n + 1)! b a f(n+1) (ξ)(x − x0) · · · (x − xn)dx Zjednodušení tohoto výrazu je dosti obtížné, je ho potřeba provést zvlášť pro n sudé a pro n liché. Podrobnosti lze nalézt v [?]. Pro n sudé platí E = f(n+2) (η) (n + 2)! b a x(x − x0) · · · (x − xn) dx, (8.5) a pro n liché E = f(n+1) (η) (n + 1)! b a (x − x0) · · · (x − xn) dx, (8.6) kde η ∈ [a, b]. Integrály v těchto vzorcích lze pro konkrétní n vypočítat (byť je to poněkud pracné). 8.4 Zpřesňování výsledků 117 Např. chyba lichoběžníkové metody pomocí vzorce 8.6 vyjde E = − 1 12 (b − a)3 f (η). (8.7) V kapitole o interpolaci jsme ukázali, že interpolační polynomy vyšších stupňů mohou oscilovat a nemusejí dobře vystihnout chování interpolované funkce. Také výpočet Cotesových koeficientů je pro velká n složitý. Proto se Newton-Cotesových vzorců vysokých řádů užívá zřídka. Místo toho využijeme, že pro a < c < b (sami si připomeňte, za jakých předpokladů!) platí b a f(x)dx = c a f(x)dx + b c f(x)dx. Na této myšlence jsou založeny tzv. složené kvadraturní vzorce. Interval a, b rozdělíme na větší počet stejných dílků a na každém z nich použijeme vybranou jednoduchou metodu. x y a = x0 xn = bx1 x2 . . . xn−1 y = f(x) Obr. 8.4: Složené lichoběžníkové pravidlo 8.4.1 Složená lichoběžníková metoda Interval a, b rozdělíme na m subintervalů délky h = b−a m – viz obrázek 8.4. Na každém subintervalu použijeme jednoduchou lichoběžníkovou metodu. Platí b a f(x) dx = x1 x0 f(x) dx + x2 x1 f(x) dx + · · · + xm xm−1 f(x) dx . = . = h 2 f(x0) + f(x1) + h 2 f(x1) + f(x2) + · · · + h 2 f(xm−1) + f(xm) 118 Numerické integrování Celkem tedy b a f(x) dx . = h 1 2 f(x0) + f(x1) + · · · + f(xm−1) + 1 2 f(xm) = Lm (8.8) Je zřejmé, že čím jemněji interval a, b nadělíme, tím přesnější bude výsledek. Chyba integrace na každém dílčím intervalu xi−1, xi je podle 8.7 Ei = − 1 12 h3 f (ηi). Celková chyba je tedy E = − h3 12 f (η1) + f (η2) + · · · + f (ηm) . Je-li funkce f na intervalu [a, b] spojitá, existuje bod η ∈ a, b tak, že platí f (η1) + f (η2) + · · · + f (ηm) = mf (η) Dohromady dostaneme pro chybu složené lichoběžníkové metody E = − h3 12 mf (η) = − (b − a)3 12 m3 mf (η) = − (b − a)3 12 m2 f (η). (8.9) Podobně jako u chyby interpolace, je prakticky nemožné určit bod η. Lze-li nalézt M2 = maxt∈ a,b |f (t)|, můžeme chybu alespoň shora odhadnout. Platí totiž |E| ≤ (b − a)3 12 m2 M2 (8.10) Tento odhad lze použít též pro určení vhodného počtu dělení m, chceme-li, aby chyba integrace nepřesáhla nějaké zadané ε. Pro dosažení žádané přesnosti ε můžeme buď odhadnout chybu a podle toho zvolit dělení intervalu a, b , nebo použít jiný postup, kdy konstruujeme posloupnost L1, L2, L4, . . . . Její výpočet je velmi úsporný, protože všechny funkční hodnoty použité v nějakém Lm se použijí i při výpočtu L2m. Platí L2m = 1 2 Lm + b − a 2m f(x1) + f(x3) + · · · + f(x2m−1) , kde v závorce je pouze součet funkčních hodnot v nových dělících bodech, které původní dělení zjemňují. Výpočet zastavíme, jakmile je splněna podmínka |L2m−Lm| < ε. Splněním této podmínky ale není zaručeno, že se L2m od přesné hodnoty integrálu liší o méně než ε. Příklad 8.4. Vypočtěte přibližnou hodnotu integrálu 2 0 e−x2 dx pomocí složené lichoběžníkové metody pro m = 4. Odhadněte, jaké chyby se při tomto výpočtu nanejvýš můžeme dopustit. 8.4 Zpřesňování výsledků 119 Řešení. Dosadíme do vzorce 8.8. Délka kroku h je v tomto případě 2−0 4 = 0, 5. Přibližná hodnota integrálu je tedy L4 = 0, 5 · 1 2 f(0) + f(0, 5) + f(1) + f(1, 5) + 1 2 f(2) = = 0, 5 · 1 2 e0 + e−0,25 + e−1 + e−2,25 + 1 2 e−4 . = 0, 8806 Odhad chyby dostaneme pomocí vzorce 8.10. Musíme vypočítat druhou derivaci funkce f(x) = e−x2 . Ta vyjde f (x) = e−x2 (4x2 − 2). Nyní najdeme maximum její absolutní hodnoty na intervalu 0, 2 . Využitím poznatků z prvního semestru matematiky zjistíme, že funkce f (x) nabývá lokálního minima v bodě x = 0 a lokálního maxima v bodech x = ± √ 6 2 . Nás však zajímá maximum absolutní hodnoty na intervalu 0, 2 . Vypočteme hodnoty f ve všech „podezřelých bodech: f (0) = −2 f ( √ 6 2 ) . = 0, 89 f (2) . = 0, 26 V absolutní hodnotě je z těchto čísel největší −2, tedy M2 = | − 2| = 2. Celkem je tedy absolutní hodnota chyby nanejvýš rovna (2−0)3 12·42 · 2 = 1 12 = 0, 0833 Příklad 8.5. Zjistěte, jakou délku kroku je třeba zvolit při výpočtu integrálu 2 0 e−x2 dx (téhož jako v příkladu 8.4) pomocí složené lichoběžníkové metody, chceme-li, aby chyba integrace nebyla větší než 0, 001. Řešení. Přehlednější je najít nejprve vhodný počet dělení m, z něj již délku kroku určíme snadno. Víme, že pro chybu E platí |E| ≤ (b − a)3 12 m2 M2. V příkladu 8.4 jsme zjistili, že M2 = 2. Najdeme-li m tak, aby výraz na pravé straně předchozí nerovnosti byl menší než 0, 001, bude zaručeno, že i chyba E bude dostatečně malá. Má tedy platit (2 − 0)3 12 m2 · 2 ≤ 0, 001 Odtud snadno dostaneme, že m2 ≥ 8 · 2 12 · 0, 001 m ≥ 36, 51 Zvolíme-li tedy m = 37 (nebo jakékoli větší), je zaručeno, že chyba bude menší než 0,001. Hledaná délka kroku může být tedy 2 37 . Poznamenejme, že takto získaný počet dělení m může být zbytečně velký. V tomto příkladu by ve skutečnosti pro dosažení zadané přesnosti stačilo už m = 5 – to ale bez znalosti přesné hodnoty integrálu nejsme schopni rozeznat. S počtem dělení získaným právě předvedeným postupem máme sice možná více práce, ale zato jistotu, že výsledek bude dost přesný. Příklad 8.6. Vypočtěte L2, L4 a L8 pro 3 2 cos 6x + ln xdx. Řešení. Jedná se o stejnou funkci jako v příkladech 8.1 a 8.2. Víme, že L1 = 1, 6480 a analyticky získaný výsledek je (po zaokrouhlení na dvě desetinná místa) 0, 87. Hledané hodnoty jsou L2 = 0, 9023, L4 = 0, 8799, L8 = 0, 8753. 120 Numerické integrování 8.4.2 Složená Simpsonova metoda Interval a, b rozdělíme na sudý počet m dílků délky h = b−a m a postupně na dvojicích sousedních dílků použijeme jednoduchou Simpsonovu metodu. Po úpravě dostaneme b a f(x) dx . = (8.11) . = h 3 f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + · · · + 2f(xm−2) + 4f(xm−1) + f(xm) = Sm Pro odhad chyby E se použije vzorec 8.5 a podobné úvahy jako při odvozování chyby složené lichoběžníkové metody. Vyjde E = − (b − a)5 180 m4 f(4) (η), η ∈ a, b (8.12) a pro horní odhad chyby |E| ≤ (b − a)5 180 m4 max x∈ a,b |f(4) (x)|. (8.13) Příklad 8.7. Bude doplněno. 8.5 Další metody Lichoběžníková a Simpsonova metoda jsou příklady tzv. uzavřených Newton-Cotesových metod, tj. metod, ve kterých krajní body a a b vystupují jako uzly, z nichž sestavujeme interpolační polynom. Můžeme však použít i tzv. otevřené Newton-Cotesovy metody, ve kterých krajní body nebereme za uzly kvadratury a uzly jsou rozloženy symetricky podle středu intervalu a, b . Nejjednodušším příkladem otevřených metod je obdélníková metoda. Kromě Newton-Cotesových kvadraturních vzorců existuje i mnoho dalších. Důležité jsou např. Gaussovy kvadraturní formule. V nich se přibližná hodnota integrálu opět počítá jako lineární kombinace funkčních hodnot, b a f(x) dx . = n i=0 Hif(xi). Koeficienty Hi ∈ R a uzly xi ∈ a, b jsou určeny tak, aby vzorec byl přesný pro integrování polynomů do stupně 2n + 1 včetně. Poznámka 8.8. Numerický výpočet neurčitého integrálu f(x) dx spočívá v nalezení funkce y(x) = x x0 f(t) dt. Tato úloha je ekvivalentní s nalezením řešení Cauchyovy počáteční úlohy y = f(x), y(x0) = 0. Metodám numerického řešení takovýchto úloh bude věnována kapitola 9. 8.6 Cvičení 121 x y a b(a + b)/2 y = f(x) Obr. 8.5: Obdélníková metoda 8.6 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Výpočet funkčních hodnot 2. Integrování: výpočet určitého integrálu 3. Integrování: hledání primitivní funkce Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Numerický výpočet určitého integrálu 122 Numerické řešení diferenciálních rovnic 9 Numerické řešení diferenciálních rovnic V prvním ročníku jste si ukázali hledání řešení některých typů diferenciálních rovnic. Víte, že před tím, než začneme nějakou diferenciální rovnici řešit, bychom měli ukázat, na jakém intervalu, resp. na jaké oblasti, bude toto řešení existovat a kdy bude jednoznačné. Dále víte, že řešením diferenciální rovnice je funkce, která této rovnici vyhovuje. Tyto funkce (buď jednu konkrétní v případě počáteční úlohy nebo celou sadu funkcí v případě obecného řešení) jsme hledali většinou pomocí derivování a integrování, a to tak, že pro každý speciální typ diferenciálních rovnic určitého řádu byl znám nějaký předem daný postup řešení (např. metoda neurčitých koeficientů pro speciální typy lineárních diferenciálních rovnic druhého řádu s konstantními koeficienty). Nyní si ukážeme numerické metody na řešení diferenciálních rovnic. Jejich výhodou bude, že budou použitelné na více různých speciálních typů rovnic, nebudou využívat derivování a integrování a zejména že budou snadno algoritmizovatelné. Nevýhodou bude skutečnost, že řešení v tomto případě nehledáme jako spojitou funkci, definovanou na celém zkoumaném intervalu a, b , ale hodnoty přibližného řešení počítáme pouze v konečném počtu bodů a = x0 < x1 < · · · < xn = b. Těmto bodům říkáme uzlové body nebo uzly sítě, množině {x0, x1, . . . , xn} říkáme síť. Rozdíl hi = xi+1 − xi se nazývá krok sítě v uzlu xi. Přibližné hodnoty řešení v uzlových bodech, vypočtené nějakou numerickou metodou, budeme značit y0, y1, . . . , yn, na rozdíl od hodnot přesného řešení, které budeme značit y(x0), y(x1), . . . , y(xn). Hodnoty řešení v jiných než uzlových bodech budeme muset stanovit jiným způsobem – na příklad pomocí splajnu vhodného typu nebo pomocí interpolačního polynomu. Tyto techniky jsme ukazovali v kapitole 5. Řešení tedy nebudeme hledat ve formě funkčního předpisu, ale ve formě tabulky i 0 1 . . . n xi x0 x1 . . . xn yi y0 y1 . . . yn ve které xi budou známá (námi zvolená) čísla a hodnoty yi budeme hledat. Přitom u počátečních úloh budeme na začátku výpočtu znát hodnotu y0. U okrajových úloh budeme na začátku výpočtu znát hodnoty y0 a yn. 9.1 Řešení jedné rovnice: počáteční úlohy 123 Na obrázku 9.1 vidíme přesné řešení diferenciální rovnice, které je vykresleno plnou černou čarou a přibližné hodnoty řešení v uzlových bodech, vyznačené kroužky nad / pod přesným řešením. x y 0 x0 x1 x2 x3 . . . xn−1 xn y0 y1 y2 y3 yn−1 yn y(x0) y(x1) y(x2) y(x3) y(xn−1) y(xn) h1 h2 h3 hn y(x) Obr. 9.1: Princip numerického řešení počáteční úlohy y = f(x, y), y(x0) = y0; y(x) je přesné řešení Příkladu z obrázku 9.1 zachycuje obecnou situaci. Proto v něm nebyla použita pravidelná (ekvidistantní) síť, kdy krok h mezi jednotlivými uzly je konstantní. Nicméně, všude v dalším textu, nebude-li výslovně uvedeno jinak, budeme pracovat pouze s pravidelnými sítěmi. 9.1 Řešení jedné rovnice: počáteční úlohy Formulace problému Nejprve se budeme zabývat řešením obyčejné diferenciální rovnice prvního řádu se zadanou počáteční podmínkou, tj. řešením úlohy y = f(x, y), y(x0) = y0, (9.1) kde y je funkce proměnné x. Uveďmě podmínky, které zajistí existenci a jednoznačnost řešení úlohy 9.1. Věta 9.1. Je-li funkce f(x, y) spojitá na obdélníku R = {(x, y); |x − x0| ≤ a, |y − y0| ≤ b} , a > 0, b > 0, pak existuje řešení počáteční úlohy 9.1 na intervalu x0 − α, x0 + α , kde α = min(a, b M ), M = maxR |f(x, y)|. Je-li dále funkce ∂f(x,y) ∂y ohraničená na obdélníku R, pak toto řešení je jediné. 124 Numerické řešení diferenciálních rovnic Tato věta však udává pouze postačující podmínky pro existenci jediného řešení. Také v mnoha případech zaručuje existenci a jednoznačnost řešení pouze na velmi malém okolí bodu x0. Při řešení konkrétního matematického modelu technické úlohy proto existenci a jednoznačnost řešení posuzujeme i na základě informací o řešené úloze, případně fyzikálních vlastností hledaného řešení. V dalším textu vysvětlíme několik obecných pojmů týkajících se numerických metod řešení diferenciálních rovnic, ale nejprve ukážeme nejjednodušší z těchto metod, aby čtenář získal konkrétní představu, jak numerické řešení diferenciálních rovnic může vypadat. 9.1.1 Eulerova metoda Mějme dánu počáteční úlohu 9.1 a pravidelnou síť {x0, x1, . . . , xn} s krokem h. Ve všech bodech sítě by podle rovnice 9.1 mělo platit y (xi) = f(xi, y(xi)) Derivaci na levé straně této rovnice můžeme nahradit diferencí podle jednoho ze vzorců 7.4. Dostaneme y(xi+1) − y(xi) h . = f(xi, y(xi)). Nahradíme-li y(xi) přibližnou hodnotou yi, můžeme odtud vyjádřit přibližnou hodnotu y(xi+1) jako yi+1 = yi + hf(xi, yi) pro i = 0, . . . , n − 1 (9.2) Pomocí tohoto vzorce vypočteme přibližnou hodnotu řešení v dalším uzlovém bodě pomocí hodnoty v uzlu předchozím. Hodnotu řešení v bodě x0 známe z počáteční podmínky, je rovna y0. Příklad 9.2. Eulerovou metodou s krokem h = 0, 1 řešte počáteční úlohu y = x2 − y , y(0) = 1 na intervalu 0 ; 0, 5 . Řešení. V našem případě je x0 = 0, y0 = 1 a f(x, y) = x2 − y. Přibližné hodnoty řešení v dalších bodech budeme počítat podle vzorce 9.2, konkrétně yi+1 = yi + 0, 1 · (x2 i − yi) , i = 0, . . . , 4 Vypočtené hodnoty zapíšeme do tabulky. Pro srovnání jsou v tabulce uvedeny i hodnoty přesného řešení zadané počáteční úlohy, kterým je funkce y = −e−x +x2 −2x+2; hodnoty jsou označené y(xi). Všechna čísla v tabulce jsou zaokrouhlena na 4 desetinná místa. 9.1 Řešení jedné rovnice: počáteční úlohy 125 i 0 1 2 3 4 5 xi 0 0,1 0,2 0,3 0,4 0,5 yi 1 0,9 0,811 0,7339 0,6695 0,6186 y(xi) 1 0,9052 0,8213 0,7492 0,6897 0,6435 Geometrická interpretace Eulerovy metody Pro vysvětlení geometrické interpretace Eulerovy metody připomeňme nejprve, že diferenciální rovnicí y = f(x, y) je dáno tzv. směrové pole. V každém bodě [x, y] roviny (x, y), kterým prochází některé řešení této rovnice, je hodnota f(x, y) rovna směrnici tečny ke grafu tohoto řešení. Proto si směrové pole můžeme, zhruba řečeno, představit tak, že v každém bodě roviny (x, y) stojí šipka, která říká, kterým směrem máme pokračovat, dostaneme-li se do tohoto bodu. Při řešení diferenciální rovnice Eulerovou metodou postupujeme vlastně takto: Vyjdeme z bodu [x0, y0] směrem, který udává „šipka v tomto bodě stojící, to znamená po přímce o rovnici y = y0 +f(x0, y0)(x−x0), dokud nedojdeme do bodu s x-ovou souřadnicí x1. Ypsilonová souřadnice tohoto bodu je y1 = y0 + f(x0, y0)(x1 − x0) = y0 + hf(x0, y0). Z bodu [x1, y1] pokračujeme ve směru daném směrovým polem v tomto bodě, tj. po přímce y = y1 + f(x1, y1)(x − x1), dokud nedojdeme do bodu s x-ovou souřadnicí x2 atd. Situace je znázorněna na obrázku 9.2. Graf přesného řešení vyhovujícího počáteční podmínce y(x0) = y0, aproximujeme lomenou čarou, tedy lineárním splajnem, procházející body [x0, y0], [x1, y1], [x2, y2], . . . x y x0 x1 x2 x3 x4 y0 y1 y3 y4 y2 O y = y(x) Obr. 9.2: Přibližné řešení diferenciální rovnice Eulerovou metodou Je zřejmé, že založit řešení diferenciální rovnice jen a pouze na této úvaze, není rozumné. 126 Numerické řešení diferenciálních rovnic Tato úvaha totiž předpokládá, že mezi dvěma uzly sítě se „nic podstatného neděje , tj. že ze znalosti situace v bodě xi můžeme odhadnout, jak bude vypadat situace v bodě xi+h. Při numerickém řešení diferenciálních rovnic musíme brát v úvahu několik faktorů: délku intervalu, na kterém hledáme řešení, počet uzlů sítě, požadavek na přesnost výpočtu a proti tomu jdoucí požadavek na pracnost výpočtu. A samozřejmě vybrat vhodnou numerickou metodu. Příklad 9.3. Závislost nějaké fyzikální veličiny na čase je popsána diferenciální rovnicí prvního řádu. Chceme popsat prvních deset minut chování systému, tj. hodnoty řešení na intervalu 0, 600 , pokud měříme čas v sekundách. Jaká je optimální volba kroku? Řešení. Předně je třeba si uvědomit, že takto položená otázka je nesmyslná, protože rozhodnutí, na jakém intervalu a s jakým krokem budeme danou počáteční úlohu řešit, je možné učinit jen na základě znalostí kontextu dané technické úlohy. Do našeho obecného zadání můžeme dodat takové doplňující informace, že jednou bude vhodná volba h = 60s a jindy zase bude naprosto nezbytné volit h = 1s. Volba kroku h = 60s, h = 10s nebo h = 1s výrazně ovlivní jak přesnost výpočtu tak množství operací, které je nutné provést. Co kdyby nás zajímala první hodina chování systému? 9.1.2 Typy a vlastnosti metod pro řešení počátečních úloh Jak jsme viděli na příkladu Eulerovy metody, při numerickém řešení počáteční úlohy 9.1 můžeme vypočítat přibližnou hodnotu řešení v dalším uzlovém bodu pomocí hodnoty řešení v uzlovém bodu předchozím. U některých jiných metod sice postupujeme poněkud důmyslněji než u metody Eulerovy, ale stále využíváme pouze informace z jediného předchozího kroku. Takovýmto metodám říkáme metody jednokrokové. U jiných metod využíváme informace z několika předchozích kroků. Těmto metodám říkáme metody vícekrokové. Je vcelku zřejmé, že nakolik se přiblížíme k přesnému řešení, závisí na délce kroku h, který použijeme. Základní vlastnost, kterou od použitelné numerické metody požadujeme, je, aby numerické řešení získané touto metodou pro h → 0 konvergovalo k přesnému řešení dané úlohy. Definice 9.4. Řekneme, že metoda je konvergentní, jestliže pro libovolnou počáteční úlohu 9.1 platí pro každé x ∈ a, b lim h→0 n→∞ yn = y(x), kde x = x0 + nh . U každé metody je důležitá otázka, jak se přibližné řešení získané touto metodou liší od řešení přesného, neboli jak vypadá globální diskretizační chyba ei = y(xi) − yi 9.1 Řešení jedné rovnice: počáteční úlohy 127 Pro získání představy o globální diskretizační chybě bývá mnohdy velmi užitečné znát tzv. lokální diskretizační chybu dané metody. Je to chyba, které se dopustíme v jednom kroku dané metody za předpokladu, že všechny hodnoty, které jsme při výpočtu použili, byly přesné. Lokální diskretizační chybu v i-tém uzlu budeme značit di. Na obrázku 9.3 vidíme globální diskretizační chybu ei a lokální diskretizační chybu di u přibližného řešení získaného Eulerovou metodou. Lokální chyba Eulerovy (i jakékoli jiné jednokrokové) metody v uzlu xi je rozdíl přibližného řešení a řešení, které splňuje počáteční podmínku y(xi−1) = yi−1. x y x0 xi−1 xi y0 yi−1 yi di ei y(x, x0, y0) y(x, xi−1, yi−1) Obr. 9.3: Globální a lokální chyba Při numerickém řešení diferenciální rovnice se dopouštíme lokální diskretizační chyby v každém kroku. Globální diskretizační chyba je tedy výsledkem nakupení lokálních chyb, přičemž je třeba brát v úvahu, že každý krok vychází z hodnot, které už jsou zatíženy chybou z předešlého průběhu. Je žádoucí, aby u dané metody nedocházelo ke katastrofální akumulaci lokálních diskretizačních chyb. Pro popis rychlosti konvergence metody používáme pojem řád metody. Zhruba řečeno je řád metody přirozené číslo p takové, že pro malá h je lokální diskretizační chyba di řádově velikosti hp+1 . Přesnější definici lze nalézt např. ve skriptech [?]. U jednokrokových metod p-tého řádu lze dokázat, že globální diskretizační chyba je řádově velikosti hp . Eulerova metoda je řádu prvního. V dalších dvou kapitolách ukážeme několik jednokrokových metod vyšších řádů. 9.1.3 Modifikace Eulerovy metody Myšlenku Eulerovy metody můžeme modifikovat takto: informaci získanou ze znalosti chování řešení v bodě xi budeme různými způsoby korigovat, resp. doplňovat informacemi z dalších bodů z intervalu xi, xi+1 . V první fázi budeme zpracovávat informace z jednoho dalšího bodu. Nejprve vždy vypočteme pomocné hodnoty k1 a k2 a pomocí nich pak přibližnou hodnotu řešení v dalším uzlovém bodě. U první modifikované Eulerovy metody počítáme podle vzorců k1 = f(xi, yi) 128 Numerické řešení diferenciálních rovnic k2 = f(xi + 1 2 h, yi + 1 2 hk1) yi+1 = yi + hk2, (9.3) u druhé modifikace podle vzorců k1 = f(xi, yi) k2 = f(xi + h , yi + hk1) yi+1 = yi + 1 2 h(k1 + k2), (9.4) a to v obou případech pro i = 0, . . . n − 1. Obě modifikované Eulerovy metody jsou druhého řádu. Geometrická interpretace Geometricky lze tyto metody interpretovat podobně jako Eulerovu metodu. Na obrázcích 9.4, resp. 9.5 vidíme jeden krok první, resp. druhé modifikované Eulerovy metody. U první modifikace nejprve najdeme pomocný bod P, a to tak, že z bodu [xi, yi] vyjdeme po přímce se směrnicí f(xi, yi), tj. stejně jako u Eulerovy metody, ale dojdeme jen do bodu s x-ovou souřadnicí xi + h 2 . Přibližnou hodnotu řešení v bodě xi+1 pak získáme tak, že z bodu [xi, yi] jdeme po přímce se směrnicí určenou směrovým polem v bodě P, dokud nedojdeme do bodu s x-ovou souřadnicí xi+1. U druhé modifikace zkonstruujeme dva pomocné body P1 a P2. Bod P1 dostaneme jedním krokem obyčejné Eulerovy metody. Bod P2 pak získáme tak, že z bodu [xi, yi] jdeme po přímce se směrnicí danou směrovým polem v bodě P1 do bodu s x-ovou souřadnicí xi+1. Nový bod [xi+1, yi+1] pak leží ve středu úsečky P1P2. x y xn xn + h/2 xn+1 yn yn+1 P Obr. 9.4: První modifikace Eulerovy metody x y xn xn+1 yn yn+1 P1 P2 Obr. 9.5: Druhá modifi Eulerovy me 9.1 Řešení jedné rovnice: počáteční úlohy 129 9.1.4 Rungovy-Kuttovy metody Rungovy-Kuttovy metody jsou jedna z nejdůležitějších skupin jednokrokových metod. První a druhá modifikovace Eulerovy metody jsou jejich jednoduchými speciálními pří- pady. Obecný tvar Rungovy-Kuttovy metody je yi+1 = yi + h(w1k1 + · · · + wsks), (9.5) pro i = 0, . . . , n, kde k1 = f(xi, yi) (9.6) kr = f(xi + αrh , yi + h r−1 j=1 βrjkj) , r = 2, . . . , s a wr, αr a βrj jsou konstanty volené tak, aby metoda měla maximální řád. Více o způsobu volby těchto konstant lze nalézt např. v [?] nebo [?]. Poznámka 9.5. U první modifikované Eulerovy metody bylo w1 = 0, w2 = 1, α2 = 1 2 a β21 = 1 2 , u druhé modifikace w1 = w2 = 1 2 , α2 = 1 a β21 = 1. Nejznámnější je následující metoda Runge-Kutta 4. řádu. Často, mluví-li se o RungověKuttově metodě, myslí se tím právě tato konkrétní metoda. yi+1 = yi + 1 6 h(k1 + 2k2 + 2k3 + k4) (9.7) k1 = f(xi, yi) k2 = f(xi + 1 2 h, yi + 1 2 hk1) k3 = f(xi + 1 2 h, yi + 1 2 hk2) k4 = f(xi + h, yi + hk3) Příklad 9.6. Rungovou-Kuttovou metodou řešte počáteční úlohu y = x2 − y , y(0) = 1 s krokem h = 0, 1 na intervalu 0 ; 0, 5 . Jedná se o stejnou počáteční úlohu jako v příkladu 9.2. Řešení. První krok metody předvedeme podrobně, výsledky dalších kroků pouze zapíšeme do tabulky. 130 Numerické řešení diferenciálních rovnic Známe x0 = 0, y0 = 1, budeme počítat y1, tj. přibližnou hodnotu řešení v bodě x1 = 0,1. K tomu potřebujeme k1, k2, k3, k4. Ta vypočteme podle vzorců 9.7: k1 = f(0 ; 1) = 02 − 1 = −1 k2 = f(0 + 1 2 0,1 ; 1 + 1 2 0,1(−1)) = f(0,05 ; 0,95) = −0,9475 k3 = f(0 + 1 2 0,1 ; 1 + 1 2 0,1(−0,9475)) = f(0,05 ; 0,952625) = −0,950125 k4 = f(0 + 0,1 ; 1 + 0,1(−0,950125)) = f(0,1 ; 0,9049875) = −0,8949875 y1 = y0 + 1 6 0,1(k1 + 2k2 + 2k3 + k4) . = 0,9051627. V každém dalším kroku budeme opět počítat čísla k1, k2, k3 a k4 a pomocí nich pak přibližnou hodnotu řešení v dalším uzlovém bodě. Ve sloupcích tabulky označených x a y jsou souřadnice bodů, v nichž vyčíslujeme funkci f(x, y) = x2 −y při výpočtu ki (srovnejte s prvním krokem). Pro srovnání vypíšeme i hodnoty přesného řešení y = −e−x +x2 −2x+2. Tentokrát jsou čísla zaokrouhlována na 7 desetinných míst. n xi yi y(xi) x y 0 0 1 1 0 1 k1 = −1 0,05 0,95 k2 = −0,9475 0,05 0,952625 k3 = −0,950125 0,1 0,9049875 k4 = −0,8949875 1 0,1 0,9051627 0,9051626 0,1 0,9051627 k1 = −0,8951627 0,15 0,8604046 k2 = −0,8379046 0,15 0,8632675 k3 = −0,8407675 0,2 0,8210860 k4 = −0,7810860 2 0,2 0,8212695 0,8212693 0,2 0,8212695 k1 = −0,7812695 0,25 0,7822060 k2 = −0,7197060 0,25 0,7852842 k3 = −0,7227842 0,3 0,7489911 k4 = −0,6589911 3 0,3 0,7491822 0,7491818 0,3 0,7491822 k1 = −0,6591822 0,35 0,7162230 k2 = −0,5937230 0,35 0,7194960 k3 = −0,5969960 0,4 0,6894826 k4 = −0,5294826 4 0,4 0,6896804 0,6896800 0,4 0,6896804 k1 = −0,5296804 0,45 0,6631964 k2 = −0,4606964 0,45 0,6666456 k3 = −0,4641456 0,5 0,6432659 k4 = −0,3932659 5 0,5 0,6434699 0,6434693 Výsledky můžeme porovnat s hodnotami přibližného řešení vypočtenými Eulerovou metodou v příkladu 9.2 (kde se řešila tatáž počáteční úloha). Vidíme, že řešení získané metodou Runge-Kutta 4. řádu je podstatně přesnější. 9.1 Řešení jedné rovnice: počáteční úlohy 131 9.1.5 Odhad chyby. Řízení délky kroku Teoretické odhady chyb zde uvedených jednokrokových metod lze nalézt v literatuře. Jejich použití v praxi je však problematické. Proto se používá spíše tzv. metoda polovičního kroku, kterou nyní velmi zjednodušeně popíšeme. Mějme numerickou metodu pro řešení počátečních úloh, která je řádu p. Pro účely této kapitoly změníme poněkud dosud užívané značení. Přesné řešení úlohy budeme stále značit y(x). Jako y(x, h) označíme přibližnou hodnotu řešení v bodě x, kterou jsme dostali použitím naší numerické metody s krokem h. Protože metoda je p-tého řádu, pro chybu platí y(x) − y(x, h) . = c · hp , kde c závisí na x, ale nikoli na h, neboli y(x) . = y(x, h) + c · hp . (9.8) Do stejného bodu x můžeme dojít i pomocí polovičního kroku. V tomto případě platí y(x) . = y x, h 2 + c h 2 p . (9.9) Rovnici 9.9 můžeme vynásobit 2p a odečíst od rovnice 9.8. Tím se vyloučí člen obsahující neznámou konstantu c a po mírné úpravě dostaneme nové přibližné vyjádření y(x), y(x) . = 2p y(x, h 2 ) − y(x, h) 2p − 1 , (9.10) které je přesnější než obě přibližné hodnoty y(x, h) a y(x, h 2 ). Z posledního vztahu můžeme vyjádřit chybu v bodě x pro krok h 2 y(x) − y x, h 2 . = 1 2p − 1 y x, h 2 − y(x, h) , (9.11) resp. pro krok h y(x) − y(x, h) . = 2p 2p − 1 y x, h 2 − y(x, h) . (9.12) Odhad chyby 9.12 lze použít pro řízení délky kroku h. Vypočteme vždy přibližnou hodnotu řešení v bodě xi jedním krokem metody s použitím kroku h a dvěma kroky metody s použitím kroku h 2 . Pak můžeme pomocí těchto dvou hodnot odhadnout chybu. Je-li příliš velká, vrátíme se do předchozího uzlového bodu a pokračujeme s polovičním krokem, je-li chyba vzhledem k našim požadavkům na přesnost příliš malá, pokračujeme dále s větším krokem, např. dvojnásobným. Jako výslednou aproximaci pak můžeme vzít kombinaci obou hodnot vypočtenou podle vzorce 9.10. Tato metoda je dosti pracná, ale účinná. V praxi se též pro řízení délky kroku používá kombinace dvou různých metod. Přibližné řešení v bodě xi najdeme dvěma různými jednokrokovými metodami (např. Matlab v jedné ze svých funkcí pro řešení diferenciálních rovnic kombinuje metodu Runge-Kutta čtvrtého a pátého řádu). Na základě těchto dvou výsledků je odhadnuta chyba. Je-li dostatečně malá, můžeme pokračovat, je-li příliš velká, vrátíme se a pokračujeme s menším krokem. Příklad 9.7. Metodou Runge-Kutta čtvrtého řádu najděte hodnotu řešení počáteční úlohy y = yex , y(0) = 1 bodě x = 0,2 s přesností 10−7 . 132 Numerické řešení diferenciálních rovnic Řešení. Použijeme metodu polovičního kroku. Začneme s krokem h = 0,2, provedeme jeden krok metodou Runge-Kutta. Vyjde y(0,2; 0,2) . = 1,24782070. Nyní dojdeme do bodu 0,2 pomocí dvou kroků metody R-K s krokem h = 0,1. Vyjde y(0,2; 0,1) . = 1,24782556. Podíváme se, je-li chyba dostatečně malá: 1 24−1 (y(0,2; 0,1) − y(0,2; 0,2)) . = 3 · 10−7 > 10−7 S výsledkem se tedy nemůžeme spokojit. Musíme začít znovu od začátku a použít menší krok, h = 0,1. Vypočteme hodnotu řešení v bodě 0,1 nejprve pomocí jednoho kroku metody s h = 0,1 a pak pomocí dvou kroků metody s h = 0,05 : y(0,1; 0,1) . = 1,11090035, y(0,1; 0,05) . = 1,11090046 Odhadneme chybu: 1 24−1 (y(0,1; 0,05) − y(0,1; 0,1)) . = 7 · 10−9 < 10−7 . Zatím je všechno v pořádku, můžeme pokračovat se stejným krokem. Jako přibližnou hodnotu řešení v bodě 0,1 vezmeme kombinaci y = 24 y(0,1;0,05)−y(0,1;0,1) 24−1 . = 1,11090047. (Mohli bychom ale pracovat i s y(0,1; 0,05).) Uděláme další krok – tím se dostaneme do bodu 0,2. Pak se do téhož bodu dostaneme dvěma kroky s h = 0,05 : y(0,2; 0,1) . = 1,24782569, y(0,2; 0,05) . = 1,24782589, 1 24−1 (y(0,2; 0,05) − y(0,2; 0,1)) . = 10−9 < 10−7 . Hodnota řešení zadané počáteční úlohy v bodě x = 0,2 s přesností 10−7 je tedy y(0,2; 0,05) . = 1,2478259 (případně bychom mohli použít i kombinaci y(0,2; 0,05) a y(0,2; 0,1), ta je ještě přesnější). 9.1.6 Vícekrokové metody U vícekrokových metod počítáme přibližné řešení v dalším uzlovém bodě sítě pomocí několika předchozích uzlů. Protože přitom používáme nejen hodnoty přibližného řešení, ale také hodnoty pravé strany f(x, y) v těchto bodech, budeme kvůli snadnějšímu zápisu používat označení fj = f(xj, yj). Obecně vypadá lineární k-kroková metoda takto: yi+1 = a1 yi + a2 yi−1 + · · · + ak yi−k+1 + h (b0 fi+1 + b1 fi + · · · + bk fi+1−k) , (9.13) kde k je přirozené číslo a alespoň jedna z konstant ak, bk je různá od nuly. Zřejmou nevýhodou k-krokové metody je, že řešení v prvních k uzlových bodech x0, . . . , xk−1 musíme získat nějakým jiným způsobem. K tomuto účelu se zpravidla používá jednokroková metoda stejného řádu přesnosti, jaký má dále použitá vícekroková metoda. Je to nutné, protože pracujeme s rovnicí prvního řádu, a máme tedy k dispozici jen jednu podmínku, a sice y(x0) = y0. Více podmínek – např. y(x0) = y0 a současně y(x1) = y1 – mít k dispozici nemůžeme. Přitom však pro start vícekrokové metody hodnoty v bodech x1, x2 atd. (počet dle potřeb konkrétní metody) potřebujeme. Je-li b0 = 0, metoda 9.13 se nazývá explicitní. V tomto případě můžeme hodnotu v novém uzlovém bodě přímo vypočítat dosazením do vzorce 9.13. Je-li b0 = 0, metoda 9.13 se nazývá implicitní. Pak se na pravé straně rovnice 9.13 kromě známých hodnot vyskytuje také fi+1 = f(xi+1, yi+1), takže yi+1 nemůžeme vypočítat přímo, ale v každém kroku musíme řešit rovnici yi+1 = hb0f(xi+1, yi+1) + g s neznámou yi+1, kde g = k j=1 aj yi+1−j + h k j=1 bj fi+1−j je známé číslo (v každém kroku jiné). V případě některých pravých stran f tuto rovnici vyřešíme přesně, obecně je však potřeba tuto rovnici řešit numericky, většinou metodou prosté iterace. 9.1 Řešení jedné rovnice: počáteční úlohy 133 Tato nevýhoda je však vyvážena příznivými vlastnostmi implicitních metod. Tyto metody jsou při daném k přesnější a jsou také stabilnější než explicitní metody. Příklad 9.8. Explicitní čtyřkrokovou metodou čtvrtého řádu yi+1 = yi−3 + 4 3 h (2fi−2 − fi−1 + 2fi) (9.14) řešte počáteční úlohu y = x2 − y , y(0) = 1 s krokem h = 0, 1 na intervalu 0 ; 0, 7 . Řešení. Nejprve musíme nějakým způsobem najít řešení v bodech x1 = 0,1, x2 = 0,2, x3 = 0,3. Použijeme výsledky příkladu 9.6, kde jsme řešili tutéž počáteční úlohu metodou Rungeho-Kutty. Potřebné hodnoty zde znovu vypíšeme, včetně hodnot pravé strany f(x, y) = x2 − y. y1 = 0, 9051627 y2 = 0, 8212695 y3 = 0, 7491822 f1 = −0, 8951627 f2 = −0, 7812695 f3 = −0, 6591822 V dalších uzlových bodech už budeme postupovat podle vzorce 9.14, tzn. y4 = y0 + 4 3 h (2f1 − f2 + 2f3) , y5 = y1 + 4 3 h (2f2 − f3 + 2f4) atd. Vypočtené hodnoty zapíšeme do tabulky. Pro srovnání uvádíme i hodnoty přesného řešení. n xi yi fi y(xi) 4 0,4 0,6896773 -0,5296773 0,6896800 5 0,5 0,6434678 -0,3934678 0,6434693 6 0,6 0,6111865 -0,2511865 0,6111884 7 0,7 0,5934142 -0,1034142 0,5934147 Příklad 9.9. Implicitní tříkrokovou metodou čtvrtého řádu yi+1 = 1 8 (9yi − yi−2) + 3 8 h(fi+1 + 2fi − fi−1) (9.15) řešte počáteční úlohu y = x2 − y , y(0) = 1 s krokem h = 0, 1 na intervalu 0 ; 0, 4 . Řešení. Jako výchozí hodnoty y1, y2 opět použijeme výsledky získané metodou Runge-Kutta v příkladu 9.6. Řešení v bodě x3 = 0, 3 budeme již počítat podle vzorce 9.15. y3 získáme jako řešení rovnice y3 = 1 8 (9y2 − y0) + 3 8 0, 1(f(x3, y3) + 2f2 − f1), tj. y3 = 1 8 (9y2 − y0) + 3 8 0, 1(0, 32 − y3 + 2f2 − f1). Vyjde y3 = 0, 7491822. K dalším výpočtům potřebujeme ještě f3 = −0, 6591822. y4 získáme jako řešení rovnice y4 = 1 8 (9y3 − y1) + 3 8 0, 1(0, 42 − y4 + 2f3 − f2). Vyjde y4 = 0, 6896806. V tomto příkladu bylo řešení rovnic s neznámou yi+1 velmi jednoduché. Většinou je však potřeba složitější postup, a sice použití metod prediktor – korektor, resp. prediktor – modifik8tor – korektor. O vícekrokových metodách se podrobněji hovoří v předmětu Moderní numerické metody. 134 Numerické řešení diferenciálních rovnic 9.2 Řešení soustav diferenciálních rovnic Řešení soustavy obyčejných diferenciálních rovnic prvního řádu s počátečními podmín- kami y1 = f1(x, y1, y2, . . . , yn) y1(x0) = η1 y2 = f2(x, y1, y2, . . . , yn) y2(x0) = η2 ... ... yn = fn(x, y1, y2, . . . , yn) yn(x0) = ηn kde yi jsou funkce proměnné x, se hledá velmi podobně jako řešení jediné diferenciální rovnice s počáteční podmínkou. Soustavu 9.16 můžeme přepsat vektorově jako y = f(x, y), y(x0) = η, (9.16) kde y = (y1, . . . , yn)T , f = (f1, . . . , fn)T a η = (η1, . . . , ηn)T . Pro její numerické řešení můžeme použít kteroukoli z dříve popsaných metod, jen je potřeba pracovat s vektory. Eulerova metoda pro soustavu je tvaru yi+1 = yi + h f(xi, yi), proi = 0, 1, . . . , n − 1 (9.17) Rungova-Kuttova metoda 4. řádu pro soustavu vypadá následovně: yi+1 = yi + 1 6 h(k1 + 2k2 + 2k3 + k4) (9.18) k1 = f(xi, yi) k2 = f(xi + 1 2 h, yi + 1 2 h k1) k3 = f(xi + 1 2 h, yi + 1 2 h k2) k4 = f(xi + h, yi + h k3) a to opět pro i = 0, 1, . . . , n − 1 Řešíme-li soustavu dvou rovnic, je jednodušší označit neznámé funkce jako y a z a funkce na pravé straně jako f a g, abychom se vyhnuli nepříjemné práci s mnoha indexy. Řešená soustava pak je y = f(x, y, z) y(x0) = y0 z = g(x, y, z) z(x0) = z0. (9.19) Eulerovu metodu pak můžeme zapsat jako yi+1 = yi + hf(xi, yi, zi) (9.20) zi+1 = zi + hg(xi, yi, zi), metodu Runge-Kutta 4. řádu jako yi+1 = yi + 1 6 h(k1 + 2k2 + 2k3 + k4) (9.21) 9.3 Cvičení 135 zi+1 = zi + 1 6 h(l1 + 2l2 + 2l3 + l4), vždy pro i = 0, 1, ldots, n − 1, kde k1 = f(xi, yi, zi) l1 = g(xi, yi, zi) k2 = f(xi + 1 2 h, yi + 1 2 hk1, zi + 1 2 hl1) l2 = g(xi + 1 2 h, yi + 1 2 hk1, zi + 1 2 hl1) k3 = f(xi + 1 2 h, yi + 1 2 hk2, zi + 1 2 hl2) l3 = g(xi + 1 2 h, yi + 1 2 hk2, zi + 1 2 hl2) k4 = f(xi + h, yi + hk3, zi + hl3) l4 = g(xi + h, yi + hk3, zi + hl3) Příklad 9.10. Soustavu diferenciálních rovnic s počátečními podmínkami y = x − y − z y(0) = 1 z = y ez z(0) = 0 řešte Eulerovou metodou s krokem h = 0, 05. Proveďte 2 kroky. Řešení. V tomto případě je f(x, y, z) = x − y − z, g(x, y, z) = y ez , y0 = 1 a z0 = 0. Přibližné hodnoty řešení v uzlových bodech x1 = 0, 05 a x2 = 0, 1 vypočteme podle vzorců 9.20: y1 = 1 + 0, 05 (0 − 1 − 0) = 0, 95 z1 = 0 + 0, 05 · 1 · e0 = 0, 05 y2 = 0, 95 + 0, 05 (0, 05 − 0, 95 − 0, 05) = 0, 9025 z2 = 0, 05 + 0, 05 · 0, 95 · e0,05 . = 0, 0999 9.3 Cvičení Maplety Příklady pro samostatnou práci jsou uvedeny v samostatné sbírce příkladů. Pomocí následujících mapletů si můžete usnadnit některé dílčí výpočty, nebo zkontrolovat jejich správnost. 1. Výpočet funkčních hodnot 2. Úprava algebraických výrazů 3. Analytické řešení soustavy lineárních rovnic Spustitelné aplikace prostředí Matlab Před spuštěním těchto souborů je nutné nainstalovat Matlab Compiler Runtime ve verzi R2013a, 32-bit pro Windows (400 MB). Podrobné informace o Matlab Compiler Runtime získáte v nápovědě na webu firmy Mathworks. Nezapomínejte, že tyto aplikace nemohou (a ani to nedělají!) postihnout všechny nuance probírané látky! 1. Jednokrokové numerické metody řešení počátečních úloh 136 Numerické řešení diferenciálních rovnic 9.4 Animace Na následujících animacích jsou znázorněny některé aspekty numerických metod studovaných v této kapitole. Animace ovládáte tlačítky pod obrázkem. Kvalita animací je dána skutečností, že se jedná o bitmapové obrázky exportované ze softwaru Maple a následně vkládané do textu v jiné velikosti. Animace se nacházejí vždy na samostatné stránce. Obr. 9.6: Vliv délky kroku na přesnost numerického řešení počáteční úlohy; analytické řešení znázorněno zeleně, použita Eulerova metoda (animace) 137 10 Základy statistického zpracování dat Popisná statistika se zabývá shromažďováním, tříděním a popisem souborů dat. Někdy se pod pojmem statistika myslí přímo nashromážděná data, jindy spíše činnost spojená s jejich získáváním a zpracováním. Předmětem statistiky je také hledání zákonitostí v těchto datech a předpověď budoucího vývoje. V závěru našeho kurzu se seznámíte s testováním statistických hypotéz. Zde, na začátku, definujeme základní pojmy a budeme se věnovat různým popisným charakteristikám souboru dat. Ve statistickém šetření zkoumáme vlastnosti určité skupiny objektů. Tyto objekty mohou být různého druhu: zaměstnanci podniku, u kterých sledujeme např. jejich výkonnost, vzdělání a plat; pokusné myši, u kterých sledujeme reakci na podanou látku; výrobky, u kterých sledujeme jejich kvalitu, apod. Zkoumané objekty nazýváme statistickými jednotkami. Množinu všech statistických jednotek nazveme statistickým souborem. Vlastnosti statistických jednotek vyjadřují statistické znaky. Zjišťujeme-li u každé statistické jednotky pouze jeden statistický znak, získáváme tak soubor jednorozměrný. Zjišťujeme-li dva nebo více znaků a zkoumáme-li jejich vzájemné vztahy, hovoříme o souborech dvourozměrných, resp. vícerozměrných. Cílem statistického zkoumání je získání poznatků o vlastnostech celého statistického souboru (např. všech občanů ČR, všech výrobků určitého závodu, apod.). Často je však nemožné prozkoumat všechny statistické jednotky a musíme se omezit pouze na vybranou podmnožinu (výběr) souboru všech definovaných jednotek (populace). Podle rozsahu můžeme zkoumané soubory rozdělit na dva typy: • Základní soubor (populace) – obsahuje všechny vymezené jednotky. • Výběrový soubor (výběr) – obsahuje pouze některé jednotky. Z vlastností výběrového souboru se snažíme zobecnit závěry na celý základní soubor. Proto si při výběru prvků musíme počínat opatrně, výběrový soubor by měl být reprezentativní. 138 Základy statistického zpracování dat Příklad 10.1. Jestliže zvolíme za statistickou jednotku studenta VUT, lze tuto jednotku charakterizovat např. pomocí znaků udávajících ročník, fakultu, na které studuje, vážený studijní průměr, atd. Vidíme, že znaky mohou být několika různých typů. Některé lze popsat číselnou hodnotou, pro náš příklad by to byl ročník a průměr. Vyjádřit fakultu číslem však v podstatě nelze. Mohli bychom sice zavést označení např. FEKT= 1, FSI= 2, . . . , ale takto zvolená čísla by pak sloužila pouze jako indexy. Nemělo by význam počítat např. „průměrnou fakultu všech studentů. Statistické znaky rozlišujeme: • Kvantitativní – jsou popsané číselnou hodnotou. Tyto znaky můžeme dále rozdělit na • spojité – mohou nabývat kterékoli hodnoty z určitého intervalu (např. spotřeba elektřiny), • nespojité (diskrétní) – mohou nabývat pouze hodnot z určité konečné nebo spočetné množiny, často se jedná o celočíselné hodnoty (např. počet dětí v rodině). • Kvalitativní – jsou popsány slovně. Zde se budeme zabývat převážně znaky kvantitativními. 10.1 Rozdělení četností Budeme zkoumat jednorozměrný statistický soubor o celkovém rozsahu n statistických jednotek. Cílem je zjistit, jak často se v souboru vyskytují jednotlivé hodnoty sledovaného kvantitativního znaku x. Soubor seřadíme podle velikosti x. Další postup se však trochu liší pro znaky spojité a nespojité (diskrétní). 10.1.1 Diskrétní znaky Předpokládejme, že v souboru o rozsahu n může sledovaný znak x nabývat k různých hodnot (variant) x1, x2, . . . , xk. Četnost varianty xi je počet výskytů této hodnoty ve sledovaném souboru a označíme ji ni, i = 1, . . . , k. Pak platí n1 + n2 + · · · + nk = n. 10.1 Rozdělení četností 139 Často je přehlednější pracovat spíše s relativními četnostmi. Můžeme pak porovnávat rozdělení četností znaku dvou souborů o různém rozsahu. Relativní četnost varianty xi zavedeme jako fi = ni n . Pro relativní četnosti platí f1 + · · · + fk = n1 n + · · · nk n = n1 + · · · + nk n = 1. Relativní četnost se často vyjadřuje v procentech. Užitečné jsou také kumulativní četnosti (opět absolutní nebo relativní). Ty udávají, kolik jednotek má hodnotu znaku menší nebo rovnou vybrané variantě xi. Varianta znaku Četnost Kumulativní četnost absolutní relativní absolutní relativní x1 n1 f1 n1 f1 x2 n2 f2 n1 + n2 f1 + f2 ... ... ... ... ... xk nk fk n1 + · · · + nk = n f1 + · · · + fk = 1 Tab. 10.1: Tabulka četností a kumulativních četností Pro zobrazení četností se u diskrétních kvantitativních znaků používá spojnicový graf (zvaný též polygon četností) nebo sloupcový graf, viz obrázky 10.1 a 10.2. Příklad 10.2. Zkoumáme věk studentů nastupujících do 1. ročníku vysoké školy. Máme k dispozici tabulku, v níž jsou pořadová čísla studentů a jejich stáří (vyjádřené v celých letech): ID Věk ID Věk ID Věk ID Věk ID Věk ID Věk ID Věk 1 19 11 19 21 19 31 19 41 20 51 19 61 19 2 19 12 19 22 19 32 19 42 19 52 22 62 19 3 19 13 20 23 20 33 23 43 20 53 19 63 20 4 19 14 19 24 21 34 20 44 20 54 19 64 20 5 19 15 19 25 20 35 18 45 19 55 19 65 19 6 19 16 19 26 19 36 19 46 19 56 19 66 20 7 20 17 21 27 19 37 20 47 20 57 19 67 20 8 20 18 19 28 20 38 19 48 19 58 20 68 21 9 19 19 19 29 19 39 19 49 19 59 19 69 19 10 22 20 19 30 19 40 20 50 19 60 20 70 19 140 Základy statistického zpracování dat Najděte rozdělení četností věku studentů. Řešení. Vidíme, že studentů je celkem n = 70 a že věk nabývá hodnot z množiny {18, 19, 20, 21, 22, 23}. Osmnáctiletý student je jeden, devetenáctiletých je 44, atd. Tabulka četností proto bude vypadat takto (relativní četnosti jsou zaokrouhleny na 3 desetinná místa): Věk Počet Relativní Kumulativní Kumulativní studenta studentů četnost absolutní relativní xi ni fi četnost četnost 18 1 0,014 1 0,014 19 44 0,629 45 0,643 20 19 0,271 64 0,914 21 3 0,043 67 0,957 22 2 0,029 69 0,986 23 1 0,014 70 1,000 Graficky jsou absolutní četnosti znázorněny na obrázcích 10.1 a 10.2. Podobně by vypadal obrázek pro relativní četnosti. 18 19 20 21 22 23 vˇek (xi) 10 20 30 40 (ni) Obr. 10.1: Spojnicový graf 18 19 20 21 22 23 vˇek (xi) 10 20 30 40 (ni) Obr. 10.2: Sloupcový graf Výše popsané způsoby zpracování četností jsou vhodné pro diskrétní znaky, které nabývají pouze malého počtu hodnot. Zkoumáme-li diskrétní znak, který nabývá mnoha různých hodnot, je lepší hodnoty seskupit do intervalů a pracovat s těmito intervaly. Je to stejný postup, jaký se používá pro spojité znaky. 10.1.2 Spojité znaky Spojité znaky mohou nabývat jakékoli hodnoty z určitého intervalu (záleží na povaze zkoumaného znaku a na stupnici měření). Tabulku četností popsanou v předchozí kapi- 10.1 Rozdělení četností 141 tole nemůžeme proto dost dobře sestavit. Může se stát, že máme soubor velkého rozsahu, ale žádná hodnota se v něm neopakuje. Proto pro spojité znaky nebo pro znaky sice diskrétní, ale s velkým počtem možných variant, konstruujeme intervalové rozdělení četností. Zde je důležitá otázka, do kolika intervalů máme hodnoty roztřídit. Příliš malý počet intervalů vede k velmi hrubému pohledu na rozdělení četností. Velký počet intervalů vede k tomu, že graf je „střapatý a nevyniknou zákonitosti charakteristické pro daný soubor. Pro orientační odhad vhodného počtu intervalů se používají různá pravidla, z nichž nejpoužívanější je Sturgesovo (viz rámeček). Při konstrukci intervalového rozdělení četností stanovujeme počty výskytů hodnot znaku, které náleží do předem vymezených intervalů. Pro stanovení počtu intervalů se často používá tzv. Sturgesovo pravidlo k . = 1 + log2 n . = 1 + 3,3 log n. Pro grafické zobrazení intervalového rozdělení četností se používá histogram. Jsouli všechny intervaly stejné šířky, pak je histogram sloupcový graf, kde nad každým intervalem sestrojíme obdélník, jehož výška je rovna příslušné četnosti. Histogram se někdy také normuje, aby součet obsahů všech obdélníků dal jedničku. Příklad 10.3. Zkoumáme průměrnou spotřebu benzinu u automobilů určité značky. Testováním 80 automobilů jsme získali následující hodnoty (v litrech na 100 km): 6,23 6,86 6,98 7,12 7,31 7,60 7,80 8,60 8,33 8,41 8,57 9,35 6,38 6,91 7,00 7,12 7,37 7,68 7,82 8,12 8,35 8,41 8,66 9,66 6,48 6,94 7,00 7,14 7,40 7,69 7,82 8,13 8,35 8,45 8,88 10,49 6,76 6,95 7,50 7,14 7,42 7,69 7,83 8,14 8,35 8,48 8,92 6,79 6,95 7,80 7,23 7,46 7,71 7,88 8,22 8,35 8,48 8,95 6,80 6,96 7,11 7,24 7,47 7,72 7,90 8,24 8,37 8,54 9,20 6,82 6,98 7,11 7,29 7,53 7,76 7,98 8,28 8,40 8,55 9,25 Najděte intervalové rozdělení četností a znázorněte je pomocí histogramu. Řešení. Máme n = 80 hodnot v rozmezí 6,23 až 10,49. Můžeme je rozdělit např. do intervalů 6; 6,5), 6,5; 7), atd., až 10; 10,5) (podle Sturgesova pravidla by intervalů mělo být zhruba 1 + 3,3 log 80 . = 7, my jich máme 9). V prvním intervalu leží 3 hodnoty, ve druhém 12, celkem tabulka intervalových četností vyjde takto: 142 Základy statistického zpracování dat Počet Relativní Kumulativní Kumulativní Interval aut četnost absolutní relativní ni fi četnost četnost 6; 6,5) 3 0,0375 3 0,0375 6,5; 7) 12 0,1500 15 0,1875 7; 7,5) 19 0,2375 34 0,4250 7,5; 8) 15 0,1875 49 0,6125 8; 8,5) 19 0,2375 68 0,8500 8,5; 9) 7 0,0875 75 0,9375 9; 9,5) 3 0,0375 78 0,9750 9,5; 10) 1 0,0125 79 0,9875 10; 10,5) 1 0,0125 80 1,0000 Na obrázku 10.3 vidíme příslušný histogram. Histogram na obrázku 10.4 vznikl normováním: vzali jsme relativní četnosti a vydělili je délkou dílčího intervalu, tj. 0,5. Výška prvního sloupce je tedy 2 · 0,0375 atd. 6 7 8 9 10 spotˇreba 5 10 15 20 (ni) Obr. 10.3: Histogram četností 6 7 8 9 10 spotˇreba 0,2 0,4 0,6 0,8 Obr. 10.4: Normovaný histogram 10.2 Charakteristiky polohy Charakteristiky polohy (nebo též úrovně) popisují, kolem jakých hodnot se zkoumaný znak zhruba pohybuje. 10.2.1 Aritmetický průměr Aritmetický průměr patří mezi nejznámější charakteristiky statistického souboru. 10.2 Charakteristiky polohy 143 Máme-li soubor rozsahu n a zjištěné hodnoty znaku jsou x1, . . . , xn, pak jejich aritmetický průměr je x = x1 + · · · + xn n = 1 n n i=1 xi. Jestliže sledovaný znak x může nabývat k různých hodnot x1, x2, . . . , xk a pro každou hodnotu xi, i = 1, . . . , k, známe její četnost ni, resp. relativní četnost fi, pak pro zjištění aritmetického průměru nemusíme všechny hodnoty sečítat. Platí totiž x = n1-krát x1 + · · · + x1 + n2-krát x2 + · · · + x2 + · · · + nk-krát xk + · · · + xk n = x1 · n1 n + · · · + xk · nk n . Aritmetický průměr znaku, který nabývá hodnot x1, x2, . . . , xk s četnostmi ni a relativními četnostmi fi, i = 1, . . . , k, lze vypočítat jako x = 1 n k i=1 xi · ni = k i=1 xi · fi. (10.1) Jestliže zkoumáme spojitý znak a známe rozložení intervalových četností, můžeme je pro výpočet aritmetického průměru využít podobně jako v případě (10.1). Za hodnoty znaku bereme středy intervalů. Aritmetický průměr však tímto způsobem nedostaneme úplně přesně. Příklad 10.4. Celkem n = 200 studentů psalo písemku, na kterou bylo možno získat maximálně 15 bodů. V níže uvedené tabulce je úspěšnost studentů – četnosti ni a relativní četnosti fi jednotlivých počtů bodů. Vypočítejte průměrný počet bodů z písemky. body ni fi body ni fi body ni fi body ni fi 0 3 0,015 4 6 0,030 8 24 0,120 12 17 0,085 1 5 0,025 5 13 0,065 9 16 0,080 13 20 0,100 2 2 0,010 6 11 0,055 10 18 0,090 14 12 0,060 3 3 0,015 7 14 0,070 11 21 0,105 15 15 0,075 Řešení. Průměrný počet bodů je x = 1 200 (0 · 3 + 1 · 5 + 2 · 2 + · · · + 13 · 20 + 14 · 12 + 15 · 15) = = 0 · 0,015 + 1 · 0,025 + 2 · 0,010 + · · · + 13 · 0,100 + 14 · 0,060 + 15 · 0,075 = 9,375 144 Základy statistického zpracování dat Příklad 10.5. Vypočítejte průměrnou spotřebu benzínu pro hodnoty z příkladu 10.3. Řešení. Využijeme-li intervalové rozložení četností a jako reprezentanta každého intervalu vezmeme jeho střed, dostaneme x . = 1 80 (6,25 · 3 + 6,75 · 12 + · · · + 9,75 · 1 + 10,25 · 1) . = 7,74. Jestliže však použijeme všechny hodnoty z tabulky a vypočítáme průměr klasicky, vyjde hodnota lehce odlišná: x = 1 80 (6,23 + 6,38 + 6,48 + · · · ) . = 7,78. Důležité vlastnosti aritmetického průměru 1. Jestliže ke všem hodnotám znaku přičteme konstantu a ∈ R, přičte se a také k průměrné hodnotě: x + a = x + a. (10.2) 2. Jestliže každou hodnotu znaku vynásobíme konstantou a ∈ R, výsledný průměr bude a-násobkem původního průměru: a · x = a · x. (10.3) 3. Jestliže v tomtéž statistickém souboru sledujeme dva znaky x a y (stejné povahy), pak průměr z jejich součtu je součet průměrů: x + y = x + y (10.4) Právě uvedené vztahy není těžké dokázat. Jsou-li zjištěné hodnoty znaku x1, . . . , xn, resp. y1, . . . , yn, pak x + a = 1 n ((x1 + a) + (x2 + a) + · · · + (xn + a)) = 1 n (x1 + · · · + xn) + 1 n (n · a) = x + a, a · x = 1 n (a · x1 + · · · + a · xn) = a n (x1 + · · · + xn) = a · x, x + y = 1 n ((x1 + y1) + (x2 + y2) + · · · + (xn + yn)) = 1 n n i=1 xi + 1 n n i=1 yi = x + y. Ohledně (10.4) zdůrazněme, že musíme mít stejný počet x-ových a y-ových hodnot stejného věcného významu (nemůžeme „sčítat jablka a hrušky ). Pro dva soubory čísel o různém rozsahu vztah (10.4) samozřejmě neplatí! 10.2 Charakteristiky polohy 145 Příklad 10.6. a) Průměrný plat v určitém oddělení podniku byl 24 000 Kč. Pak dostali všichni 1 000 Kč přidáno. Nyní je průměrná mzda 25 000 Kč. b) Studenti u profesora A. dostali na písemku průměrně 5 bodů. Profesor A. pak zjistil, že byl při hodnocení mnohem přísnější než profesor B., a rozhodl se, že každému studentovi body zvýší 1,2-krát. Nyní mají studenti průměrně 6 bodů. c) Bylo provedeno statistické šetření u 3 000 domácností. Bylo zjištěno, že průměrné výdaje za bydlení jsou 5 000 Kč na měsíc a průměrné výdaje za jídlo jsou 4 500 Kč na měsíc. Kdybychom u každé domácnosti brali výdaje za bydlení a za jídlo jako jednu položku, dostali bychom průměrnou hodnotu 9 500 Kč na domácnost a měsíc. V některých případech nám aritmetický průměr nemusí dát dobrou představu o typické úrovni hodnot souboru. Jestliže např. máme soubor, třeba i velkého rozsahu, který obsahuje několik extrémně velkých čísel, může tím být průměr značně vychýlen oproti obvyklým hodnotám. Příklad 10.7. V jisté firmě pracuje 10 řadových pracovníků s platem 15 000 Kč, zatímco ředitel má 100 000 Kč. Průměrný plat je pak přibližně 22 727 Kč, ale zkuste to říct těm „dole . . . Proto se kromě aritmetického průměru užívají i další charakteristiky úrovně, které někdy mohou být i výstižnější. V dalších odstavcích popíšeme modus a medián, kterými lze charakterizovat polohu znaku s nesymetrickým rozdělením. 10.2.2 Modus Modus statistického znaku značíme ˆx a je to hodnota, která se v souboru vyskytuje nejčastěji. U spojitých znaků – známe-li intervalové rozdělení četností – stanovujeme tzv. modální (nejčetnější) interval. Za přibližnou hodnotu modu pak můžeme brát střed modálního intervalu. Příklad 10.8. Modus statistického souboru z příkladu 10.2 (věk studentů) je ˆx = 19, modus souboru z příkladu 10.4 (výsledky písemky) je ˆx = 8 a modální intervaly souboru z příkladu 10.3 (spotřeba benzinu) jsou dva: 7; 7,5) a 8; 8,5). 10.2.3 Medián Medián rozděluje statistický soubor hodnot seřazených podle velikosti na dvě stejně početné části. Může mít větší vypovídací hodnotu než průměr, viz příklad 10.7. 146 Základy statistického zpracování dat Medián statistického znaku značíme ˜x nebo též (v souladu s označením použitým v kapitole 10.3) ˜x0,5. Je to prostřední hodnota ze souboru uspořádaného podle velikosti: Označíme-li prvky uspořádané podle velikosti jako x1, x2, . . . , xn a počet prvků n je liché číslo, pak je medián přímo prostřední hodnota, tj. ˜x = x(n+1)/2 . Je-li rozsah souboru n sudé číslo, je medián průměr ze dvou prostředních prvků, tj. ˜x = 1 2 xn/2 + x(n/2)+1 . Poznámka 10.9. Medián ˜x je tedy takové číslo, že alespoň 50 % hodnot souboru je menších nebo rovných ˜x a alespoň 50 % hodnot souboru je větších nebo rovných ˜x, viz též příklad 10.10. Příklad 10.10. Určete medián, jestliže zjištěné hodnoty zkoumaného znaku jsou 4, 7, 3, 5, 2, 4, 8, 6, 3, 4, 7, 2, 4, 5, 5. Řešení. Setříděním podle velikosti dostaneme 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 7, 7, 8. Hodnot je celkem 15, medián tedy bude osmá (prostřední) z nich, tj. ˜x = 4. Jestli někoho zarazilo slovo „alespoň v poznámce 10.9 a očekával by, že pod i nad mediánem leží přesně 50 % hodnot, pak zde můžeme na ukázku uvést, že v našem příkladu máme 8 hodnot menších nebo rovných mediánu, což je zhruba 53 %. Větších nebo rovných mediánu je dokonce 11 hodnot neboli přibližně 73 %. Příklad 10.11. Určete medián statistického souboru z příkladu 10.4 (výsledky písemky). Řešení. Víme, že soubor má n = 200 prvků, medián tedy bude průměr ze 100. a 101. prvku. Zatím ale nevíme, jakou hodnotu 100. a 101. prvek mají. Ze zadání příkladu máme k dispozici tabulku četností. Pomocí ní nyní budeme počítat kumulativní četnosti, dokud nedosáhneme hodnoty 100: body četnost kumul. body četnost kumul. body četnost kumul. četnost četnost četnost 0 3 3 4 6 19 8 24 81 1 5 8 5 13 32 9 16 97 2 2 10 6 11 43 10 18 115 3 3 13 7 14 57 . . . . . . . . . 10.3 Kvantily 147 Vidíme, že seřadíme-li soubor podle velikosti, pak prvních 97 prvků nabývá hodnoty menší nebo rovné 9, zatímco prvních 115 prvků je menších nebo rovných 10. To znamená, že 100. i 101. prvek souboru je roven 10, a medián je proto ˜x = x100 + x101 2 = 10 + 10 2 = 10. Příklad jsme mohli také vyřešit pomocí kumulativních relativních četností. V tomto případě bychom zkoumali, kdy bude dosaženo hodnoty 0,5. 10.3 Kvantily V předchozím odstavci jsme se seznámili s mediánem, který rozděluje soubor na dvě stejně početné části. Podobně můžeme zkoumat, jaké hranice rozdělí soubor na čtyři stejně početné části – pak mluvíme o tzv. kvartilech, apod. Obecně hledáme hranici, pod kterou leží určité vybrané procento hodnot celého souboru. V kapitole 17.2 se seznámíme s pojmem kvantil náhodné veličiny, který bude jednoznačně definován. Pro statistické soubory se však spokojíme s poněkud neurčitým popisem kvantilu: Pro p ∈ (0, 1) je kvantil ˜xp neboli p-kvantil takové číslo, které odděluje nejmenších p · 100 % hodnot statistického znaku od největších (1 − p) · 100 % hodnot. Speciální případy kvantilů: • Medián ˜x0,5 – dělí soubor seřazený podle velikosti zkoumaného znaku na poloviny. • Kvartily ˜x0,25, ˜x0,5, ˜x0,75 – dělí soubor na čtvrtiny. Hodnotu ˜x0,25 nazýváme první kvartil, druhý kvartil splývá s mediánem a hodnotu ˜x0,75 nazýváme třetí kvartil. • Decily ˜x0,1, . . . , ˜x0,9 – dělí soubor na desetiny. Mluvíme o prvním, druhém, až devátém decilu. • Percentily ˜x0,01, . . . , ˜x0,99 – dělí soubor na setiny. Zbývá ještě popsat, jak se kvantil pro konkrétní data najde. Musíme si uvědomit, že definicí v rámečku kvantil není dán jednoznačně. Různé statistické softwary také pro nalezení kvantilů používají různé algoritmy, které dávají rozdílné výsledky. Popíšeme zde jeden z možných postupů. Předpokládejme, že soubor už je seřazený podle velikosti zkoumaného znaku, hodnoty jsou x1 ≤ x2 ≤ · · · ≤ xn. Nejprve vypočítáme pořadové číslo prvku, který odděluje nejmenších p · 100 % hodnot. To můžeme stanovit jako k = (n + 1)p nebo k = 1 + (n − 1)p. Pro medián, tj. 0,5-kvantil, vyjde v obou případech k = (n + 1)/2. Je-li takto nalezené k celé číslo, je ˜xp = xk a kvantil jsme našli – v případě mediánu to nastane pro n liché. 148 Základy statistického zpracování dat Často však k celé číslo není. Například pro medián a n = 4 nám vyjde k = 2,5. Příslušný „dva-a-půltý prvek určíme jako průměr prvku druhého a třetího, což můžeme též zapsat jako ˜x0,5 = x2 + 0,5 · (x3 − x2). Obecně, jestliže k leží v intervalu m, m + 1), kde m je celé číslo, pak za hodnotu p-kvantilu můžeme brát ˜xp = xm + (k − m)(xm+1 − xm). Právě popsaný postup používají některé specializované statistické softwary nebo také MS Excel. V Matlabu se kvantily hledají ještě jiným způsobem, zájemci si jej mohou najít v příslušném hesle nápovědy. Příklad 10.12. Najděte první a třetí kvartil, jestliže zjištěné hodnoty zkoumaného znaku jsou 3, 4, 5, 6, 6, 7, 7, 8. Řešení. Máme n = 8 hodnot. Pořadové číslo prvního kvartilu bude k = 9 · 0,25 = 2,25. První kvartil je proto ˜x0,25 = x2 + 0,25 · (x3 − x2) = 4 + 0,25 · (5 − 4) = 4,25. Použijeme-li druhý uvedený způsob výpočtu k, dostaneme ˜x0,25 = 4,75, zatímco Matlab dává výsledek ˜x0,25 = 4,5. Pokud jde o třetí kvartil, tak zde v každém případě vyjde ˜x0,75 = 7. 10.4 Charakteristiky variability Charakteristiky variability popisují rozptýlenost hodnot. Zajímá nás, jestli se znak pohybuje nejčastěji jen v určitém nevelkém intervalu, nebo zda je jeho rozpětí široké. Nejčastěji zkoumáme, jak jsou hodnoty znaku rozptýlené kolem aritmetického průměru, existují však i jiné charakteristiky variability. 10.4.1 Variační rozpětí a kvartilové rozpětí Nejjednodušší, ale i nejhrubší mírou variability je variační rozpětí. Variační rozpětí je rozdíl největší a nejmenší hodnoty znaku: R = xmax − xmin. Variační rozpětí vypočítáme velmi snadno, ovšem jeho nevýhodou je, že extrémní hodnoty mohou být nahodilé a je možné, že naprostá většina hodnot znaku leží v intervalu daleko užším. 10.4 Charakteristiky variability 149 Příklad 10.13. Variační rozpětí hodnot z příkladu 10.3 (spotřeba benzínu) je 10,49 − − 6,23 = 4,26. Další charakteristikou variability je mezikvartilové rozpětí. Udává, v jak širokém intervalu se nachází „prostřední polovina všech hodnot. Mezikvartilové rozpětí je rozdíl třetího a prvního kvartilu: ˜x0,75 − ˜x0,25. 10.4.2 Rozptyl a směrodatná odchylka Ve většině případů dává statistická praxe přednost takovým mírám variability, jejichž velikost je závislá na všech hodnotách statistického souboru. Zajímavé také je, jak moc jsou hodnoty „nahuštěné kolem aritmetického průměru. Třeba vás napadá, že by nebylo marné zkoumat průměr z hodnot (xi − x), i = 1, . . . , n. Tudy však cesta bohužel nevede, protože výsledek je vždy roven nule: 1 n n i=1 (xi − x) = 1 n n i=1 xi − 1 n n i=1 x = x − 1 n · n · x = 0. Dalším kandidátem na rozptyl je průměrná absolutní odchylka 1 n |xi − x|. Ta už je nenulová (samozřejmě kromě případu, že všechny hodnoty xi jsou stejné) a jakousi informaci o variabilitě sděluje. Problém je však v tom, že součet absolutních hodnot je obtížně matematicky zpracovatelný (např. obtížně se derivuje, apod.). Proto se nejčastěji používá průměrná kvadratická odchylka, nazývaná rozptyl. Rozptyl statistického znaku v populaci označíme σ2 a definujeme jej jako σ2 = 1 n n i=1 (xi − x)2 . (10.5) Rozptyl udává, jak se hodnoty statistického znaku průměrně liší od průměrné hodnoty, ovšem ve druhé mocnině. Výsledek je proto ve čtvercích použité měrné jednotky, což ztěžuje jeho interpretaci. Abychom se dostali zpátky na původní jednotky, rozptyl odmocníme, čímž získáme tzv. směrodatnou odchylku: 150 Základy statistického zpracování dat Směrodatná odchylka σ je odmocnina z rozptylu: σ = √ σ2 = 1 n n i=1 (xi − x)2. Není třeba se obávat, že bychom dostali odmocninu ze záporného čísla, protože rozptyl jako průměrná hodnota z druhých mocnin záporně vyjít nemůže. Výpočet rozptylu je méně pracný, jestliže použijeme o něco jednodušší vzorec, než je (10.5). Jeho odvození není složité. Nejprve roznásobíme (xi − x)2a sumu rozdělíme na dílčí tři sumy: σ2 = 1 n n i=1 (xi − x)2 = 1 n n i=1 (x2 i − 2x · xi + x2 ) = 1 n n i=1 x2 i − 2 n n i=1 x · xi + 1 n n i=1 x2 Z druhé sumy vytkneme průměr x. Poslední suma je rovna nx (sčítáme n-krát tutéž hodnotu x. Celkem máme σ2 = 1 n n i=1 x2 i − 2x 1 n n i=1 xi + x2 n n = 1 n n i=1 x2 i − 2x2 + x2 . Tím se dostáváme k finálnímu vzorci: Rozptyl lze vypočítat jako rozdíl průměru druhých mocnin xi a druhé mocniny prů- měru, σ2 = 1 n n i=1 x2 i − x2 . (10.6) Podobně jako u průměru můžeme při výpočtu rozptylu použít četnosti jednotlivých variant znaku. Rozptyl znaku, který nabývá hodnot x1, x2, . . . , xk s četnostmi ni a relativními četnostmi fi, i = 1, . . . , k, lze vypočítat jako σ2 = 1 n k i=1 (xi − x)2 · ni = 1 n k i=1 x2 i · ni − x2 , případně jako σ2 = k i=1 (xi − x)2 · fi = k i=1 x2 i · fi − x2 . (10.7) 10.4 Charakteristiky variability 151 Obrázky 10.5 a 10.6 ilustrují význam rozptylu. Zkoumali jsme dva statistické znaky se stejným průměrem, ovšem druhý z nich má větší rozptyl než první. Vidíme, že rozdělení relativních četností druhého znaku je širší a plošší než u znaku prvního. 2 4 6 8 10 12 14 16 (xi) 0,1 0,2 0,3 0,4 (fi) Obr. 10.5: Relativní četnosti pro znak s průměrem x . = 9 a rozptylem σ2 . = 1 2 4 6 8 10 12 14 16 (xi) 0,1 0,2 0,3 0,4 (fi) Obr. 10.6: Relativní četnosti pro znak s průměrem x . = 9 a rozptylem σ2 . = 7 Obvykle nemáme k dispozici data pro celou populaci, ale pouze pro vybraný vzorek. Ukazuje se, že jestliže máme výběrový soubor rozsahu n a snažíme se odhadnout rozptyl σ2 celé populace (o rozsahu podstatně větším než n) pomocí vzorce (10.5), dostáváme výsledky o něco menší, než je opravdová hodnota populačního rozptylu. Jedná se o tzv. vychýlený odhad. Proto se zavádí výběrový rozptyl, který je z praktického hlediska důležitější než populační rozptyl σ2 . Výběrový rozptyl značíme s2 a je definován jako s2 = 1 n − 1 n i=1 (xi − x)2 . (10.8) Výběrová směrodatná odchylka se značí s a je to odmocnina z výběrového roz- ptylu, s = √ s2 = 1 n − 1 n i=1 (xi − x)2. (10.9) Protože mezi populačním a výběrovým rozptylem je vztah s2 = n n − 1 σ2 , 152 Základy statistického zpracování dat lze pro výpočet s2 snadno odvodit vztah podobný jako (10.6): s2 = 1 n − 1 n i=1 x2 i − n n − 1 x2 . (10.10) Příklad 10.14. Určete průměr, výběrový rozptyl a výběrovou směrodatnou odchylku znaku, který nabývá hodnot 3, 4, 5, 6, 6, 7, 7, 8. Řešení. Rozsah souboru je n = 8 a průměr je x = 5,75. Rozptyl můžeme vypočítat podle (10.10). Součet druhých mocnin je 8 i=1 x2 i = 32 + 42 + · · · + 82 = 284, takže výběrový rozptyl je s2 = 1 8 − 1 284 − 8 7 5,752 . = 2,786. Výběrová směrodatná odchylka je s = √ 2,786 . = 1,669. Výběrový rozptyl jsme samozřejmě mohli počítat i přímo z definice (10.8): s2 = 1 7 (3 − 5,75)2 + (4 − 5,75)2 + · · · + (8 − 5,75)2 . = 2,786. Výpočet by však byl o něco zdlouhavější. Vzorec (10.10) používáme právě kvůli tomu, že je méně náročný, i když při pohledu na něj nevyniká podstata věci – že vlastně zjišťujeme, jak moc se hodnoty liší od průměru. Důležité vlastnosti rozptylu 1. Jestliže ke všem hodnotám znaku přičteme konstantu a ∈ R, výběrový (ani populační) rozptyl se nezmění: s2 x+a = s2 x. (10.11) 2. Jestliže každou hodnotu znaku vynásobíme konstantou a ∈ R, výsledný rozptyl se změní a2 -krát: s2 a·x = a2 · s2 x. (10.12) Důkaz vztahu (10.11) nebudeme rozepisovat. Spíše si uvědomme podstatu věci: jestliže ke všem xi přičteme konstantu, hodnoty se posunou po číselné ose, posune se i jejich průměr, ale rozptýlenost kolem průměru zůstane stejná. 10.4 Charakteristiky variability 153 Vztah (10.12) lze dokázat podobně jako (10.3) s tím, že už víme, že a · x = a · x: s2 a·x = 1 n − 1 (ax1 − ax)2 + · · · + (axn − ax)2 = a2 n − 1 n i=1 (xi − x)2 = a2 · s2 x. 154 Klasická pravděpodobnost 11 Klasická pravděpodobnost S klasickou pravděpodobností jste se seznámili už na střední škole, ale protože poslouží jako odrazový můstek pro naše další úvahy, zopakujeme si ji. V příkladech, na kterých budeme základní pojmy vysvětlovat, se většinou setkáme s možná poněkud neprakticky vyhlížejícím házením kostkami, vytahováním barevných kuliček z osudí, apod. Neberte to, prosím, jako další důkaz neužitečnosti matematiky. Důvod je ten, že např. házení kostkou si každý snadno představí a můžeme se pak soustředit na matematickou stránku věci. V praktických úlohách bývá formulace zadání často složitá a nepřehledná a člověku může jistou dobu trvat, než zadání rozluští a zjistí, že vlastně potřebuje tutéž úvahu, jako při onom nudném házení kostkami. Teorie pravděpodobnosti se začala rozvíjet v souvislosti s hazardními hrami již v 17. století a jejími zakladateli byli slavní matematici Blaise Pascal (1623 – 1662) a Pierre de Fermat (1601 – 1665). Základní situace je taková, že provádíme nějaký pokus (např. hod mincí nebo kostkou, výběr jedné karty z balíčku, apod.), u kterého je n možných výsledků, přičemž lze očekávat, že při opakování pokusu budou všechny tyto výsledky nastávat stejně často, žádný nebude ve výhodě proti ostatním. Ptáme se, jaká je šance, že nastane výsledek, který je pro nás nějakým způsobem zajímavý (např. padne šestka, vytáhneme si eso, atd.). Tato šance odpovídá poměru počtu možností vyhovujících tomuto „zajímavému výsledku ku počtu všech možných výsledků pokusu. Příklad 11.1. Máme balíček karet na Kanastu: celkem 56 karet, z toho čtyři žolíky. Jak často při sejmutí balíčku dostaneme žolíka? Řešení. Jelikož karet je celkem 56 a žolíky 4, můžeme očekávat, že budeme-li pokus mnohokrát opakovat, žolíka sejmeme přibližně v 4 56 = 1 14 případů, tj. zhruba v 7 % případů. Zatím jsme o pravděpodobnosti mluvili poněkud neurčitě, nyní pojmy upřesníme. 155 Definice 11.2 (Náhodné jevy). Předpokládejme, že provádíme pokus, který může dopadnout n stejně pravděpodobnými způsoby. Označme Ω množinu všech možných výsledků tohoto pokusu, Ω = {ω1, ω2, . . . , ωn}. Množinu Ω nazveme základní prostor. Náhodným jevem budeme rozumět libovolnou podmnožinu množiny Ω. Náhodné jevy budeme zpravidla značit velkými písmeny (A, B, . . . ). Speciálně prázdnou množinu ∅ nazveme jevem nemožným a celou množinu Ω jevem jistým. Jednoprvkové podmožiny, tj. množiny {ωi}, i = 1, . . . , n, nazveme elementární jevy. Definice 11.3 (Klasická pravděpodobnost). Pravděpodobnost jevu A označíme P(A) a definujeme ji jako P(A) = počet možností příznivých jevu A počet všech možností = |A| |Ω| , (11.1) kde symbolem | · | značíme počet prvků množiny. Protože počet příznivých možností nemůže být větší než počet všech možností a počty prvků množin rozhodně nemohou být záporné, pravděpodobnost nemůže být záporná ani přesáhnout jedničku: Pro pravděpodobnost libovolného náhodného jevu A platí 0 ≤ P(A) ≤ 1. Při stanovení počtu možností velmi často pracujeme s různými kombinatorickými pojmy, jako variace s opakováním či bez opakování, kombinace, apod. Stručný přehled kombinatoriky najdete ve sbírce příkladů z pravděpodobnosti. Příklad 11.4. Hodíme dvěma homogenními hracími kostkami, bílou a červenou. Určete pravděpodobnosti následujících jevů: A . . . na bílé kostce padne šestka, B . . . součet ok na obou kostkách bude větší než 10, C . . . na bílé kostce padne vyšší číslo než na červené. Řešení. Při zkoumání pravděpodobnosti jevu A bychom se na červenou kostku nemuseli ohlížet a mohli bychom rovnou říct, že P(A) = 1 6 , protože ze šesti možností, které mohou padnout na bílé kostce, jevu A vyhovuje jediná. Protože však u dalších jevů musíme 156 Klasická pravděpodobnost pracovat s oběma kostkami, zavedeme základní prostor Ω o 36 prvcích. Jednotlivé prvky budou uspořádané dvojice udávající, co padlo na bílé a co na červené kostce: Ω = {(1, 1), (1, 2), . . . , (6, 6)}. Náhodné jevy A, B a C jsou pak A = {(6, 1), (6, 2), . . . , (6, 6)}, B = {(5, 6), (6, 5), (6, 6)}, C = {(2, 1), (3, 1), (3, 2), . . . , (6, 5)}. Množiny Ω, A, B a C jsou znázorněny na obrázku 11.1. ' & $ % (1, 1) (1, 2) (1, 3) (1, 4) (1, 5) (1, 6) (2, 1) (2, 2) (2, 3) (2, 4) (2, 5) (2, 6) (3, 1) (3, 2) (3, 3) (3, 4) (3, 5) (3, 6) (4, 1) (4, 2) (4, 3) (4, 4) (4, 5) (4, 6) (5, 1) (5, 2) (5, 3) (5, 4) (5, 5) (5, 6) (6, 1) (6, 2) (6, 3) (6, 4) (6, 5) (6, 6)     ¨¨¨ ¨¨¨ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ Ω A B C Obr. 11.1: Základní prostor Ω a jevy A, B, C z příkladu 11.4 Počty možností odpovídajících jevům A a B jsou na první pohled patrné: |A| = 6 a |B| = 3. Počet možností vyhovujících jevu C můžeme určit různými způsoby. Z obrázku vidíme, že |C| = 1+2+3+4+5 = 15. Nebo si můžeme uvědomit, že vyloučíme-li případy, kdy na obou kostkách padlo stejné číslo, tak ze zbývajících 30 případů tvoří ty, kdy je větší číslo na bílé kostce, polovinu, takže opět |C| = 30/2 = 15. Hledané pravděpodobnosti jsou tedy P(A) = 6 36 = 1 6 . = 0,167, P(B) = 3 36 = 1 12 . = 0,083, P(C) = 15 36 = 5 12 . = 0,417. Tyto výsledky můžeme interpretovat tak, že kdybychom mnohokrát hodili dvěma kostkami, jev A by nastal zhruba v 16,7 % případů, jev B zhruba v 8,3 % případů a jev C zhruba v 41,7 % případů. V předchozí větě zdůrazněme slova „mnohokrát a „zhruba , protože rozhodně nemůžeme očekávat s jistotou, že by např. ze 36 pokusů právě třikrát padl součet větší než 10 (i když stát se to samozřejmě může). 11.1 Operace s náhodnými jevy 157 11.1 Operace s náhodnými jevy V této kapitole probereme různé operace, které lze s náhodnými jevy provádět. Jelikož jsme jevy definovali vlastně jako množiny, budou tyto operace splývat s množinovými operacemi, které byste měli znát již ze základní školy. 11.1.1 Jev opačný U některých náhodných jevů je snažší určit pravděpodobnost, že se takový jev nestane, než počítat pravděpodobnost zkoumaného jevu přímo. Příklad 11.5. Hodíme dvěma kostkami. Jaká je pravděpodobnost, že součet ok na obou kostkách bude větší než 4? Řešení. Označme jev popsaný v zadání jako A. Už víme, že pro hod dvěma kostkami máme 36 možných výsledků. Kdybychom měli probrat všechny možnosti vyhovující A, bylo by to pracné. Jednodušší je vyloučit případy, kdy součet větší než 4 není. Pohledem na obrázek 11.1 (nebo i z hlavy) zjistíme, že takových možností je celkem 6. Pravděpodobnost jevu A je tedy P(A) = 36 − 6 36 = 30 36 = 5 6 . = 0,833. V tomto příkladu jsme využili tzv. opačný jev: Definice 11.6 (Jev opačný). Opačný jev (nebo též doplněk) k jevu A je jev, který nastane právě tehdy, když nenastane jev A. Označíme jej jako A a platí A = Ω \ A (operace \ je množinový rozdíl), viz obrázek 11.2. Z příkladu 11.5 už jste mnozí vytušili, jaký bude vztah mezi pravděpodobnostmi jevů A a A. Nyní tento vztah odvodíme obecně. Využijeme toho, že počet možností nevyhovujících jevu A dostaneme tak, že od počtu všech možností odečteme počet možností jevu A vyhovujících: P(A) = |A| |Ω| = |Ω| − |A| |Ω| = |Ω| |Ω| − |A| |Ω| = 1 − P(A). 158 Klasická pravděpodobnost Ω A A Obr. 11.2: Opačný jev Pro pravděpodobnost jevu opačného k jevu A platí P(A) = 1 − P(A). (11.2) 11.1.2 Průnik jevů Mnohé jevy jsou zadané několika různými podmínkami, které mají platit zároveň. Definice 11.7 (Průnik jevů). Průnik jevů A a B je jev, který nastane právě tehdy, když nastanou jevy A a B současně, viz obrázek 11.3. Označíme jej jako A ∩ B. Jestliže jevy A a B současně nastat nemohou, tj. A ∩ B = ∅, pak mluvíme o jevech neslučitelných nebo též disjunktních. Příklad 11.8. Popište průniky jevů A a B a A a C z příkladu 11.4 (hod dvěma kostkami) a určete jejich pravděpodobnosti. Řešení. Jev A ∩ B nastane, jestliže na bílé kostce padne šestka a zároveň bude součet ok větší než 10. Tomu odpovídají dvě možnosti, A ∩ B = {(6, 5), (6, 6)}, a tedy P(A ∩ B) = 2 36 = 1 18 . = 0,056. 11.1 Operace s náhodnými jevy 159 Jev A∩C nastane, jestliže na bílé kostce padne šestka a zároveň bude na bílé kostce větší číslo než na červené. Takových možností je 5, A ∩ C = {(6, 1), . . . , (6, 5)}, a tedy P(A ∩ C) = 5 36 . = 0,139. Ω A B A ∩ B        U Obr. 11.3: Průnik jevů Ω A B A ∪ B Obr. 11.4: Sjednocení jevů Poznámka 11.9. Možná si někteří z vás ze střední školy vybavují vzorec P(A ∩ B) = = P(A) · P(B). V této kapitole jej však zatím do žádného rámečku psát nebudeme, dočkáme se jej až v kapitole 14.2, kde vysvětlíme, za jakých podmínek platí. Na tomto místě si povšimněme, že jeho platnost není univerzální – v právě uvedeném příkladu nám vyšlo P(A ∩ B) = 1/18, zatímco P(A) · P(B) = (1/6) · (1/12) = 1/72! 11.1.3 Sjednocení jevů Definice 11.10 (Sjednocení jevů). Sjednocení jevů A a B je jev, který nastane právě tehdy, když nastane alespoň jeden z jevů A a B, viz obrázek 11.4. Označíme jej jako A ∪ B. Příklad 11.11. Popište sjednocení jevů A a B z příkladu 11.4 (hod dvěma kostkami) a určete jeho pravděpodobnost. Navíc popište sjednocení jevu B s jevem D popsaným podmínkou „součet ok bude roven 10 a určete pravděpodobnost tohoto sjednocení. 160 Klasická pravděpodobnost Řešení. Jev A ∪ B nastane, jestliže na bílé kostce padne šestka nebo bude součet ok větší než 10 (případně nastanou oba tyto jevy současně). Už víme, že jevu A odpovídá 6 možností, jevu B vyhovují 3 možnosti, takže by se mohlo zdát, že jevu A ∪ B bude odpovídat 6 + 3 = 9 možností. Z obrázku 11.1 však vidíme, že jev A ∪ B se skládá ze 7 prvků: A ∪ B = {(6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6), (5, 6)}. Kdybychom mechanicky sečetli počty prvků A a B, tak by možnosti, které jsou obsaženy v obou jevech, byly započítány dvakrát. Abychom dostali správný výsledek, musíme jejich počet odečíst. Dohromady máme P(A ∪ B) = 6 + 3 − 2 36 = 7 36 . = 0,194. Jev B ∪ D nastane, jestliže součet ok bude větší nebo rovný 10. Tentokrát jevy B a D nemohou nastat současně, takže stačí sečíst možnosti vyhovující jevu B a D (ty jsou 3) a dostáváme, že P(B ∪ D) = 3 + 3 36 = 6 36 = 1 6 . = 0,167. Zobecníme-li právě provedenou úvahu o počtech prvků dílčích jevů a počtu prvků oběma jevům společným, dostaneme P(A ∪ B) = |A ∪ B| |Ω| = |A| + |B| − |A ∩ B| |Ω| = P(A) + P(B) − P(A ∩ B). Pro pravděpodobnost sjednocení jevů A, B platí P(A ∪ B) = P(A) + P(B) − P(A ∩ B). (11.3) Jsou-li jevy A a B neslučitelné, tj. nemohou-li nastat současně, pak P(A ∪ B) = P(A) + P(B). (11.4) Maplety Odkazy na některé maplety: 1. Kombinatorika – zjištění počtu a výpis všech variací, kombinací, atd. 161 12 Další pravděpodobnostní mo- dely Klasická pravděpodobnost, kterou jsme si připomněli v kapitole 11, není jediný používaný pravděpodobnostní model. Zde si ukážeme dva další: diskrétní a geometrickou pravděpodobnost. Uvidíme, že klasická pravděpodobnost je speciálním případem diskrétní pravdě- podobnosti. 12.1 Diskrétní pravděpodobnost Klasické pravděpodobnost pracuje se situací, kdy pokus má konečný počet možných výsledků, které jsou z hlediska pravděpodobnosti rovnocenné, tj. při velkém počtu opakování pokusu nastávají se stejnou relativní četností. Může se však stát, že máme stále konečný počet možností, které ale rovnocenné nejsou. Nebo je počet možností dokonce nekonečný, ovšem můžeme je uspořádat do posloupnosti – v takovém případě mluvíme o spočetné množině. Definice 12.1. Množina Ω se nazývá spočetná, jestliže její prvky lze uspořádat do nekonečné posloupnosti, tj. Ω = {ω1, ω2, . . . }. Je-li množina konečná nebo spočetná, nazývá se nanejvýš spočetná. Spočetná množina je tedy taková, že na její prvky si lze jednotlivě „ukazovat , lze je „počítat neboli očíslovat je přirozenými čísly. Příkladem spočetné množiny je množina všech přirozených čísel {1, 2, 3, . . . }, množina všech celých čísel, množiny {2, 4, 6, . . . }, {1; 0,1; 0,01; 0,001; . . . }, apod. Příkladem nespočetné množiny je třeba interval 0, 1 nebo množina všech reálných čísel. Jestliže možnosti nejsou rovnocenné ve svém výskytu, nemůžeme již pro výpočet pravděpodobnosti použít vztah (11.1). Máme-li nějaký jev A, nestačí zjistit, kolik možností je v něm obsaženo, ale musíme vzít v potaz i to, jakou „váhu tyto možnosti mají. To nás vede k následující definici diskrétní pravděpodobnosti: 162 Další pravděpodobnostní modely Definice 12.2 (Diskrétní pravděpodobnost). Předpokládejme, že množina všech možných výsledků pokusu Ω je nanejvýš spočetná a jednotlivým elementárním jevům {ωi}, i = 1, 2, . . . jsou přiřazeny pravděpodobnosti P({ωi}) ≥ 0, které mohou být navzájem různé a které splňují ω∈Ω P({ω}) = 1. Pravděpodobnost jevu A ⊆ Ω pak definujeme jako P(A) = ω∈A P({ω}). (12.1) Pravděpodobnost jevu A tedy počítáme tak, že sečteme pravděpodobnosti všech elementárních jevů, které do jevu A spadají. Můžete si rozmyslet, že vztahy (11.2), (11.3) a (11.4), které jsme odvodili pro klasickou pravděpodobnost, zůstávají v platnosti. Klasická pravděpodobnost, definovaná pomocí (11.1), je speciálním případem diskrétní pravděpodobnosti s tím, že P({ωi}) = 1/n pro všechna i = 1, . . . , n. Příklad 12.3. Máme kostku, která není homogenní, takže šestka na ní padá s pravděpodobností 0,75. Jednička padá jen s pravděpodobností 0,01. U všech ostatních čísel jsou pravděpodobnosti stejné. Jaká je pravděpodobnost, že na této kostce padne sudé číslo? Řešení. Množina všech výsledků pokusu je Ω = {ω1, . . . , ω6}, kde ωi značí, že na kostce padlo číslo i, i = 1, . . . , 6. Označme pro stručnost pravděpodobnost jedničky jako p1, pravděpodobnost dvojky jako p2, atd. Vržení sudého čísla označme jako jev A. Pak A = = {ω2, ω4, ω6}.Už víme, že p6 = 0,75, pravděpodobnosti dvojky a čtyřky ale neznáme, jen víme, že budou obě stejné. Pro jejich výpočet použijeme vlastnost, že součet všech pravděpodobností musí dát jedničku: p1 + · · · + p6 = 1 ⇒ 0,01 + 4p2 + 0,75 = 1 ⇒ p2 = 0,06. Pravděpodobnost, že padne sudé číslo, je tedy P(A) = p2 + p4 + p6 = 0,06 + 0,06 + 0,75 = 0,87. Zde byla množina všech výsledků konečná. V dalším příkladu se to změní. Příklad 12.4. Házíme mincí, dokud nepadne líc. Jaká je pravděpodobnost, že budeme muset hodit více než třikrát? Řešení. V tomto případě je množina všech výsledků nekonečná, Ω = {L, RL, RRL, RRRL, RRRRL, . . . } 12.2 Geometrická pravděpodobnost 163 (L znamená líc a R rub). Označíme-li jev, že hodíme více než třikrát (tj. alespoň čtyřikrát), jako A, pak A = {RRRL, RRRRL, . . . } Pro výpočet P(A) by bylo potřeba sečíst nekonečnou řadu čísel, ale naštěstí se tomu můžeme vyhnout. Použijeme pravděpodobnost jevu opačného, tj. toho, že líc padne dříve než na čtvrtý pokus. Pravděpodobnost, že padne hned napoprvé, je 1/2. Pravděpodobnost, že padne nejprve rub a pak líc, je 1/4, protože pro dvojici hodů máme čtyři rovnocenné možnosti: LL, LR, RL a RR. Podobně pravděpodobnost dvou rubů následovaných lícem je 1/8. Takže P(A) = 1 − 1 2 + 1 4 + 1 8 = 1 − 7 8 = 1 8 . Zkuste k tomuto výsledku dojít ještě jednodušším způsobem. Také sami ověřte, že součet všech pravděpodobností zde opravdu dává jedničku. 12.2 Geometrická pravděpodobnost Nyní se od nanejvýš spočetných množin Ω přesuneme k množinám nespočetným. Jistě si dovedete představit pokus, kde všechny možné hodnoty výsledku tvoří určitý interval. Příklad 12.5. Na semaforu pro chodce svítí vždy jednu minutu zelená a tři minuty červená. K semaforu mohu přijít se stejnou pravděpodobností v kterémkoli okamžiku. Jaká je pravděpodobnost, že zrovna bude zelená? Řešení. Intuice napovídá, že výsledek by měl být 1/4, protože zelená je na semaforu čtvrtinu času. Podívejme se, jak by v tomto případě mohla vypadat množina Ω. Za výsledek pokusu teď můžeme považovat dobu v minutách, která uběhla od posledního naskočení zelené. Všechny výsledky tedy tvoří interval Ω = 0, 4). Tomu, že je zelená, odpovídá interval A = 0, 1), který tvoří čtvrtinu Ω. P(A) je podíl délky intervalu A a délky intervalu Ω. V předchozím příkladu byl důležitý předpoklad, že na křižovatku můžeme přijít kdykoli se stejnou pravděpodobností. Znamená to, že se vracíme k požadavku, který jsme měli u klasické pravděpodobnosti, totiž že všechny možné výsledky pokusu jsou stejně pravděpodobné. V našem příkladu byla množina Ω jednorozměrná. Jindy to však může být i nějaká oblast v rovině, prostoru nebo i ve vícerozměrném prostoru. V tom případě bychom nevystačili s délkou, ale potřebovali bychom obsah, případně objem. Ale co s vícerozměrným prostorem? Nebo jak vůbec všechny tyto případy shrnout do jednoho? Odpověď dává tzv. míra oblasti. Definici míry najdete v kapitole 13. Pro tuto chvíli se spokojíme s velmi nepřesným popisem, že míra množiny je veličina, která udává jakousi „velikost této množiny. Teď už můžeme zavést slíbenou geometrickou pravděpodobnost: 164 Další pravděpodobnostní modely Definice 12.6 (Geometrická pravděpodobnost). Jestliže množina všech výsledků pokusu Ω tvoří oblast v Rm , všechny její prvky jsou stejně pravděpodobné a µ(Ω) < ∞, pak pravděpodobnost jevu A ⊆ Ω definujeme jako P(A) = µ(A) µ(Ω) , kde symbolem µ(·) myslíme míru oblasti, tj. pro jednorozměrnou oblast její délku, pro dvourozměrnou obsah a pro třírozměrnou objem. Příklad 12.7. Honza a Marek chodí venčit své psy na louku před domem. Každý z nich tam přichází někdy mezi osmou a devátou hodinou (každý okamžik příchodu je stejně pravděpodobný) a je na louce 15 minut. Jaká je pravděpodobnost, že se Honza s Markem setkají? Řešení. Označme 8 + x . . . čas příchodu Honzy (v hodinách); 8 + y . . . čas příchodu Marka. Víme, že oba přijdou určitě do devíti hodin, tedy 0 ≤ x ≤ 1, 0 ≤ y ≤ 1. Všechny možnosti tak tvoří množinu Ω = {(x, y) : 0 ≤ x ≤ 1, 0 ≤ y ≤ 1}, což je čtverec v rovině, viz obrázek 12.1. Obsah (neboli míra) tohoto čtverce je µ(Ω) = 1 · 1 = 1. Označme dále jako jev A to, že se Honza a Marek setkají. Případům příznivým jevu A odpovídají ty příchody (x, y) obou chlapců, ve kterých se x od y liší nanejvýš o 15 minut, což je 1/4 hodiny. To znamená, že musí platit současně x − 1 4 ≤ y, y ≤ x + 1 4 . Body splňující tyto podmínky jsou na obrázku 12.2. Jev A lze tedy vyjádřit jako množinu bodů v rovině: A = {(x, y) : 0 ≤ x ≤ 1, 0 ≤ y ≤ 1, y ≤ x + 1 4 , y ≥ x − 1 4 }. Obsah (míru) množiny A snadno vypočteme tak, že od celkového obsahu množiny Ω odečteme obsah „zbytku , který v A neleží. Vidíme, že tato oblast je složená ze dvou rovnoramenných pravoúhlých trojúhelníků s odvěsnami o délce 3/4. Kdybychom tyto trojúhelníky přiložili k sobě, dostaneme čtverec o obsahu (3/4)2 . Tedy µ(A) = 1 − 3 4 2 = 1 − 9 16 = 7 16 . 12.2 Geometrická pravděpodobnost 165 0,25 0,5 0,75 1 x 0,25 0,5 0,75 1 y Ω Obr. 12.1: Množina všech výsledků Ω z příkladu 12.7 0,25 0,5 0,75 1 x 0,25 0,5 0,75 1 y Ω A Obr. 12.2: Množina všech příznivých vý- sledků Pravděpodobnost jevu A teď určíme jako podíl míry množiny příznivých případů a míry množiny všech možných případů: P(A) = µ(A) µ(Ω) = 7 16 1 = 7 16 . Zvídavějšího čtenáře možná napadne otázka, co dělat, když všechny možnosti nejsou stejně pravděpodobné. V takovém případě je nutno, podobně jako u diskrétní pravděpodobnosti, nějak započítat „váhy jednotlivých možností, což zde vede na integrál, případně i vícerozměrný. Řešení jednorozměrného případu bude v podstatě obsahem kapitoly 17. Určení obsahu (míry) množiny A bylo v předcházejícím příkladu velmi jednoduché. Obecně tomu tak však zdaleka být nemusí. Příklad 12.8. Náhodně vygenerujeme dvě čísla z intervalu 0, 1 , přičemž všechny hodnoty z tohoto intervalu mohou být vygenerovány se stejnou pravděpodobností. Jaká je pravděpodobnost, že součet třetích mocnin obou čísel bude menší nebo roven jedné pětině a současně součet jejich druhých odmocnin bude větší nebo roven jedné? Řešení. Při řešení budeme postupovat stejně jako v předcházejícím případě. Všechny možnosti opět tvoří množinu Ω = {(x, y) : 0 ≤ x ≤ 1, 0 ≤ y ≤ 1}, takže µ(Ω) = 1. Při určování množiny A využijeme podmínek ze zadání. Dostaneme A = {(x, y) ∈ Ω : x3 + y3 ≤ 1 5 , √ x + √ y ≥ 1}. 166 Další pravděpodobnostní modely Jak vypadá oblast A geometricky? Měli byste vědět, že x2+y2 = r2 je rovnice kružnice se středem v počátku souřadné soustavy o poloměru r. Rovnice x3 + y3 = 1/5 a √ x + √ y = 1 popisují podobné křivky, viz obrázek 12.3. Jen pro zajímavost: Obecně je nerovnicí |x|p + |y|p ≤ 1, kde p ≥ 1, popsaná oblast, někdy nazývaná p-koule. Pro p = 1 je to čtverec v vrcholy [0, −1], [1, 0], [0, 1] a [−1, 0]. Pro p = 2 je to kruh. Se zvyšujícím se p se oblast postupně přibližuje čtverci s vrcholy [1, 1], [−1, 1], [−1, −1] a [1, −1]. Je-li p ∈ (0, 1), je oblast daná nerovnicí |x|p +|y|p ≤ 1 nekonvexní, připomíná čtyřcípou hvězdu. 1 xa b 1 y x3 + y3 = 1 5 √ x + √ y = 1 Ω A Obr. 12.3: Oblast A z příkladu 12.8 Obsah (míru) množiny A vypočteme jako µ(A) = b a 3 1 5 − x3 − (1 − √ x)2 dx, kde a, b jsou průsečíky obou křivek (viz obrázek 12.3). Určit meze a vypočítat integrál nebude jednoduché. Meze a, b jsou x-ovými souřadnicemi řešení soustavy rovnic x3 + y3 = 1 5√ x + √ y = 1. Tuto soustavu nelze vyřešit přesně. Je nutno použít některou z numerických metod z kapitoly 4. Primitivní funkci k 3 1/5 − x3 nelze vyjádřit pomocí elementárních funkcí, takže integrál bude také nutno vypočítat numericky, např. některou z metod uváděných v kapitole 8. Celkový výsledek nakonec bude přibližně P(A) . = 0,150. Jestliže se rozhodneme příslušné obsahy (míry), případně integrační meze, určovat numericky, začne velkou roli hrát problematika přesnosti těchto metod. V příkladu 12.8 si zkuste sami 12.2 Geometrická pravděpodobnost 167 měnit přesnost výpočtu integračních mezí a porovnávejte výsledky integrování (včetně situace, kdy integrál hledáte různými numerickými metodami). Navíc si uvědomte, že v příkladu 12.8 je µ(Ω) = 1, tedy P(A) = µ(A). Porovnejte si chybu v hledané pravděpodobnosti pro případ, že generovaná čísla budou z intervalu 0, 2 , tj. µ(Ω) = 4, nebo pro případ, že budou z 0; 0,8 , tj. µ(Ω) = 0,64. 168 Axiomatická definice pravděpodobnosti 13 Axiomatická definice pravděpo- dobnosti V kapitolách 11 a 12 jsme v definicích pravděpodobnosti (11.3, 12.2 a 12.6) v předpokladech vždy použili slovo „pravděpodobnost nebo formulaci „všechny možnosti jsou stejně pravděpodobné. . . . Pro intuitivní pochopení pojmu pravděpodobnosti to tak (doufejme) stačilo, ale definice byly jakési zacyklené. V této kapitole se pokusíme sjednotit všechny předchozí případy pravděpodobnosti a vyhnout se onomu „zacyklení . Předvedeme, jak lze pravděpodobnost definovat formálně přesně a ukážeme tak zvanou axiomatickou definici pravděpodobnosti. Všechny dříve zavedené typy pravděpodobnosti pak budou její zvláštní případy. Tato kapitola je vhodná pro čtenáře, kteří mají chuť se pocvičit v přemýšlení v abstraktních pojmech. Přízemnější jedinci ji v našem rychlokurzu mohou s klidným svědomím přeskočit. Nejprve musíme přepracovat definici náhodného jevu. V kapitole 11 jsme měli základní prostor Ω a za náhodný jev jsme považovali jakoukoli jeho podmnožinu. Zde vybudujeme systém podmnožin množiny Ω, který nemusí nutně obsahovat všechny podmnožiny. Definice 13.1 (Jevové pole). Buď Ω = ∅ a S systém podmnožin množiny Ω, který má tyto vlastnosti 1. Ω ∈ S, 2. jestliže A ∈ S, pak také A = Ω \ A ∈ S, 3. jestliže Ak ∈ S, k = 1, 2, . . . , pak také ∞ k=1 Ak ∈ S. Pak S nazveme množinovou σ-algebrou a dvojici (Ω, S) nazveme jevovým polem. Množinu A ⊆ Ω nazveme náhodným jevem, jestliže A ∈ S. Dá se ukázat, že z podmínek 1., 2., 3. vyplývá, že s každými dvěma množinami A, B ∈ S obsahuje σ-algebra nejen jejich doplňky (viz podmínka 2.), ale i jejich sjednocení, průnik a rozdíl, tj. σ-algebra je systém uzavřený na obvyklé operace s množinami. Z podmínek 1. a 2. také plyne, že každá σ-algebra musí obsahovat prázdnou množinu ∅. Příklad 13.2. Pro množinu Ω = {1, 2, 3} by příkladem σ-algebry byl systém všech jejích podmnožin, tj. S1 = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}, nebo také systém podmnožin S2 = {∅, {1}, {2, 3}, {1, 2, 3}}. 169 Příklad systému podmnožin, který není σ-algebrou, by byl S3 = {∅, {1}, {2}, {1, 2, 3}}, protože doplněk množiny A = {1}, tj. A = {2, 3}, není prvkem S3. Podobně sjednocení posloupnosti množin A1 = {1}, A2 = {2}, Ak = ∅ pro k = 3, 4, . . . , tj. množina {1, 2}, není prvkem S3. Definice 13.3 (Axiomatická definice pravděpodobnosti). Nechť (Ω, S) je jevové pole. Pak zobrazení P : S → R nazveme pravděpodobností, jestliže splňuje následující tři axiomy: 1. P(Ω) = 1, 2. P(A) ≥ 0 pro každé A ∈ S, 3. jestliže Ak ∈ S, k = 1, 2, . . . , jsou navzájem disjunktní jevy, Ai ∩ Aj = ∅ pro i = j, pak P(A1 ∪ A2 ∪ · · · ) = P(A1) + P(A2) + · · · . Pro libovolný náhodný jev A číslo P(A) nazveme pravděpodobností jevu A. Trojice (Ω, S, P) se nazývá pravděpodobnostní prostor. Pravděpodobnost jsme tedy definovali jako funkci, která každé množině ze σ-algebry S přiřazuje jakousi „velikost , přičemž „velikost celé množiny Ω je rovna jedné. Tímto způsobem zavedená pravděpodobnost je speciálním případem míry, o které jsme již mluvili v kapitole 12. Pro definici míry také potřebujeme mít množinovou σ-algebru, složenou z podmnožin základního prostoru Ω. Místo o jevovém poli zde však mluvíme o měřitelném prostoru (Ω, S) a místo o jevech mluvíme o měřitelných množinách. Definice 13.4 (Míra). Nechť (Ω, S) je měřitelný prostor. Pak zobrazení µ: S → R nazveme mírou, jestliže splňuje následující tři axiomy: 1. µ(∅) = 0, 2. µ(A) ≥ 0 pro každé A ∈ S, 3. jestliže Ak ∈ S, k = 1, 2, . . . , jsou navzájem disjunktní jevy, Ai ∩ Aj = ∅ pro i = j, pak µ(A1 ∪ A2 ∪ · · · ) = µ(A1) + µ(A2) + · · · . Pro libovolnou množinu A ∈ S číslo µ(A) nazveme mírou množiny A. Trojice (Ω, S, µ) se nazývá prostor s mírou. Každé měřitelné množině je takto přiřazeno číslo, které udává „velikost této množiny. Je přirozené požadovat, aby velikost prázdné množiny byla nulová, aby velikost nemohla být záporná a aby v případě, že se množina dá rozepsat jako sjednocení více disjunktních (nepřekrývajících se) množin, platilo, že velikost sjednocení je součtem velikostí jednotlivých množin. Pravděpodobnost je vlastně speciální případ míry, kdy navíc požadujeme, aby míra celé množiny Ω byla jednotková. Jestli vám přijde zvláštní, že v požadavcích na pravděpodobnost není P(∅) = 0, tak vězte, že tato očekávaná podmínka vyplývá z axiomů 1. až 3.: Platí Ω = Ω ∪ ∅ ∪ ∅ ∪ . . . , a tedy, podle třetího axiomu, P(Ω) = P(Ω ∪ ∅ ∪ ∅ ∪ . . . ) = P(Ω) + P(∅) + P(∅) + · · · . Protože podle prvního axiomu je P(Ω) = 1, předchozí rovnost může být splněna jedině tak, že P(∅) = 0. 170 Axiomatická definice pravděpodobnosti Sami si rozmyslete, že klasická pravděpodobnost definovaná pomocí (11.1), kde za jevové pole bereme systém všech podmnožin základního prostoru Ω, splňuje všechny tři axiomy pravděpodobnosti. Stejně tak diskrétní pravděpodobnost definovaná pomocí (12.1). Z axiomů pravděpodobnosti vyplývají vlastnosti, které jsme v kapitole 11 odvodili speciálně pro klasickou pravděpodobnost: P(A) = 1 − P(A) P(A ∪ B) = P(A) + P(B), jestliže A ∩ B = ∅ P(A ∪ B) = P(A) + P(B) − P(A ∩ B) 0 ≤ P(A) ≤ 1 171 14 Podmíněná pravděpodobnost. Závislost a nezávislost náhodných jevů U mnoha pokusů se pravděpodobnost zkoumaného jevu liší v závislosti na tom, jaké byly výchozí podmínky. Nebo se můžeme ptát, jaká je pravděpodobnost nějakého výsledku, když už víme, že první fáze pokusu dopadla určitým způsobem. Abychom byli schopni takovéto situace popisovat, zavedeme pojem podmíněné pravděpodobnosti. Dále se budeme v této kapitole zabývat otázkou, zda se vybrané jevy navzájem ovlivňují. Ukážeme, že v případě tzv. nezávislých jevů se některé výpočty dají zjednodušit. Podmíněnou pravděpodobnost a nezávislost jevů popíšeme u klasické pravděpodobnosti, oba tyto pojmy však lze rozšířit i pro obecný případ. 14.1 Podmíněná pravděpodobnost Příklad 14.1. Zkoušku dělali studenti dvou oborů: Automatizace a Silnoproud. Ze studentů Automatizace uspělo 80 %, ze studentů Silnoproudu 75 %. Jestliže náhodně vybereme jednoho studenta, jaká je pravděpodobnost, že uspěl? Řešení. Záleží na tom, ze kterého oboru vybraný student je. Je-li z Automatizace, je odpověď 0,8. Pokud je ze Silnoproudu, pak 0,75. Ale jak to symbolicky zapsat? Označíme-li jako jev A to, že vybraný student je z Automatizace, jako S to, že je ze Silnoproudu, a jako Z to, že udělal zkoušku, pak pravděpodobnost jevu Z za podmínky, že nastal jev A, zapíšeme jako P(Z|A). Tedy P(Z|A) = 0,8. Podobně P(Z|S) = 0,75 je pravděpodobnost, že student udělal zkoušku, když víme, že je ze Silnoproudu. Jestliže ale nevíme, z jakého oboru student je, pravděpodobnost Z na základě informací ze zadání nejsme schopni určit, záleží na tom, v jakém poměru byly počty studentů obou oborů. 172 Podmíněná pravděpodobnost. Závislost a nezávislost náhodných jevů Pravděpodobnost jevu B za podmínky, že nastal jev A, nazveme podmíněnou pravděpodobností a označíme ji P(B|A). Pro lepší objasnění ukážeme ještě jeden příklad, kde využijeme klasickou pravděpodob- nost. Příklad 14.2. Vypočítejte podmíněné pravděpodobnosti P(A|B), P(B|A) a P(B|A) pro jevy A a B z příkladu 11.4 (hod dvěma kostkami: A. . . na bílé kostce padla šestka, B. . . součet na obou kostkách je větší než 10). Řešení. Připomeňme, že jevy A a B jsou znázorněny na obrázku 11.1. P(A|B) je pravděpodobnost, že na bílé kostce padla šestka, jestliže víme, že součet ok je větší než 10. Muselo se tedy stát, že padlo buď (5, 6), nebo (6, 5), nebo (6, 6). Z těchto tří možností jevu A vyhovují 2, a proto P(A|B) = 2 3 . = 0,667. Podobně P(B|A) je pravděpodobnost, že padl součet větší než 10, jestliže víme, že na bílé kostce je šestka. Máme 6 možností, které mohly nastat, a z nich jevu B vyhovují 2, takže P(B|A) = 2 6 = 1 3 . = 0,333. Pro výpočet P(B|A) si stačí uvědomit, že nyní máme celkem 30 možností, kdy na bílé kostce není šestka, a z toho v jediné je součet větší než 10, takže P(B|A) = 1 30 . = 0,033. Podívejme se teď, jak jsme počítali zadané podmíněné pravděpodobnosti. Místo původního počtu všech možností, tedy počtu prvků množiny Ω, jsme do jmenovatele zlomku dosadili počet možností vyhovujících jevu z podmínky. Pak jsme zjistili, kolik z těchto možností vyhovuje jevu, jehož pravděpodobnost počítáme, tj. určili jsme počet možností vyhovujících oběma jevům. Zapsáno matematicky, máme P(B|A) = |A ∩ B|/|A|. Jestliže tento zlomek rozšíříme výrazem 1/|Ω|, dostaneme P(B|A) = |A ∩ B| |A| = |A ∩ B| |A| · 1 |Ω| 1 |Ω| = |A∩B| |Ω| |A| |Ω| = P(A ∩ B) P(A) . Ukázali jsme, že u klasické pravděpodobnosti platí: 14.2 Závislost a nezávislost náhodných jevů 173 Jestliže P(A) = 0, pak pro podmíněnou pravděpodobnost jevu B za podmínky, že nastal jev A, platí P(B|A) = P(A ∩ B) P(A) . (14.1) Ze vztahu (14.1) plyne P(A ∩ B) = P(A) · P(B|A). (14.2) Vztah (14.1) není radno používat otrocky vždy, když máme počítat podmíněnou pravděpodobnost. Často je lepší určit tuto pravděpodobnost jednoduchou úvahou, jako jsme to udělali v příkladu 14.2. Vztah (14.2) je naopak velmi užitečný pro výpočet pravděpodobnosti průniku. Příklad 14.3. Máme sadu výrobků, z nichž jedna třetina nefunguje. Dále víme, že jedna čtvrtina z celkového počtu výrobků má poškozený obal. Z těch, které mají poškozený obal, jich nefunguje 80 %. Jestliže náhodně vybereme jeden výrobek, jaká je pravděpodobnost, že má poškozený obal a nefunguje? Řešení. Musíme zjistit, jaká část výrobků má obě vlastnosti. Označme jako jev A to, že výrobek má poškozený obal, a jako B to, že nefunguje. Ze zadání víme, že P(A) = 1/4, P(B) = 1/3 a P(B|A) = 0,8 = 4/5. Pak podle (14.2) platí P(A ∩ B) = P(A) · P(B|A) = 1 4 · 4 5 = 1 5 = 0,2. Všimněme si, že informace, že z celkového počtu výrobků nefunguje třetina, byla nadbytečná, taková „lest pro zmatení nepřítele . To je, bohužel, v praktických úlohách zcela běžné. 14.2 Závislost a nezávislost náhodných jevů V příkladu 14.2 jsme viděli, že pravděpodobnost jevu B byla silně ovlivněna tím, zda nastal či nenastal jev A. V jiných případech ale máme jevy, které se navzájem nijak neovlivňují. Příkladem takových jevů jsou třeba výsledky při dvou hodech mincí, výsledky prvního a druhého tahu Sportky, apod. Příklad 14.4. Hodíme dvěma kostkami, bílou a červenou. Označme jevy A. . . na bílé kostce padla šestka, B. . . na červené kostce padlo sudé číslo. Vypočtěte P(B), podmíněné pravděpodobnosti P(B|A) a P(B|A) a nakonec P(A ∩ B). Řešení. Zřejmě platí P(B) = 0,5. Zkoumejme nyní podmíněné pravděpodobnosti. Intuitivně můžeme hned říct, že obě budou také rovny 0,5, protože výsledek na červené kostce 174 Podmíněná pravděpodobnost. Závislost a nezávislost náhodných jevů není nijak ovlivněn výsledkem na bílé. Jestliže věc probereme důsledně a budeme podmíněné pravděpodobnosti počítat přes počty možností pro obě kostky (viz obrázek 11.1), podobně jako v příkladu 14.2, dostaneme P(B|A) = 3 6 = 0,5, P(B|A) = 15 30 = 0,5. Jak se dalo předem tušit, platí P(B) = P(B|A) = P(B|A) – pravděpodobnost jevu B nezávisí na tom, zda nastal jev A. Pro výpočet P(A∩B) si stačí všimnout, že jevu A∩B vyhovují 3 možnosti z celkových 36 ((6, 2), (6, 4), (6, 6)), ale můžeme také použít vzorec (14.2) s tím, že už víme, že P(B|A) = = P(B): P(A ∩ B) = P(A) · P(B|A) = P(A) · P(B) = 1 6 · 1 2 = 1 12 . Právě jsme viděli příklad tzv. nezávislých jevů. Můžete zkusit (pomocí počtů prvků příslušných množin) dokázat, že z toho, že nastoupení či nenastoupení jevu A nijak neovlivní pravděpodobnost jevu B, plyne, že je tomu i naopak, tj. že pro jevy A, B, které mají nenulovou pravděpodobnost, platí P(B|A) = P(B) ⇔ P(A|B) = P(A). Jevy A a B, které mají nenulovou pravděpodobnost, nazveme nezávislé v případě, že pravděpodobnost jevu B není nijak ovlivněna tím, zda jev A nastal nebo nenastal (a naopak), tj. platí-li P(B|A) = P(B), P(A|B) = P(A). (14.3) Je-li pravděpodobnost některého z jevů A, B nulová, pak jevy A, B také označíme za nezávislé. Jestliže jevy A, B nejsou nezávislé, pak jsou závislé. Jestliže nyní ve vzorci (14.2) využijeme podmínku (14.3), dostaneme se k populárnímu vzorci pro pravděpodobnost průniku: Pro navzájem nezávislé jevy platí P(A ∩ B) = P(A) · P(B). (14.4) Pro jevy závislé rovnost (14.4) neplatí, zato lze použít (14.2). 14.3 Obecná definice podmíněné pravděpodobnosti a nezávislosti náhodných jevů 175 Možná se divíte, proč jsme definovali jako nezávislé i dvojice jevů, z nichž jeden měl nulovou pravděpodobnost. Je to jednak proto, že pravděpodobnost takového jevu zůstane nulová, ať jakýkoli jiný jev nastal nebo nenastal, a jednak v podstatě „pro pořádek , aby rovnost (14.4) platila opravdu pouze pro jevy nezávislé. Je-li např. A = ∅, pak i A ∩ B = ∅ a (14.4) platí. Poznámka 14.5. U klasické pravděpodobnosti při výpočtu P(A) vlastně určujeme, jakou část (nebo jaké procento) všech prvků množiny Ω tvoří prvky množiny A. Počítámeli podmíněnou pravděpodobnost P(A|B), ptáme se, jakou část prvků množiny B tvoří prvky, které současně patří i do A (viz příklad 14.3). Jestliže jsou jevy A, B nezávislé, lze to interpretovat tak, že omezíme-li se jen na prvky množiny B, tak prvky A v nich tvoří stejnou část, jakou původně zabíraly v celé množině Ω. 14.3 Obecná definice podmíněné pravděpodobnosti a nezávislosti náhodných jevů Zatím jsme podmíněnou pravděpodobnost P(A|B) počítali úvahou – věděli jsme, že nějaký jev B nastal, tím byl omezen počet všech možností a z nich jsme vybírali ty, které vyhovovaly i jevu A. U axiomatické definice pravděpodobnosti se nedá mluvit konkrétně o nějakých počtech možností, ale zato máme pravděpodobnost definovanou jako „velikost množiny. Proto si můžeme (analogickou úvahou jako v poznámce 14.5) podmíněnou pravděpodobnost jevu A za podmínky B představit tak, že zkoumáme, jakou část B tvoří A∩B. Tím se dostáváme k definici podmíněné pravděpodobnosti: Definice 14.6 (Podmíněná pravděpodobnost). Nechť (Ω, S, P) je pravděpodobnostní prostor, A, B ∈ S, P(B) > 0. Pak číslo P(A|B) = P(A ∩ B) P(B) nazveme pravděpodobnost jevu A za podmínky B. Nezávislost jevů jsme zatím také posuzovali podle konkrétního zadání. Z podstaty věci jsme viděli, jestli se nějaké jevy A, B navzájem ovlivňují či nikoli. Ukázali jsme, že u klasické pravděpodobnosti pro nezávislé jevy platí rovnost (14.4). Tuto rovnost teď použijeme pro definici nezávislosti pro případ, že pracujeme s abstraktním pravděpodobnostním prostorem, kde jevy slovně nijak popsány nejsou. Definice 14.7 (Nezávislost jevů). Řekneme, že náhodné jevy A, B jsou nezávislé, jestliže P(A ∩ B) = P(A) · P(B). 176 Podmíněná pravděpodobnost. Závislost a nezávislost náhodných jevů Příklad 14.8. Víme, že P(A) = 0,4, P(B) = 0,6 a P(A ∪ B) = 0,7. Jsou jevy A, B nezávislé? Řešení. Nejprve určíme pravděpodobnost průniku zadaných jevů: P(A∪B) = P(A)+P(B)−P(A∩B) ⇒ P(A∩B) = P(A)+P(B)−P(A∪B) = 0,4+0,6−0,7 = 0,3. Vidíme, že P(A) · P(B) = 0,4 · 0,6 = 0,24 = 0,3, takže jevy A, B nezávislé nejsou. 14.4 Úplná pravděpodobnost a Bayesův vzorec Vraťme se nyní k příkladu 14.1 a doplňme zadání: Příklad 14.9. Zkoušku dělali studenti dvou oborů: Automatizace a Silnoproud. Studentů Automatizace bylo celkem 60 a uspělo jich 80 %, studentů Silnoproudu bylo 40 a uspělo 75 %. Jestliže náhodně vybereme jednoho studenta, jaká je pravděpodobnost, že uspěl? Řešení. Použijeme označení jevů A, S a Z z příkladu 14.1. K určení P(Z) musíme spočítat, kolik studentů z celkového počtu 100 uspělo. Vidíme, že to bylo 60·0,8+40·0,75 = = 78. Výsledek je tedy P(Z) = 0,78, ale výpočet ještě jednou rozepíšeme, protože se snažíme dojít k obecnějšímu vzorci: P(Z) = 60 · 0,8 + 40 · 0,75 100 = 60 100 · 0,8 + 40 100 · 0,75 = P(A) · P(Z|A) + P(S) · P(Z|S). Zobecněme nyní situaci z příkladu 14.9. Předpokládejme, že množinu všech výsledků Ω lze rozepsat jako sjednocení navzájem disjunktních jevů H1, . . . , Hn, tzv. hypotéz. Hypotézami se myslí možné výchozí stavy, v předchozím příkladu by to byly obory, ze kterých student mohl být. Budeme zkoumat pravděpodobnost určitého jevu A, když známe podmíněné pravděpodobnosti při platnosti jednotlivých hypotéz P(A|Hi), i = 1, . . . , n. Odvodíme nyní vzorec podobný tomu, který jsme ukázali v příkladu 14.9. Jev A můžeme rozdělit na části, které spadají do jednotlivých hypotéz, viz obrázek 14.1, tj. A = (H1 ∩ A) ∪ (H2 ∩ A) ∪ · · · ∪ (Hn ∩ A). Jevy Hi ∩ A, i = 1, . . . , n, jsou navzájem disjunktní, takže pravděpodobnost sjednocení můžeme rozepsat podle (11.4) jako součet jednotlivých pravděpodobností. Na každý sčítanec pak aplikujeme pravidlo o pravděpodobnosti průniku (14.2): P(A) = P(H1 ∩ A) + · · · + P(Hn ∩ A) = P(H1) · P(A|H1) + · · · + P(Hn) · P(A|Hn). Shrnutím právě popsaných úvah je věta o úplné pravděpodobnosti. 14.4 Úplná pravděpodobnost a Bayesův vzorec 177 Ω H1 H2 . . . Hn A Obr. 14.1: Úplná pravděpodobnost Věta 14.10 (O úplné pravděpodobnosti). Nechť H1, H2, . . . , Hn jsou navzájem disjunktní náhodné jevy (tzv. hypotézy) takové, že P(Hi) > 0 pro i = 1, . . . , n a že H1 ∪ H2 ∪ · · · ∪ Hn = Ω. Pak pro každý náhodný jev A platí P(A) = P(H1) · P(A|H1) + P(H2) · P(A|H2) + · · · + P(Hn) · P(A|Hn)(14.5) = n i=1 P(Hi) · P(A|Hi) . Závisí-li tedy pravděpodobnost jevu A na tom, která z možných výchozích hypotéz nastala, můžeme ji počítat podle vzorce (14.5), podobně jako v příkladu 14.9. Někdy jsme postaveni před opačný problém: už víme, jak pokus dopadl, a ptáme se na pravděpodobnost některé z hypotéz. Příklad 14.11. V situaci z příkladu 14.9 jsme náhodně vybrali jednoho studenta, a ten nám radostně oznámil, že zkoušku udělal. Jaká je pravděpodobnost, že je ze Silnoproudu? Řešení. Řešení je snadné: už víme, že zkoušku udělalo 78 studentů, z čehož ze Silnoproudu jich bylo 30. Tedy pravděpodobnost, že student je ze Silnoproudu, když víme, že zkoušku udělal, je P(S|Z) = 30/78. Teď si představme, že nevíme, že studentů je celkem 100, ale pouze to, že z Automatizace jich je 60 % a ze Silnoproudu 40 %. Chceme-li opět vypočítat P(S|Z), stačí určit, jakou část studentů, kteří zkoušku udělali, tvoří studenti ze Silnoproudu. Z celkového počtu (ať už je jakýkoli) zkoušku udělalo 78 % a těch, kdo jsou ze Silnoproudu a mají zkoušku, je 30 %. Výsledek tedy bude tentýž. Rozepíšeme, jak jsme k němu došli, protože za chvíli situaci zobecníme. P(S|Z) = P(S ∩ Z) P(Z) = 0,4 · 0,75 0,6 · 0,8 + 0,4 · 0,75 . 178 Podmíněná pravděpodobnost. Závislost a nezávislost náhodných jevů Obecně pro výpočet tzv. aposteriorní pravděpodobnosti („aposteriori = „po provedení kontroly, experimentu, apod.) některé z hypotéz platí: Věta 14.12 (Bayesův vzorec). Jestliže P(A) > 0, pak pro každé j = 1, . . . , n platí P(Hj|A) = P(Hj) · P(A|Hj) P(A) = P(Hj) · P(A|Hj) P(H1) · P(A|H1) + · · · + P(Hn) · P(A|Hn) . (14.6) Vzorec (14.6) je důsledkem (14.1), (14.2) a (14.5): P(Hj|A) = P(Hj ∩ A) P(A) = P(Hj) · P(A|Hj) P(H1) · P(A|H1) + · · · + P(Hn) · P(A|Hn) . Příklad 14.13. Víme, že pravděpodobnost, že Honza na pálce při baseballu dobře odpálí míč, je 0,1. Pravděpodobnost, že kdokoli jiný z jeho týmu dobře odpálí, je rovna 0,3. V jednom týmu je celkem devět hráčů. Z rádia se dovídáme, že Honzův tým je na pálce, a slyšíme: „Je to zásah! Jaká je pravděpodobnost, že rozhlasový reportér mluví o Honzovi? Řešení. Tento příklad je možná trochu složitější než ten předchozí, protože v něm nejsou žádné konkrétní počty kusů. Představa vedoucí k výsledku je tato: Kdyby se „pokus ze zadání mnohokrát opakoval (tj. opakovaně bychom náhodně vybrali jednoho hráče, který by odpálil), jakou část případů, kdy byl míč zasažen, by tvořily případy, kdy byl na pálce Honza? Neboli: jakou část pravděpodobnosti, že míč bude zasažen, tvoří pravděpodobnost, že míč bude zasažen Honzou? Každopádně musíme určit pravděpodobnost, že míč bude zasažen. Použijeme k tomu vzorec pro úplnou pravděpodobnost (14.5). Označme jevy H1 . . . Honza je na pálce, H2 . . . někdo jiný z Honzova týmu je na pálce. Tyto dva jevy tvoří disjunktní pokrytí, protože vyčerpávají všechny situace, které nás zajímají, a přitom nemohou nastat současně. Dále A . . . Honzův tým zasáhl míč. P(A) = P(H1) · P(A|H1) + P(H2) · P(A|H2) = 1 9 · 0,1 + 8 9 · 0,3. Naším úkolem je zjistit P(H1|A), k tomu použijeme (14.6): P(H1|A) = P(H1) · P(A|H1) P(A) = 1 9 · 0,1 1 9 · 0,1 + 8 9 · 0,3 = 0,04. 179 15 Diskrétní náhodné veličiny Zatím jsme zkoumali výsledky náhodných procesů, které jsme popisovali slovně, například „náhodně vybraný student udělal zkoušku . Nyní se zaměříme na náhodné procesy, jejichž výsledek se dá popsat pomocí jediného čísla. 15.1 Náhodné veličiny – úvod Procesů, kde nás zajímá číselný výsledek, je celá řada. Můžeme sledovat životnost výrobku, počet přístupů na počítačový server, atd. Náhodná veličina (nebo též náhodná proměnná) je veličina X, jejíž hodnota je jednoznačně určena výsledkem náhodného pokusu. Je to funkce, která prvkům množiny Ω přiřazuje reálná čísla, X : Ω → R. Náhodné veličiny budeme značit velkými písmeny, nejčastěji X. „Vědecká definice náhodné veličiny pracuje s pravděpodobnostním prostorem zavedeným v kapitole 13. Definice 15.1 (Náhodná veličina). Nechť (Ω, S, P) je pravděpodobnostní prostor. Funkce X : Ω → R taková, že pro každé x ∈ R je {ω ∈ Ω: X(ω) ≤ x} ∈ S, se nazývá náhodná veličina na pravděpodobnostním prostoru (Ω, S, P). Příklad 15.2. Hodíme dvěma mincemi. Náhodná veličina X udává, kolikrát padl líc. Množina Ω všech možných výsledků pokusu má 4 prvky, Ω = {RR, RL, LR, LL}, kde R znamená rub a L líc. Náhodná veličina X jednotlivým možnostem přiřazuje číselné hodnoty: X(RR) = 0, X(RL) = 1, X(LR) = 1, X(LL) = 2. Náhodný jev, který by byl slovně popsán „líc padl právě jednou , lze nyní vyjádřit pomocí náhodné veličiny X jako [X = 1]. Podobně jev „líc padl aspoň jednou se pomocí X zapíše jako [X ≥ 1]. 180 Diskrétní náhodné veličiny Obecně zápisem [X = x] rozumíme náhodný jev složený ze všech ω ∈ Ω, pro která je X(ω) = x, tedy [X = x] = {ω ∈ Ω: X(ω) = x}, analogicky pro nerovnost [X < x] = = {ω ∈ Ω: X(ω) < x}, apod. Jak asi tušíte, hlavním cílem bude počítat pro náhodné veličiny různé pravděpodobnosti. Abychom se vyhnuli nadměrnému množství závorek, nebudeme pravděpodobnosti zapisovat ve tvaru P([X = 1]), ale pouze P(X = 1), a podobně. Zápis P(X = x) čteme: „Pravděpodobnost, že náhodná veličina velké X nabude hodnoty malé x. Podobně pro P(X < x), P(X ≥ x), atd. Příklad 15.3. Pro náhodnou veličinu X z příkladu 15.2 platí P(X = 1) = 2 4 = 0,5, P(X ≤ 1) = 3 4 = 0,75. 15.1.1 Základní typy náhodných veličin Náhodné veličiny lze rozdělit velmi podobně jako číselné statistické znaky, o kterých jsme mluvili v kapitole 10. Některé mohou nabývat pouze konečně mnoha hodnot, typickým příkladem jsou počty prvků s určitou vlastností. Jiné se mohou rovnat libovolné hodnotě z nějakého intervalu, příkladem by byla již zmíněná životnost výrobku. Nejdůležitější typy náhodných veličin jsou: • diskrétní – mohou nabývat pouze hodnot z určité konečné nebo spočetné množiny • spojité – mohou nabývat kterékoli hodnoty z určitého intervalu Podotkněme, že v rámečku je pouze hrubá charakteristika, nikoli přesná definice diskrétní a spojité náhodné veličiny. Pro základní představu to však postačí. Metody různých výpočtů se budou lišit podle toho, jakého typu zkoumaná náhodná veličina bude. Dále se v této kapitole budeme věnovat diskrétním náhodným veličinám. Spojité budou obsahem kapitoly 17. 15.2 Diskrétní náhodné veličiny 181 15.2 Diskrétní náhodné veličiny Definice 15.4 (Diskrétní náhodná veličina). Náhodná veličina X se nazývá diskrétní, jestliže její obor hodnot je nanejvýš spočetná množina. To znamená, že X se buď může rovnat jen konečně mnoha hodnotám, nebo sice nekonečně mnoha hodnotám, ale tyto hodnoty lze seřadit do posloupnosti. Hodnoty, kterých diskrétní náhodná veličina může nabývat, označíme x1, x2, . . . a jejich počet označíme n, přičemž n může být i ∞. Diskrétní náhodnou veličinou je například: • počet líců při dvou hodech mincí, • součet ok při hodu dvěma kostkami, • počet kvalitních výrobků ve vyrobené denní dávce 100 kusů, • počet přístupů na server za minutu. 15.2.1 Pravděpodobnostní a distribuční funkce Při popisu náhodných veličin diskrétního typu nás budou zajímat pravděpodobnosti, že se náhodná veličina bude rovnat jednotlivým možným hodnotám – tzv. rozdělení pravdě- podobností. Definice 15.5 (Pravděpodobnostní funkce). Pravděpodobnostní funkce diskrétní náhodné veličiny X je funkce p: R → 0, 1 , která je definována jako p(x) = P(X = x) (15.1) pro všechna x z oboru hodnot náhodné veličiny X a p(x) = 0 jinak. Vztah (15.1) čteme: „Hodnota funkce malé p v bodě malé x je rovna pravděpodobnosti, že náhodná veličina velké X se bude rovnat malému x. Jestliže sečteme hodnoty pravděpodobnostní funkce pro všechna xi z oboru hodnot náhodné veličiny X (i = 1, . . . , n; n může být i ∞), musíme dostat jedničku: Náhodná veličina se nemůže rovnat žádným dvěma různým xi, xj současně a nemůže se rovnat ničemu jinému než některému xi, a proto n i=1 p(xi) = 1. 182 Diskrétní náhodné veličiny Poznámka 15.6. Někdy se místo názvu pravděpodobnostní funkce používá označení frekvenční funkce a místo malého p se funkce značí malým f. Příklad 15.7. V televizní soutěži dostává soutěžící postupně otázky, u kterých jsou vždy tři možnosti odpovědi na výběr. Jestliže soutěžící určí odpověď správně, dostane další otázku. Jestliže odpověď neuhodne, soutěž končí. Nanejvýš však takto může dostat čtyři otázky, pak soutěž končí každopádně. Náhodná veličina X udává, na kolik otázek soutěžící správně odpoví, jestliže všechny odpovědi pouze náhodně tipuje. Najděte pravděpodobnostní funkci náhodné veličiny X. Pak vypočtěte pravděpodobnost, že soutěžící správně odpoví alespoň na dvě otázky. Řešení. Náhodná veličina X může nabývat pouze hodnot z množiny {0, 1, 2, 3, 4}. Určíme nyní příslušné hodnoty pravděpodobnostní funkce. Podstatné pro nás bude, že u jedné otázky má soutěžící šanci 1 : 3, že uhodne. Hodnota p(0) udává pravděpodobnost, že soutěžící neuhodne ani jednu otázku. To se stane pouze v případě, kdy na první otázku odpoví špatně (pak už žádnou další nedostane). Tedy p(0) = P(X = 0) = 2 3 . Hodnota p(1) udává pravděpodobnost, že správně odpoví na jednu otázku. To znamená, že na první otázku musí odpovědět dobře, ale na druhou už ne: p(1) = P(X = 1) = 1 3 · 2 3 = 2 9 . Podobně pravděpodobnosti dvou a tří správných odpovědí budou p(2) = P(X = 2) = 1 3 · 1 3 · 2 3 = 2 27 , p(3) = P(X = 3) = 1 3 3 · 2 3 = 2 81 . Po čtvrté otázce už žádná další nenásleduje, takže p(4) = P(X = 4) = 1 3 4 = 1 81 . Pro kontrolu ověříme, že součet všech pravděpodobností dává jedničku: 2 3 + 2 9 + 2 27 + 2 81 + 1 81 = 54 + 18 + 6 + 2 + 1 81 = 1. Ještě si uvědomme, že pro jakoukoli hodnotu x /∈ {0, 1, 2, 3, 4} je p(x) = 0. Hodnoty pravděpodobnostní funkce můžeme zapsat do tabulky: x 0 1 2 3 4 jinak p(x) 2 3 2 9 2 27 2 81 1 81 0 15.2 Diskrétní náhodné veličiny 183 Graf pravděpodobnostní funkce je na obrázku 15.1. Pravděpodobnostní funkce se však často znázorňuje i pomocí sloupcového grafu, viz 15.2. Ještě zbývá vypočítat pravděpodobnost, že soutěžící uhodne alespoň dvě odpovědi. Tomu odpovídají možnosti, že uhodne dvě, tři nebo čtyři, a tedy P(X ≥ 2) = P(X = 2) + P(X = 3) + P(X = 4) = p(2) + p(3) + p(4) = = 2 27 + 2 81 + 1 81 = 1 9 . = 0,111. 1 2 3 4 x 0,2 0,4 0,6 y Obr. 15.1: Graf pravděpodobnostní funkce z příkladu 15.7 1 2 3 4 x 0,2 0,4 0,6 y Obr. 15.2: Sloupcový graf pravděpodobnostní funkce Poznámka 15.8. Kdyby se soutěže popsané v předchozím příkladu zúčastnilo n soutěžících (každý by odpovědi jen tipoval) a zaznamenali bychom, na kolik otázek odpověděli správně, dostali bychom statistický soubor o rozsahu n, ve kterém by sledovaný statistický znak nabýval hodnot 0 až 4. Relativní četnosti těchto hodnot by pro velké n byly blízké hodnotám pravděpodobnostní funkce. Na obrázcích 15.3 a 15.4 vidíme relativní četnosti pro n = 100 a n = 10 000 soutěžících (hra byla simulována na počítači). Hodnoty pravděpodobnostní funkce jsou v obrázku vyznačeny červenými hvězdičkami. Všimněte si, že pro vyšší n jsou relativní četnosti hodně blízké hodnotám funkce p. Kromě pravděpodobnostní funkce se k popisu náhodných veličin používá distribuční funkce. Je to jistá analogie kumulativních relativních četností, se kterými jsme se setkali v kapitole 10. Definice 15.9 (Distribuční funkce). Distribuční funkce náhodné veličiny X je funkce F : R → 0, 1 , která je definována jako F(x) = P(X ≤ x). (15.2) 184 Diskrétní náhodné veličiny 1 2 3 4 x 0,2 0,4 0,6 y Obr. 15.3: Relativní četnosti pro simulaci se 100 soutěžícími 1 2 3 4 x 0,2 0,4 0,6 y Obr. 15.4: Relativní četnosti pro simulaci s 10 000 soutěžícími Vztah (15.2) čteme: „Hodnota funkce F v bodě malé x je rovna pravděpodobnosti, že náhodná veličina velké X nabude hodnoty menší nebo rovné malému x, tj. hodnoty z intervalu (−∞, x . Definice 15.9 platí univerzálně pro všechny náhodné veličiny, nejen pro ty diskrétní. Zdůrazněme, že písmeno F v označení funkce je velké. Funkci označenou malým f budeme používat u spojitých náhodných veličin a bude mít jiný význam. Poznámka 15.10. Někdy se používá také definice F(x) = P(X < x), tj. s ostrou nerovností. Tuto definici lze nalézt i ve starších skriptech pro FEKT a FIT i ve starší verzi sbírky z pravděpodobnosti. A proto pozor: když budete zkoumat nějaký příklad ze starší verze sbírky, resp. ze starších zadání písemek, může se stát, že předváděné řešení nebude v souladu s definicí (15.2). My se však striktně budeme držet definice s nerovností neostrou! Příklad 15.11. Najděte distribuční funkci náhodné veličiny z příkladu 15.7. Řešení. Nejprve najdeme hodnoty distribuční funkce v bodech z množiny {0, 1, 2, 3, 4} a potom se podíváme, jak se distribuční funkce chová jinde. Hodnota distribuční funkce v bodě x = 0 je F(0) = P(X ≤ 0). Počet uhodnutých odpovědí může být menší nebo roven nule jedině tím způsobem, že je roven nule, a proto F(0) = P(X ≤ 0) = P(X = 0) = p(0) = 2 3 . Hodnota v bodě x = 1 je P(X ≤ 1). Má-li být počet uhodnutých odpovědí menší nebo roven 1, znamená to, že může být buď nula, nebo jedna, a proto F(1) = P(X ≤ 1) = P(X = 0) + P(X = 1) = p(0) + p(1) = 2 3 + 2 9 = 8 9 . 15.2 Diskrétní náhodné veličiny 185 Podobně pokračujeme dál. Při výpočtu vždy můžeme využít hodnotu funkce F v předchozím bodě: F(2) = P(X ≤ 2) = p(0) + p(1) + p(2) = F(1) + p(2) = 2 3 + 2 9 + 2 27 = 26 27 , F(3) = P(X ≤ 3) = p(0) + p(1) + p(2) + p(3) = F(2) + p(3) = 26 27 + 2 81 = 80 81 , F(4) = P(X ≤ 4) = p(0) + p(1) + p(2) + p(3) + p(4) = F(3) + p(4) = 80 81 + 1 81 = 1. Tabulka hodnot pak je x 0 1 2 3 4 jinak F(x) 2 3 8 9 26 27 80 81 1 viz níže Na rozdíl od pravděpodobnostní funkce distribuční funkce v jiných než tabulkových bodech není nulová (nebo aspoň ne všude). V našem příkladu je F(x) rovno nule pro všechna x < 0, protože např. F(−1) by byla pravděpodobnost P(X ≤ −1) a počet správných odpovědí menší nebo roven −1 být nemůže. Dosadíme-li do F jakékoli číslo větší než 4, dostaneme jedničku: např. F(6) = P(X ≤ 6) = 1, protože počet správných odpovědí je zaručeně menší než 6 (otázky byly maximálně 4). Ještě zbývají hodnoty, které leží mezi tabulkovými body. Dosadíme-li například do F nějaké x ∈ (2, 3), řekněme x = 2,5, dostaneme F(2,5) = P(X ≤ 2,5). Počet správných odpovědí je menší nebo roven 2,5, jestliže nabývá některé z hodnot 0, 1, 2, takže F(2,5) je stejná jako F(2). Podobně F(3,1) = F(3), atd. Dohromady dostáváme F(x) =    0 pro x ∈ (−∞, 0), 2 3 pro x ∈ 0, 1) , 8 9 pro x ∈ 1, 2) , 26 27 pro x ∈ 2, 3) , 80 81 pro x ∈ 3, 4) , 1 pro x ∈ 4, ∞) . Graf distribuční funkce je na obrázku 15.5, věnujte pozornost plným a prázdným kroužkům v tabulkových bodech. Zobecněním úvah z předchozího příkladu lze ukázat, že distribuční funkce diskrétní náhodné veličiny má následující vlastnosti: 186 Diskrétní náhodné veličiny 1 2 3 4 x 1 y y = F(x) Obr. 15.5: Graf distribuční funkce z příkladu 15.11 Vlastnosti distribuční funkce diskrétní náhodné veličiny 1. F(x) = xi≤x p(xi) 2. Graf funkce F má schodovitý tvar: je po částech konstantní, schody jsou v bodech xi a jejich výšky jsou hodnoty pravděpodobnostní funkce p(xi), tj. p(xi) = F(xi) − lim x→x− i F(x). Jsou-li hodnoty xi, i = 1, . . . , n, seřazené vzestupně podle velikosti, tj. x1 < x2 < < x3 < . . . , lze poslední vztah (možná srozumitelněji) zapsat jako p(x1) = F(x1), p(xi) = F(xi) − F(xi−1) pro i = 2, 3, . . . Z definice distribuční funkce coby „kumulativní pravděpodobnosti vyplývají další vlastnosti, které platí univerzálně, tj. nejen pro diskrétní náhodné veličiny. 15.2 Diskrétní náhodné veličiny 187 Vlastnosti distribuční funkce jakékoli náhodné veličiny 1. 0 ≤ F(x) ≤ 1 pro každé x ∈ R, 2. F je neklesající, tj. když a < b, pak F(a) ≤ F(b), 3. lim x→−∞ F(x) = 0, lim x→∞ F(x) = 1, 4. P(X > a) = 1 − F(a) pro každé a ∈ R, 5. P(a < X ≤ b) = F(b) − F(a) pro každé a, b ∈ R, a < b 6. F je zprava spojitá, tj. lim t→x+ F(t) = F(x). Body 1. až 5. vysvětlíme podrobněji. 1. F(x) udává pravděpodobnost, takže musí být mezi 0 a 1. 2. Je-li a < b, pak F(b) udává pravděpodobnost jevu „širšího než F(a): F(b) = P(X ≤ b) = P(X ≤ a) + P(a < X ≤ b) = F(a) + ≥0 P(a < X ≤ b) . Tedy F(b) nemůže být menší než F(a). 3. S rostoucím x se rozšiřuje oblast, kam náhodná veličina X může spadat. Pro x → ∞ se jev [X ≤ x] „blíží jevu jistému, takže F(x) → 1. Pro x → −∞ se [X ≤ x] „blíží jevu nemožnému, a tedy F(x) → 0. Už jsme viděli, že pro náhodnou veličinu s ohraničeným oborem hodnot je F(x) = 0 pro každé x < x1 a F(x) = 1 pro x ≥ xn. 4. [X > a] je jev opačný k [X ≤ a], takže P(X > a) = 1 − P(X ≤ a) = 1 − F(a). 5. Jev [a < X ≤ b] dostaneme tak, že z jevu [X ≤ b] „odřízneme , tj. množinově odečteme, jev [X ≤ a]. Tedy P(a < X ≤ b) = P(X ≤ b) − P(X ≤ a) = F(b) − F(a). 15.2.2 Závislost a nezávislost náhodných veličin Podobně, jako jsme v kapitole 14.2 zkoumali závislost a nezávislost náhodných jevů, můžeme zkoumat i závislost či nezávislost náhodných veličin. Příklad 15.12. Hodíme dvěma kostkami. Náhodná veličina X udává počet ok na první kostce, náhodná veličina Y počet ok na druhé kostce a náhodná veličina Z součet ok na obou kostkách. Intuitivně je zřejmé, že náhodné veličiny X a Y jsou nezávislé, zatímco dvojice X, Z a Y , Z nezávislé nejsou. Už jsme ukázali, že pro nezávislé jevy platí P(A ∩ B) = P(A) · P(B). 188 Diskrétní náhodné veličiny Přesněji: v kapitole 14.3 byla nezávislost pomocí tohoto vztahu definována. Podobně zavedeme nezávislost dvou náhodných veličin. Následující definice se týká všech náhodných veličin, nikoli pouze diskrétních. Definice 15.13 (Nezávislost náhodných veličin). Dvě náhodné veličiny X, Y nazveme nezávislé, jestliže pro každé dva intervaly I1, I2 ⊆ R jsou nezávislé náhodné jevy [X ∈ I1] a [Y ∈ I2] neboli jestliže P([X ∈ I1] ∩ [Y ∈ I2]) = P(X ∈ I1) · P(Y ∈ I2). Pro diskrétní náhodné veličiny můžeme nezávislost popsat také pomocí pravděpodobnostní funkce. Diskrétní náhodné veličiny X a Y jsou nezávislé, jestliže pro každé x, y ∈ R platí P([X = x] ∩ [Y = y]) = P(X = x) · P(Y = y). 15.2.3 Střední hodnota Střední hodnota náhodné veličiny je analogie aritmetického průměru statistického znaku. Vraťme se k příkladu 15.7. Kdybychom soutěž mnohokrát opakovali a zaznamenávali počty správných odpovědí, dostali bychom řadu čísel z množiny {0, 1, 2, 3, 4} (viz též poznámka 15.8). Představme si, že z těchto čísel chceme spočítat aritmetický průměr. Podle (10.1) pro výpočet průměru můžeme použít relativní četnosti jednotlivých variant znaku. Je-li počet pokusů velký, jsou tyto relativní četnosti blízké hodnotám pravděpodobnostní funkce. Definice 15.14 (Střední hodnota diskrétní náhodné veličiny). Střední hodnotu diskrétní náhodné veličiny X označíme EX (jiná používaná značení: E(X), µ(X), µ) a definujeme ji vztahem EX = n i=1 xi · p(xi). (15.3) Střední hodnota je tedy vážený průměr možných hodnot náhodné veličiny X. 15.2 Diskrétní náhodné veličiny 189 Poznámka 15.15. Označení E pochází z latinského slova „expectatio = „očekávání . Anglicky se střední hodnota řekne „expected value =„očekávaná hodnota nebo též „mean = „hlavní hodnota . Příklad 15.16. Vypočtěte střední hodnotu náhodné veličiny X z příkladu 15.7. Řešení. EX = 0 · 2 3 + 1 · 2 9 + 2 · 2 27 + 3 · 2 81 + 4 · 1 81 = 40 81 . = 0,494. Při mnoha opakováních soutěže tedy lze očekávat, že průměrná hodnota počtu uhodnutých odpovědí bude někde kolem 0,494. Střední hodnota (coby očekávaný průměr) musí vždy vyjít v mezích oboru hodnot náhodné veličiny X. Kdyby nám u předchozího příkladu vyšlo např. EX = 5, byla by to neklamná známka nějaké chyby při výpočtu, protože soutěžící by těžko mohli průměrně uhodnout 5 otázek z maximálně 4 položených. U mnoha náhodných veličin je střední hodnota blízká nebo dokonce rovná nejpravděpodobnější hodnotě, viz kapitoly 16.2 nebo 19. Není to však pravidlo, viz kapitola 18.2. Pro aritmetický průměr platily vztahy (10.2)–(10.4). Analogicky pro střední hodnotu platí: Vlastnosti střední hodnoty 1. Jestliže X a Y jsou náhodné veličiny, pak E(X ± Y ) = EX ± EY. (15.4) 2. Jestliže X je náhodná veličina a c ∈ R, pak E(cX) = cEX. (15.5) 3. Jestliže X a Y jsou náhodné veličiny a a, b, c ∈ R, pak E(a + bX + cY ) = a + bEX + cEY. 4. Jestliže X a Y jsou nezávislé náhodné veličiny, pak E(X · Y ) = EX · EY. 15.2.4 Rozptyl S pojmem rozptyl už jsme se setkali u statistických souborů. Pro náhodné veličiny je situace analogická: zkoumáme, jak jsou možné hodnoty náhodné veličiny rozptýleny kolem 190 Diskrétní náhodné veličiny střední hodnoty EX. U statistických znaků jsme rozptyl mohli počítat pomocí relativních četností podle vzorců 10.7. Nahradíme-li relativní četnosti teoretickými pravděpodobnostmi, dostaneme rozptyl diskrétní náhodné veličiny. Definice 15.17 (Rozptyl a směrodatná odchylka diskrétní náhodné veličiny). Rozptyl náhodné veličiny X je DX = E(X − EX)2 . (15.6) Používá se též termín disperze nebo variance a jiná označení jsou V(X), σ2 . Směrodatná odchylka σ je odmocnina z rozptylu: σ = √ DX. U diskrétních náhodných veličin rozptyl počítáme jako DX = n i=1 (xi − EX)2 · p(xi) = n i=1 x2 i · p(xi) − (EX)2 . (15.7) Příklad 15.18. Vypočtěte rozptyl a směrodatnou odchylku náhodné veličiny X z příkladu 15.7. Řešení. Pro výpočet rozptylu potřebujeme znát střední hodnotu EX. Tu už jsme spočítali v příkladu 15.16, EX = 40/81. Rozptyl je tedy DX = 02 · 2 3 + 12 · 2 9 + 22 · 2 27 + 32 · 2 81 + 42 · 1 81 − 40 81 2 = 76 81 − 40 81 2 . = 0,694. Směrodatná odchylka je σ . = √ 0,694 . = 0,833. Podobně jako pro rozptyl statistického znaku (viz (10.11), (10.12)) platí pro rozptyl náhodné veličiny: 15.2 Diskrétní náhodné veličiny 191 Vlastnosti rozptylu 1. DX ≥ 0 2. Jestliže a ∈ R, pak D(a + X) = DX. 3. Jestliže a ∈ R, pak D(aX) = a2 DX. (15.8) 4. Jestliže a, b ∈ R, pak D(a + bX) = b2 DX. 5. Jestliže X a Y jsou nezávislé náhodné veličiny, pak D(X ± Y ) = DX + DY. (15.9) 192 Významná diskrétní rozdělení pravděpodobnosti 16 Významná diskrétní rozdělení pravděpodobnosti Některé modely rozdělení pravděpodobnosti mají časté využití v praxi, a proto mají vlastní názvy. Pro taková rozdělení známe jejich vlastnosti – pravděpodobnostní funkci, střední hodnotu a rozptyl, případně i další charakteristiky. Statistické softwary mívají pro práci s těmito rozděleními speciální funkce. Při řešení praktických problémů pak stačí rozeznat typ rozdělení modelu, kterému se reálná situace blíží, a dosadit do příslušných vzorců. 16.1 Alternativní rozdělení Nejjednodušší rozdělení je alternativní, kdy náhodná veličina nabývá hodnoty 0 nebo 1 podle toho, zda se pokus podařil nebo nepodařil. Taková náhodná veličina by sama o sobě moc zajímavá nebyla, ale používá se pro odvození složitějších vztahů. Příklad 16.1. Střelec vystřelí do terče, pravděpodobnost zásahu je 0,8. Náhodná veličina X udává, jestli trefil: položíme X = 1, jestliže ano, X = 0, jestliže ne. Najděte pravděpodobnostní funkci, vypočtěte střední hodnotu a rozptyl náhodné veličiny X. Řešení. Pravděpodobnostní funkce je x 0 1 jinak p(x) 0,2 0,8 0 Střední hodnota je EX = 0 · 0,2 + 1 · 0,8 = 0,8 a rozptyl je DX = 02 · 0,2 + 12 · 0,8 − 0,82 = 0,8 · (1 − 0,8) = 0,16. Jestliže právě uvedený příklad zobecníme – nebude řeč zrovna o střílení a pravděpodobnost úspěchu nebude konkrétně 0,8, nýbrž nějaké p ∈ (0, 1), pak bude příslušná náhodná veličina popsána takto: 16.2 Binomické rozdělení 193 Provádíme pokus, u kterého úspěch nastane s pravděpodobností p a neúspěch s pravděpodobností 1 − p. Náhodná veličina X, která udává, zda úspěch nastal (X = 1), nebo nenastal (X = 0), má alternativní rozdělení pravděpodobnosti, píšeme X ∼ A(p). Pravděpodobnostní funkce: p(0) = 1 − p, p(1) = p, střední hodnota EX = p, rozptyl DX = p(1 − p). 16.2 Binomické rozdělení Uvažujme experiment takové povahy, že mohou nastat jen dva různé výsledky, které se navzájem vylučují (nemůže k nim dojít současně): „úspěch a „neúspěch („úspěch nemusí znamenat nic světoborného; označuje se tímto termínem proto, že se jedná o ten ze dvou možných výsledků, na který se ve svých úvahách chceme zaměřit). Pravděpodobnost úspěchu je p, pravděpodobnost neúspěchu 1−p. Tento pokus n-krát nezávisle zopakujeme. Slovo „nezávisle znamená, že výskyt úspěchu při jednom opakování experimentu nemá vliv na to, zda při druhém a dalších opakováních nastane úspěch nebo ne. Za této situace budeme počítat, kolikrát v celkovém počtu n pokusů nastal úspěch. Náhodná veličina X udávající počet úspěchů v n nezávislých pokusech má binomické rozdělení pravděpodobnosti, což budeme zapisovat jako X ∼ Bi(n, p). Dobrý modelový příklad pro tuto situaci je opakované házení kostkou: Příklad 16.2. Hážeme čtyřikrát kostkou. Náhodná veličina X udává, kolikrát přitom padne šestka. Najděte pravděpodobnostní funkci náhodné veličiny X a určete její střední hodnotu a rozptyl. Řešení. Pravděpodobnost, že při jednom hodu padne šestka, je p = 1/6, a pravděpodobnost, že šestka nepadne, je 1 − 1/6 = 5/6. Hody jsou navzájem nezávislé, tj. pokud v prvním hodu padla šestka, nemá to vliv na to, zda ve druhém hodu padne nebo ne. Tedy veličina X, která měří počet šestek při čtyřech hodech, má binomické rozdělení pravděpodobnosti s parametry n = 4, p = 1/6. Pro názornost můžeme vypsat všechny možnosti, které při čtyřech hodech mohou nastat. Symbolem o myslíme číslo jiné než šestku: oooo 6ooo 66oo 666o 6666 o6oo 6o6o 66o6 oo6o 6oo6 6o66 ooo6 o66o o666 o6o6 oo66 194 Významná diskrétní rozdělení pravděpodobnosti Výsledky jsou uspořádané tak, aby v prvním sloupci nebyla žádná šestka, ve druhém jedna, atd., až v posledním jsou samé šestky. Možností je celkem 16, ale nejsou všechny stejně pravděpodobné. Například P(6oo6) = 1 6 · 5 6 · 5 6 · 1 6 = 1 6 2 · 5 6 2 , zatímco P(oo6o) = 5 6 · 5 6 · 1 6 · 5 6 = 1 6 · 5 6 3 . Nyní se pustíme do výpočtu hodnot pravděpodobnostní funkce. Hodnota p(0) je pravděpodobnost, že nepadne žádná šestka, tj. že ve všech čtyřech hodech padne něco jiného: p(0) = P(X = 0) = 5 6 · 5 6 · 5 6 · 5 6 = 5 6 4 = 625 1296 . Hodnota p(1) je pravděpodobnost, že šestka padne jednou a třikrát něco jiného. Nestačí vzít (1/6) · (5/6)3 , protože to by byla pravděpodobnost, že šestka padne konkrétně v prvním hodu. Musíme probrat všechna možná pořadí, kdy šestka mohla padnout, viz druhý sloupec rozpisu: P(X = 1) = 1 6 · 5 6 · 5 6 · 5 6 + 5 6 · 1 6 · 5 6 · 5 6 + 5 6 · 5 6 · 1 6 · 5 6 + 5 6 · 5 6 · 5 6 · 1 6 = = 4 · 1 6 · 5 6 3 = 500 1296 U p(2) budeme postupovat podobně. Mají padnou dvě šestky a dvě „nešestky . Už jsme viděli, že pravděpodobnost, že šestka padne v jedné konkrétní dvojici hodů ze čtyř, je (1/6)2 · (5/6)2 . Tuto pravděpodobnost teď musíme vzít tolikrát, kolik je možných dvojic hodů, ve kterých padla šestka (viz prostřední sloupec rozpisu). Počet takových dvojic je vyjádřen kombinačním číslem 4 2 . Celkově je p(2) = P(X = 2) = 4 2 · 1 6 2 · 5 6 2 = 6 · 1 6 2 · 5 6 2 = 150 1296 Podobně p(3) dostaneme tak, že pravděpodobnost tří šestek a jedné „nešestky v konkrétní trojici hodů, tj. (1/6)3 · (5/6), vynásobíme počtem všech možných trojic, které lze vybrat ze čtyř hodů, tj. opět kombinačním číslem: p(3) = P(X = 3) = 4 3 · 1 6 3 · 5 6 = 4 · 1 6 3 · 5 6 = 20 1296 Konečně p(4) je p(4) = P(X = 4) = 1 6 4 = 1 1296 Výsledné zlomky jsme úmyslně nekrátili, aby bylo (relativně) snadno vidět, že součet všech pravděpodobností dá jedničku. Všimněme si, že kombinační číslo jsme mohli použít také při výpočtu p(1) (vybírali jsme jednoprvkové podmnožiny ze čtyř, jejich počet je 4 1 ) a dokonce i při výpočtu p(0) a p(4) 16.2 Binomické rozdělení 195 ( 4 0 = 4 4 = 1), i když tam se to zdá zbytečné. Pravděpodobnostní funkci tedy můžeme zapsat jako x 0 1 2 3 4 p(x) 4 0 1 6 0 5 6 4 4 1 1 6 1 5 6 3 4 2 1 6 2 5 6 2 4 3 1 6 3 5 6 1 4 4 1 6 4 5 6 0 nebo pomocí předpisu p(k) = 4 k 1 6 k 5 6 4−k , k = 0, 1, 2, 3, 4. Graf pravděpodobnostní funkce a také distribuční funkce vidíme na obrázcích 16.1 a 16.2 1 2 3 4 x 0,2 0,4 y Obr. 16.1: Graf pravděpodobnostní funkce z příkladu 16.2 1 2 3 4 x 1 y Obr. 16.2: Graf distribuční funkce z příkladu 16.2 Střední hodnota náhodné veličiny X je EX = 4 k=0 k · p(k) = 0 · 625 1296 + 1 · 500 1296 + 2 · 150 1296 + 3 · 20 1296 + 4 · 1 1296 = 2 3 . Rozptyl je DX = 4 k=0 k2 ·p(k)−(EX)2 = 02 · 625 1296 +12 · 500 1296 +22 · 150 1296 +32 · 20 1296 +42 · 1 1296 − 2 3 2 = 5 9 . Zobecníme-li úvahy provedené při hledání pravděpodobnostní funkce pro libovolný počet pokusů n a libovolnou pravděpodobnost úspěchu v jednom pokusu p, dostaneme: p(k) = n k pk (1 − p)n−k , k = 0, 1, . . . , n. 196 Významná diskrétní rozdělení pravděpodobnosti Pro střední hodnotu z jednoho příkladu asi nic nevyvodíme. Nebo přece? Vyšlo 2/3 = = 4/6. Házeli jsme čtyřikrát, pravděpodobnost úspěchu byla vždy jedna šestina. Výsledek EX = 4/6 nám říká, že ve čtyřech hodech padne šestka průměrně (4/6)-krát. Markantněji by se zákonitost pro střední hodnotu binomického rozdělení projevila, kdybychom počítali s dvanácti hody. Tam by EX vyšlo 12/6 = 2 – ve dvanácti hodech padne šestka průměrně dvakrát, což bychom asi skutečně očekávali. Čtenář už možná tipuje, že střední hodnota by mohla být np. Ohledně rozptylu z jednoho příkladu asi skutečně nic nepoznáme, ale i pro výpočet rozptylu lze odvodit jednoduchý vzorec. Odvození střední hodnoty a rozptylu binomického rozdělení Střední hodnota binomického rozdělení se dá odvodit pomocí postupných úprav příslušné sumy, tj. výrazu EX = n k=0 kp(k) = n k=0 k n k pk (1 − p)n−k . Svědomitý čtenář si to může zkusit sám, je zapotřebí rozepsat kombinační číslo, něco zkrátit, něco vytknout a pak využít toho, že n k=0 p(k) = 1. Odvození rozptylu by bylo podobné, ale ještě o něco komplikovanější. Elegantnější způsob je rozepsáním náhodné veličiny s binomickým rozdělením na součet nezávislých náhodných veličin s alternativním rozdělením. Vraťme se k příkladu 16.2 a uvažujme náhodné veličiny X1, X2, X3 a X4, kde Xi udává, jestli v i-tém hodu padla šestka, tj. Xi = 1, pokud ano, a Xi = 0, pokud ne. Celkový počet šestek ve čtyřech hodech pak dostaneme jako součet Xi, i = 1, . . . , 4. X = X1 + X2 + X3 + X4. (Jestliže např. šestka padla pouze ve druhém hodu, pak X2 = 1, X1 = X3 = X4 = 0 a dohromady X = 0 + 1 + 0 + 0 = 1, což souhlasí.) Každá z dílčích náhodných veličin Xi má alternativní rozdělení s parametrem p = 1/6. Z kapitoly 16.1 již víme, že střední hodnota alternativního rozdělení je p, takže EX1 = EX2 = EX3 = EX4 = 1 6 . Dále z kapitoly 15.2.3 víme, že střední hodnota součtu je součet středních hodnot. Tedy EX = E(X1 + X2 + X3 + X4) = EX1 + EX2 + EX3 + EX4 = 4 · 1 6 = 2 3 , což odpovídá výsledku získanému v příkladu 16.2 pomocí univerzálního vzorce (15.3). Obecně náhodnou veličinu X ∼ Bi(n, p) můžeme rozepsat jako součet náhodných veličin Xi, i = 1, . . . , n, kde každá z dílčích náhodných veličin Xi udává, zda v i-tém pokusu nastal úspěch. Všechny tyto náhodné veličiny mají alternativní rozdělení s parametrem p a střední hodnotou také p. Proto EX = EX1 + · · · + EXn = np. 16.3 Hypergeometrické rozdělení 197 Při odvození hodnoty rozptylu použijeme stejnou taktiku, ovšem musíme si uvědomit, že náhodné veličiny Xi jsou nezávislé. Jinak bychom rozptyl součtu nemohli počítat jako součet rozptylů (viz kapitola 15.2.3)! Rozptyl náhodné veličiny s alternativním rozdělením je p(1 − p), a proto DX = D(X1 + · · · + Xn) = DX1 + · · · + DXn = np(1 − p). Použijeme-li výsledný vztah pro výpočet rozptylu z příkladu 16.2, dostaneme DX = 4 · 1 6 · 1 − 1 6 = 4 · 1 6 · 5 6 = 5 9 – srovnejte s výsledkem získaným pomocí univerzálního vzorce (15.7). Základní údaje o binomickém rozdělení můžeme shrnout následovně: Postupně n-krát nezávisle opakujeme pokus, u kterého úspěch nastává s pravděpodobností p. Náhodná veličina X udávající, kolikrát v těchto n pokusech nastal úspěch, má binomické rozdělení pravděpodobnosti s parametry n a p, píšeme X ∼ Bi(n, p). Její pravděpodobnostní funkce je p(k) = n k pk (1 − p)n−k , k = 0, 1, . . . , n. (16.1) Střední hodnota a rozptyl jsou EX = np, (16.2) DX = np(1 − p). (16.3) Ukažme si ještě graficky tvar binomického rozdělení pomocí sloupcových grafů. V případě p = 0,5 je rozdělení symetrické, viz obrázky 16.3 a 16.4. Pro p = 0,5 rozdělení symetrické není, viz obrázek 16.5. Pro pevné n platí, že čím více se p liší od 0,5, tím méně symetrické rozdělení je. Na obrázku 16.1 už jsme viděli příklad vyloženě nesymetrického rozdělení. S rostoucím n se však tvar rozdělení přibližuje symetrickému i pro malé p, jak vidíme na obrázku 16.6, kde n = 50 a p = 0,1 (hodnoty p(k) jsou nenulové pro k ∈ {0, 1, . . . , 50}, pro k > 15 jsou však již zanedbatelně malé). Na všech obrázcích si všimněte, že nejvyšších hodnot pravděpodobnostní funkce p(k) dosahuje pro k blízké střední hodnotě EX = np (případně přímo pro k = np, pokud je np celé číslo). 16.3 Hypergeometrické rozdělení Hypergeometrické rozdělení se používá například při kontrole kvality výroby. 198 Významná diskrétní rozdělení pravděpodobnosti 1 2 3 4 5 x 0,1 0,2 0,3 y Obr. 16.3: Sloupcový graf pravděpodobnostní funkce pro n = 5 a p = 0,5 1 2 3 4 5 6 7 8 9 10 x 0,1 0,2 y Obr. 16.4: Sloupcový graf pravděpodobnostní funkce pro n = 10 a p = 0,5 1 2 3 4 5 6 7 8 9 10 x 0,1 0,2 y Obr. 16.5: Sloupcový graf pravděpodobnostní funkce pro n = 10 a p = 1/3 5 10 15 x 0,1 0,2 y Obr. 16.6: Sloupcový graf pravděpodobnostní funkce pro n = 50 a p = 0,1 Příklad 16.3. Máme 12 výrobků, z nichž 4 jsou vadné. Náhodně vybereme 3 výrobky. Náhodná veličina X udává, kolik výrobků z vybrané trojice je vadných. Najděte pravděpodobnostní funkci náhodné veličiny X a určete její střední hodnotu a rozptyl. Řešení. V první řadě si uvědomme, kolik má náš „pokus (výběr 3 výrobků z celkových 12) možných výsledků. Představíme-li si, že výrobky jsou označené čísly 1, . . . , 12, můžeme si vybrat například trojice {1, 2, 3}, {1, 2, 4}, {5, 9, 12}, a podobně. Na pořadí nezáleží, protože nám jde pouze o to, kolik je ve vybrané trojici vadných kusů. Jakákoli takováto trojice je z hlediska pravděpodobnosti rovnocenná s ostatními. Celkem je tedy tolik možností, kolik je tříprvkových podmnožin, které lze vybrat z dvanáctiprvkové množiny, tj. 12 3 = 12! 3! · 9! = 220 16.3 Hypergeometrické rozdělení 199 Dále budeme zkoumat pravděpodobnosti, že mezi vybranými třemi výrobky nebude žádný vadný, jeden vadný, atd. Jestliže žádný výrobek není vadný, pak se celá vybraná trojice skládá pouze z dobrých výrobků. Těch je celkem 12 − 4 = 8 a počet možností pro výběr trojice složené ze samých dobrých výrobků je 8 3 = 56. Proto p(0) = 8 3 12 3 = 56 220 = 14 55 . Je-li jeden výrobek vadný, pak k němu musíme doplnit ještě dva dobré. Jeden vadný výrobek můžeme vybrat 4 1 = 4 způsoby. Dva dobré výrobky lze vybrat 8 2 = 28 způsoby. Dohromady tedy máme 4 · 28 trojic, které se skládají z jednoho vadného a dvou dobrých výrobků, a tedy p(1) = 4 1 · 8 2 12 3 = 4 · 28 220 = 112 220 = 28 55 . Podobně vypočítáme pravděpodobnosti dvou a tří vadných výrobků: p(2) = 4 2 · 8 1 12 3 = 48 220 = 12 55 , p(3) = 4 3 12 3 = 4 220 = 1 55 . Můžeme se přesvědčit, že součet všech hodnot pravděpodobnostní funkce je roven jedné. Střední hodnota a rozptyl náhodné veličiny X budou podle vzorců (15.3) a (15.7) EX = 0 · 14 55 + 1 · 28 55 + 2 · 12 55 + 3 · 1 55 = 1, DX = 02 · 14 55 + 12 · 28 55 + 22 · 12 55 + 32 · 1 55 − 12 = 6 11 . = 0,545. Výsledná střední hodnota odpovídá našemu očekávání: vadné výrobky tvoří třetinu z celkového množství (4/12 = 1/3). Vybrali jsme 3 výrobky, takže očekáváme, že zhruba třetina z nich, tj. 1, bude vadný. Základní údaje o hypergeometrickém rozdělení můžeme shrnout následovně: 200 Významná diskrétní rozdělení pravděpodobnosti Máme množinu o N prvcích, z nichž M má sledovanou vlastnost a zbývajících N −M ji nemá. Náhodně vybereme (najednou nebo postupně, ale bez vracení) n prvků. Náhodná veličina X udávající, kolik z vybraných n prvků má sledovanou vlastnost, má hypergeometrické rozdělení pravděpodobnosti s parametry N, M a n, píšeme X ∼ Hg(N, M, n). Její pravděpodobnostní funkce je p(k) = M k · N−M n−k N n , k = max{0, n − (N − M)}, . . . , min{n, M}. (16.4) Střední hodnota a rozptyl jsou EX = n M N , (16.5) DX = n M N 1 − M N N − n N − 1 . (16.6) Střední hodnota hypergeometrického rozdělení se počítá podobně jako u rozdělení binomického (viz (16.2)) s tím, že za p dosadíme pravděpodobnost, že při výběru jediného kusu vybereme prvek se sledovanou vlastností, p = M/N. Rozptyl se od rozptylu binomického rozdělení liší členem (N − n)/(N − 1), je tedy o něco menší. Odvození střední hodnoty hypergeometrického rozdělení Pro odvození vztahu (16.5) můžeme použít stejné úvahy jako při odvození vztahu pro výpočet střední hodnoty binomického rozdělení: Vraťme se k příkladu 16.3 a předpokládejme, že jsme výrobky vybírali po jednom (ovšem bez vracení). Uvažujme náhodné veličiny X1, X2 a X3, kde Xi udává, jestli je i-tý vybraný výrobek vadný, tj. Xi = 1, pokud ano, a Xi = 0, pokud ne. Celkový počet vadných výrobků z vybrané trojice pak dostaneme jako součet Xi, i = 1, 2, 3, X = X1 + X2 + X3. Každá z dílčích náhodných veličin Xi má alternativní rozdělení s parametrem p = 4/12 = 1/3. Pro X1 je to zřejmé; rozmyslete si, že i pro X2 a X3 je p opět 1/3. Tentokrát ovšem (na rozdíl od binomického rozdělení) náhodné veličiny X1, X2 a X3 nejsou nezávislé. Pravděpodobnost, že druhý výrobek bude vadný, závisí na tom, zda první výrobek vadný byl nebo nebyl: P([X2 = 1]|[X1 = 1]) = 3 11, zatímco P([X2 = 1]|[X1 = 0]) = 4 11. Z kapitoly 16.1 víme, že střední hodnota alternativního rozdělení je p, takže EX = E(X1 + X2 + X3) = EX1 + EX2 + EX3 = 3 · 1 3 = 1, 16.3 Hypergeometrické rozdělení 201 což odpovídá výsledku získanému v příkladu 16.3 pomocí univerzálního vzorce (15.3). Zobecněním dostaneme vztah (16.5). Vztah pro výpočet rozptylu bohužel tímto způsobem odvodit nelze, protože náhodné veličiny Xi jsou závislé a rozptyl součtu je součtem rozptylů pouze pro nezávislé náhodné veličiny. Pro odvození vztahu (16.6) bychom mohli využít univerzální vzorec (15.7) s dosazením (16.4), ale výpočet je technicky poněkud komplikovaný a předvádět jej nebudeme. 16.3.1 Vztah binomického a hypergeometrického rozdělení Hypergeometrické rozdělení popisuje výběr n prvků z množiny o N prvcích, přičemž prvky nevracíme zpět, takže druhý prvek pak vybíráme už jen z N − 1 kusů, třetí z N − 2, atd. Uvažme nyní situaci, kdy vybraný prvek pokaždé vrátíme zpět (a prvky nějak zamícháme, aby právě vrácený nebyl při dalším výběru „první na ráně ). Při každém jednotlivém výběru pak máme stále N možností na výběr, z čehož M má sledovanou vlastnost. Tudíž při každém pokusu je nezávisle na předchozích pokusech vždy pravděpodobnost p = = M/N, že vybereme prvek s danou vlastnotí. To je ovšem přesně situace, kterou popisuje binomické rozdělení. Příklad 16.4. Máme balíček 16 karet, z toho 4 esa. Náhodně postupně vybereme 5 karet, přičemž a) karty do balíčku nevracíme, b) vybranou kartu vždy do balíčku vrátíme a karty zamícháme. Náhodná veličina X popisuje počet es ve vybrané pětici karet. Najděte její pravděpodobností funkci. Řešení. V případě a) se jedná o náhodnou veličinu s hypergeometrickým rozdělením s parametry N = 16, M = 4 a n = 5. Tato náhodná veličina může nabývat hodnot 0, 1, 2, 3, 4, protože esa jsou jen čtyři, takže celou pětici vybraných karet z nich nesestavíme. Pravděpodobnostní funkce je proto p(0) = 12 5 16 5 , p(1) = 4 1 12 4 16 5 , p(2) = 4 2 12 3 16 5 , p(3) = 4 3 12 2 16 5 , p(4) = 4 4 12 1 16 5 . V případě b) se jedná o binomické rozdělení pravděpodobnosti s parametry n = 5 a p = 4/16 = 1/4. Náhodná veličina může nabývat hodnot od 0 do 5. Pravděpodobnostní funkce je p(0) = 3 4 5 , p(1) = 5 1 4 3 4 4 , p(2) = 5 2 1 4 2 3 4 3 , . . . , p(5) = 1 4 5 . Pro srovnání uvedeme numerické hodnoty obou pravděpodobnostních funkcí: 202 Významná diskrétní rozdělení pravděpodobnosti x 0 1 2 3 4 5 a) p(x) 0,181 0,453 0,302 0,060 0,003 0 b) p(x) 0,237 0,396 0,264 0,088 0,015 0,001 Obě funkce nabývají maxima pro x = 1 a se zvyšující se vzdáleností od jedničky se jejich hodnoty zmenšují, ale jinak toho moc společného nemají. Srovnání vidíme též na obrázku 16.7. Představme si teď, že vybíráme jen několik prvků z obrovského celku, kde i počet „zajímavých prvků M je velký. To znamená, že číslo n je v porovnání s N a M velice malé. V tomto případě vracení či nevracení vybraných prvků nehraje velkou roli. Tím pádem nebude velký rozdíl v hodnotách pravděpodobnostní funkce binomického a hypergeometrického rozdělení. Příklad 16.5. V Kocourkově se chystají volit starostu a k volbám je odhodláno jít 1 000 obyvatel. Pan Konšel kandiduje na starostu a myslí si, že jej z tohoto počtu bude volit čtvrtina, tj. 250 lidí. Předpokládejme, že má pravdu. Náhodně vybereme 5 lidí a zeptáme se jich, jestli budou volit pana Konšela. Náhodná veličina X udává, kolik z nich odpoví kladně. Najděte její pravděpodobnostní funkci. Řešení. Náhodná veličina X má hypergeometrické rozdělení pravděpodobnosti s parametry N = 1 000, M = 250 a n = 5. Hodnoty její pravděpodobností funkce proto můžeme počítat jako p(k) = 250 k 750 5−k 1 000 5 , k = 0, . . . , 5. Protože je však n v porovnání s N a M malé, nebudou se tyto hodnoty příliš lišit od hodnot pravděpodobnostní funkce náhodné veličiny s binomickým rozdělením s parametry n = 5 a p = 250/1 000 = 0,25, tj. p(k) . = 5 k 0,25k · 0,755−k . Srovnání numerických hodnot obou pravděpodobnostních funkcí vidíme v tabulce a na obrázku 16.8. Hodnoty se liší až na třetím nebo čtvrtém desetinném místě. Přitom výpočet pomocí binomického rozdělení je mnohem pohodlnější než pomocí hypergeometrického. x 0 1 2 3 4 5 Hg: p(x) 0,2365 0,3963 0,2642 0,0876 0,0144 0,0009 Bi: p(x) 0,2373 0,3955 0,2637 0,0879 0,0146 0,0010 Jestliže náhodná veličina X má hypergeometrické rozdělení, X ∼ Hg(N, M, n), kde n je v porovnání s N velmi malé (N > 20n), pak se pro popis X může využít binomické rozdělení s parametry n a p = M/N. 16.4 Poissonovo rozdělení 203 0,1 0,2 0,3 0,4 1 2 3 4 5 y x Hg(16,4,5) Bi(5,1/4) Obr. 16.7: Porovnání Hg a Bi z příkladu 16.4 0,1 0,2 0,3 0,4 1 2 3 4 5 y x Hg(1000,250,5) Bi(5,1/4) Obr. 16.8: Porovnání Hg a Bi z příkladu 16.5 Díky tomu se náhodné veličiny s hypergeometrickým rozdělením dají za jistých předpokladů přibližně popsat i normálním rozdělením, ale o aproximaci binomického rozdělení normálním rozdělením se dočtete až v kapitole 19.3. 16.4 Poissonovo rozdělení Budeme zkoumat výskyt jistého typu náhodné události – touto událostí může být příchod zákazníka do fronty, příjezd automobilu na parkoviště, přijetí zprávy SMS, narození dítěte v jisté porodnici, apod. V této situaci opakovaného výskytu náhodné události můžeme měřit hodnoty dvou veličin: počet výskytů události za časovou jednotku a dobu mezi dvěma po sobě jdoucími výskyty události. První z těchto veličin je diskrétního typu a v této kapitole se zaměříme právě na ni, zatímco druhá je spojitá, má tzv. exponenciální rozdělení a ještě se k ní vrátíme v kapitole 18.2. Náhodné události, kterými se budeme zabývat, nemohou být úplně libovolné. Musí splňovat následující předpoklady: • V jednom okamžiku může nastat nanejvýš jedna událost (tedy nemohou nastat dvě zcela současně). • Události přicházejí nezávisle na sobě (počty vzniklých událostí v disjunktních časových intervalech jsou nezávislé). • Pravděpodobnost, že událost nastane v intervalu (t, t + h), závisí na h (délce intervalu), ale nikoli na t (umístění intervalu na časové ose). 204 Významná diskrétní rozdělení pravděpodobnosti Náhodná veličina, která bude udávat počet takovýchto událostí za jednotku času, má Poissonovo rozdělení pravděpodobnosti. Odvození pravděpodobnostní funkce, střední hodnoty a rozptylu Poissonova rozdělení Pravděpodobnostní funkci Poissonova rozdělení lze odvodit na základě pravděpodobnostní funkce rozdělení binomického. Zkoumejme např. náhodnou veličinu X udávající počet hovorů, které přepojí telefonní ústředna během jedné hodiny, přičemž víme, že průměrně přichází λ = 20 hovorů za hodinu. Hovor může přijít v kterýkoli okamžik, ale pro začátek situaci jakýmsi způsobem zjednodušíme. Hodinový interval rozdělíme na jednotlivé úseky po minutách a budeme předpokládat, že v jednom takovém časovém úseku nemůže přijít více než jeden hovor a že pravděpodobnost, že hovor přijde, je pro každý jednotlivý úsek rovna p. Za uvedených předpokladů má náhodná veličina X binomické rozdělení pravděpodobnosti – provádíme n = 60 pokusů (pro každou minutu), v každém tomto pokusu hovor buď přijde (což považujeme za úspěch), nebo nepřijde. Počítáme úspěchy v těchto 60 pokusech, takže X ∼ Bi (60, p) . Na ukázku vypočteme pravděpodobnost, že během hodiny přijdou právě 4 hovory: Podle (16.1) je P(X = 4) = 60 4 p4 (1 − p)60−4 = 60 · 59 · 58 · 57 4! p4 (1 − p)60−4 . V kombinačním čísle jsme zkrátili (60 − 4)!. Všimněte si též, že v čitateli zlomku pak násobíme právě 4 čísla – tuto úvahu pak použijeme i obecně. Pro k hovorů, k ∈ {0, . . . , 60}, máme P(X = k) = 60 k pk (1 − p)n−4 = 60 · · · (60 − k + 1) 4! pk (1 − p)60−k . Střední hodnota náhodné veličiny X je podle (16.2) EX = np = 60p. Zároveň víme, že průměrně přichází λ = 20 hovorů. Střední hodnota je očekávaný průměr, takže 60p = 20 a p = 1/3. Nyní dělení intervalu zjemníme na sekundové úseky a podobně jako předtím budeme předpokládat, že hovory mohou přicházet pouze v těchto oddělených úsecích, v každém nanejvýš jeden. Dále budeme požadovat, aby střední hodnota EX = λ = 20 zůstala zachována. V tomto případě by náhodná veličina X měla binomické rozdělení s parametry n = 3600 (počet sekund v hodině) a p = λ/n = 1/180 (aby np bylo stále λ = 20). Jestliže budeme dělení dále zjemňovat, tj. n → ∞, přičemž p = λ/n (aby střední hodnota zůstávala stále stejná), budeme se přibližovat ideálnímu stavu, kdy hovor může přijít ve kterýkoli 16.4 Poissonovo rozdělení 205 okamžik. Pak bude pro pevně zvolené k P(X = k) = n k λ n k 1 − λ n n−k = n(n − 1) · · · (n − k + 1) k! λk nk 1 − λ n n 1 − λ n −k . Zlomky přeskupíme: P(X = k) = n n · n − 1 n · · · n − k + 1 n · λk k! 1 − λ n n 1 − λ n −k . Nyní provedeme limitní přechod pro n → ∞. Limita každého z prvních k zlomků je rovna 1 a stejně tak limn→∞ 1 − λ n −k , protože výraz uvnitř závorky se blíží k 1 a k je pevné číslo. Limita z 1 − λ n n je však typu 1∞. Z prvního semestru matematiky víme, že lim n→∞ 1 + c n n = ec , takže dohromady máme P(X = k) → λk k! e−λ a pravděpodobnostní funkce Poissonova rozdělení je p(k) = λk k! e−λ , k = 0, 1, 2, . . . Pravděpodobnostní funkce byla sestavena tak, aby střední hodnota byla EX = λ. Můžeme se však pomocí (15.3) přesvědčit, že tomu tak opravdu je. Za tím účelem připomeňme rozvoj funkce ex do Taylorovy řady: ex = ∞ n=0 xn n! = 1 + x 1! + x2 2! + x3 3! + . . . Střední hodnota náhodné veličiny s Poissonovým rozdělení pravděpodobnosti je EX = ∞ k=0 kp(k) = ∞ k=0 k λk k! e−λ = 0 · e−λ + 1 · λ 1! e−λ + 2 · λ2 2! e−λ + 3 · λ3 3! e−λ + · · · = = λe−λ + λ2 1! e−λ + λ3 2! e−λ + · · · = λe−λ 1 + λ 1! + λ2 2! + · · · = λe−λ eλ = λ. Rozptyl vypočítáme pomocí vzorce (15.7), tj. DX = ∞ k=0 k2 p(k) − (EX)2 = ∞ k=0 k2 λk k! e−λ − λ2 . Sumu z k2p(k) vypočítáme zvlášť. Použijeme k tomu trik: k2 rozepíšeme jako k(k − 1) + k a sumu pak rozdělíme na dvě. ∞ k=0 k2 λk k! e−λ = ∞ k=0 (k(k − 1) + k) λk k! e−λ = ∞ k=0 k(k − 1) λk k! e−λ + ∞ k=0 k λk k! e−λ Druhou sumu už jsme určili při výpočtu EX: je rovna λ. Zbývá vypočítat první sumu. Její členy pro k = 0 a k = 1 jsou oba nulové, takže zbude ∞ k=0 k(k − 1) λk k! e−λ = e−λ 2 · 1 · λ2 2! + 3 · 2 · λ3 3! + 4 · 3 · λ4 4! + · · · = 206 Významná diskrétní rozdělení pravděpodobnosti = λ2 e−λ 1 + λ 1! + λ2 2! + · · · = λ2 e−λ eλ = λ2 Celkem ∞ k=0 k2 λk k! e−λ = λ2 + λ a rozptyl je DX = λ2 + λ − λ2 = λ. Tohle je celkem výjimečný fakt – Poissonovo rozdělení je na rozdíl od většiny jiných takové, že jeho střední hodnota je stejná jako jeho rozptyl. Základní údaje o Poissonově rozdělení můžeme shrnout následovně: Náhodná veličina X, která udává počet událostí za jednotku času, když víme, že průměrně nastává λ událostí za jednotku času, má Poissonovo rozdělení pravděpodobnosti s parametrem λ, píšeme X ∼ Po(λ). Její pravděpodobnostní funkce je p(k) = P(X = k) = λk k! e−λ , k = 0, 1, 2, . . . Střední hodnota a rozptyl Poissonova rozdělení je EX = λ, DX = λ. Dodejme, že Poissonovo rozdělení se někdy používá i v případě, kdy jde o jiné než časové jednotky, mohou to být jednotky délky, obsahu, apod. Ukázky sloupcových grafů pravděpodobnostní funkce Poissonova rozdělení jsou na obrázcích 16.9 a 16.10. Pravděpodobnostní funkce je nenulová pro všechna k = 0, 1, 2, . . . , avšak pro velká k už je zanedbatelně malá. Nejvyšší hodnoty dosahuje pro k = [λ] ([·] znamená celou část čísla, např. [5,9] = 5). Jestliže je λ celé číslo, je maximum pravděpodobnostní funkce dosaženo ve dvou bodech, k = λ a k = λ − 1, viz obrázek 16.10. Příklad 16.6. Zdravotnický úřad shromažďuje údaje o nově narozených dětech. Průměrně každé dvě hodiny se narodí další dítě. Určete a) Průměrný počet narozených dětí za rok. b) Pravděpodobnost, že v daném dnu se nenarodí žádné dítě. c) Pravděpodobnost, že v jednom dnu se narodí 20 dětí. d) Pravděpodobnost, že za 3 hodiny se narodí aspoň 4 děti. 16.4 Poissonovo rozdělení 207 5 10 15 x 0,05 0,10 0,15 y Obr. 16.9: Sloupcový graf pravděpodobnostní funkce pro λ = 5,9 5 10 15 x 0,05 0,10 0,15 0,20 y Obr. 16.10: Sloupcový graf pravděpodobnostní funkce pro λ = 4 Řešení. a) Z tohoto úkolu nebudeme dělat vědu. Průměrně jedno dítě za dvě hodiny dává dvanáct dětí za den a 365 · 12 = 4380 dětí za rok. b) Základem správného využití Poissonova rozdělení je zvolit si vhodnou časovou jednotku. Pokud hledáme určitý údaj za den, zvolme časovou jednotku jeden den. Druhým krokem po volbě časové jednotky je vypočtení parametru λ. V našem případě λ = 12 dětí za den (jedná se o průměrný údaj za časovou jednotku). Označme X náhodnou veličinu, která udává počet narození za jeden den. X má Poissonovo rozdělení s parametrem λ = 12, čili hledaná pravděpodobnost je rovna P(X = 0) = p(0) = 120 0! e−12 = 0,00000614. c) Využijeme veličiny X zavedené v b) a dosadíme: P(X = 20) = p(20) = 1220 20! e−12 = 0,00968 d) Poslední úkol tohoto příkladu je analogický, ovšem otázka je položena tak, že nás zajímá údaj dosažený za 3 hodiny. Musíme tedy změnit časovou jednotku na 3 hodiny. Tím pádem se mění průměrný počet narození za časovou jednotku na λ = 1,5 – tento příklad slouží též jako ukázka, že λ nemusí být celé číslo. Označíme-li nyní X počet dětí narozených za 3 hodiny, platí X ∼ Po(λ = 1,5). A tedy P(X ≥ 4) = p(4) + p(5) + p(6) + p(7) + · · · = = 1 − (p(0) + p(1) + p(2) + p(3)) = = 1 − e−1,5 1,50 0! + 1,51 1! + 1,52 2! + 1,53 3! = 0,0656 Místo sečítání nekonečné řady jsme odečetli pravděpodobnost opačného jevu od jedničky. Pokud sečítáme několik pravděpodobností Poissonova rozdělení, je vhodné člen e−λ vytknout, ušetříme si práci. 208 Významná diskrétní rozdělení pravděpodobnosti Příklad 16.7. Na poště mají být instalovány automaty na prodej známek, které po vhození mince vydají přesně za deset sekund žádanou známku. Předpokládáme, že průměrně bude chtít použít automatu šest osob za minutu. Kolik automatů bychom měli instalovat, aby s pravděpodobností 0,95 byl i v době největší frekvence obsloužen každý zájemce bez čekání? Řešení. V dnešní hektické době jsou i ekonomické požadavky neúprosné: čekat deset sekund je nepřijatelné, na 95 % musí být automat k dispozici okamžitě. Klíčem k tomuto příkladu je zjistit, pro jaký počet příchozích během deseti sekund – to je totiž doba, kdy automat eventuelně někoho obsluhuje a každý další příchozí musí čekat – je přesažena hranice 0,95. Zvolme tedy v prvé řadě časovou jednotku rovnu deseti sekundám. Ve druhé řadě pro tuto časovou jednotku určíme průměrný počet příchozích zákazníků: jestliže průměrně přijde šest za minutu, za deset sekund přijde jeden, čili λ = 1. Označme X počet příchozích zákazníků během deseti sekund. Pak X ∼ Po(1). Nyní budeme hledat m, pro které by platilo P(X ≤ m) ≥ 0,95 neboli P(X > m) < 0,05. Jestliže bude instalováno m automatů, bude pravděpodobnost, že během deseti sekund přijde víc než m zákazníků (a tedy některý bude muset čekat), menší než 5 %. Budeme postupně sčítat hodnoty pravděpodobnostní funkce a hlídat, kdy je poprvé přesažena hodnota 0,95: P(X ≤ 1) = p(0) + p(1) = e−1 10 0! + 11 1! = e−1 (1 + 1) . = 0,73 < 0,95 P(X ≤ 2) = p(0) + p(1) + p(2) . = 0,73 + e−1 12 2! . = 0,92 < 0,95 P(X ≤ 3) = p(0) + p(1) + p(2) + p(3) . = 0,92 + e−1 13 3! . = 0,98 > 0,95 K uspokojení požadavku ze zadání stačí tři automaty. Poissonovo rozdělení se používá také v řešení úloh teorie front. S teorií front se seznámíme v kapitole 18.3. Maplety Odkazy na některé maplety: 1. Binomické rozdělení 2. Aproximace binomického rozdělení normálním (teoretický základ je až v kapitole 19) 3. Geometrické rozdělení 4. Hypergeometrické rozdělení 5. Poissonovo rozdělení 209 17 Spojité náhodné veličiny Nyní se budeme věnovat spojitým náhodným veličinám, tedy takovým, které mohou nabývat nespočetně mnoha hodnot. Spojitou náhodnou veličinou může být například: • životnost baterie, • naměřená hodnota napětí v síti, • délka časového intervalu mezi dvěma přístupy na server. U diskrétních náhodných veličin jsme pravděpodobnost, že náhodná veličina X padne do určitého intervalu, počítali pomocí součtu hodnot pravděpodobnostní funkce. Např. u náhodné veličiny z příkladu 16.2 (počet šestek ve čtyřech hodech) by P(2 ≤ X ≤ 4) byla p(2) + p(3) + p(4). U spojitých náhodných veličin pro výpočet P(a < X < b) také musíme projít všechny možnosti, které do zadaného intervalu spadají. Protože je těchto možností nespočetně mnoho, se sumou už zde nevystačíme. Definice 17.1 (Spojitá náhodná veličina). Náhodná veličina X se nazývá spojitá, jestliže existuje nezáporná funkce f : R → R taková, že pro každé a, b ∈ R∪{∞}, a < b, platí P(a < X < b) = b a f(x)dx. (17.1) Funkce f se nazývá hustota pravděpodobnosti náhodné veličiny X. Podobně jako součet všech hodnot pravděpodobnostní funkce musel být roven 1, i zde platí ∞ −∞ f(x)dx = 1 (17.2) neboli obsah plochy mezi grafem hustoty a osou x musí být roven 1. Z toho, že se pravděpodobnost u spojité náhodné veličiny počítá podle (17.1), plyne jedna důležitá a na první pohled podivná vlastnost spojitých náhodných veličin. 210 Spojité náhodné veličiny a b x P(a < X < b) y y = f(x) Obr. 17.1: Geometrický význam vztahu (17.1) Pro spojitou náhodnou veličinu X s hustotou f pro každé a ∈ R platí P(X = a) = a a f(x)dx = 0. (17.3) To znamená, že pravděpodobnost, že se spojitá náhodná veličina bude rovnat konkrétní vybrané hodnotě a, je vždy nulová! Zhruba to lze vysvětlit tak, že u spojitých náhodných veličin máme na výběr tak obrovské množství možností – celý interval, že jedna se v tom počtu úplně ztratí. Kdybychom však pro vybrané a počítali pravděpodobnost, že X bude v rozmezí, řekněme, a ± 0,0001, výsledek by už nulový být nemusel. Pokusíme se vztah (17.3) vysvětlit ještě podrobněji a také ukázat souvislost mezi hustotou náhodné veličiny a relativními intervalovými četnostmi spojitých statistických znaků. Představme si, že jsme zkoumali životnost určitého typu zářivek (v hodinách) a nashromáždili jsme velké množství údajů. Pro zjištěné životnosti určíme intervalové rozdělení četností, přičemž budeme brát postupně intervaly délky 100, 50 a 10 hodin, viz obrázky 17.2, 17.3 a 17.4. Se zkracujícími se intervaly se pochopitelně zmenšují relativní četnosti. Např. v intervalu 500, 600) je životnost zhruba 32 % zářivek, v intervalu 500, 550) už je to jen 20 % a v intervalu 500, 510) 4 %. Jestliže intervaly dále zkracujeme, relativní četnosti se dále zmenšují. Na dalších obrázcích (17.5, 17.6 a 17.7) jsou normované histogramy – relativní četnost jsme vždy vydělili délkou intervalu, aby celková plocha všech obdélníků byla rovna 1. Vidíme, že základní tvar zůstává zhruba stejný. Hustotu pravděpodobnosti si můžeme představit jako křivku, ke které se přibližuje obrys normovaného histogramu, jestliže zjemňujeme dělení. (Tohle ovšem funguje jen v případě, že máme pro sestrojení histogramu opravdu velké množství dat a se zjemňováním to nepřeženeme. Pro příliš jemné dělení je histogram kostrbatý – na obrázku 17.7 už se to začíná 211 100 200 300 400 500 600 700 x 0,1 0,2 0,3 0,4 y Obr. 17.2: Relativní četnosti pro intervaly délky 100 100 200 300 400 500 600 700 x 0,1 0,2 0,3 0,4 y Obr. 17.3: Relativní četnosti pro intervaly délky 50 100 200 300 400 500 600 700 x 0,1 0,2 0,3 0,4 y Obr. 17.4: Relativní četnosti pro intervaly délky 10 projevovat.) 100 200 300 400 500 600 700 x 0,001 0,002 0,003 0,004 0,005 y Obr. 17.5: Normovaný histogram pro intervaly délky 100 100 200 300 400 500 600 700 x 0,001 0,002 0,003 0,004 0,005 y Obr. 17.6: Normovaný histogram pro intervaly délky 50 100 200 300 400 500 600 700 x 0,001 0,002 0,003 0,004 0,005 y Obr. 17.7: Normovaný histogram pro intervaly délky 10 Kromě hustoty je pro práci se spojitými náhodnými veličinami mimořádně užitečná distribuční funkce. Připomeňme z kapitoly 15, že je to funkce definovaná jako F(x) = P(X ≤ x). U diskrétních náhodných veličin jsme při výpočtu hodnoty distribuční funkce v daném bodě x sčítali hodnoty pravděpodobnostní funkce, teď budeme místo toho integrovat: F(x) = P(X ≤ x) = P(−∞ < X ≤ x) = x −∞ f(t)dt. Odtud plyne, že známe-li distribuční funkci F, pak hustotu f vypočteme jako její derivaci. 212 Spojité náhodné veličiny Vztah distribuční funkce s hustotou u spojité náhodné veličiny Distribuční funkci F vypočteme pomocí hustoty f jako F(x) = x −∞ f(t)dt, (17.4) zatímco hustota f se z distribuční funkce F spočítá jako f(x) = F (x). (17.5) V bodech, kde F (x) není definována, můžeme f(x) zvolit libovolně. Distribuční funkce spojité náhodné veličiny je spojitá. V kapitole 15 už jsme předvedli, že pomocí distribuční funkce můžeme počítat různé typy pravděpodobností. Protože u spojitých náhodných veličin budeme distribuční funkci používat častěji než u diskrétních, to nejdůležitější zde zopakujeme. Výpočty pravděpodobností pomocí F Je-li X libovolná náhodná veličina (tj. ne nutně spojitá) s distribuční funkcí F, pak P(X ≤ b) = F(b), (17.6) P(X > a) = 1 − F(a), (17.7) P(a < X ≤ b) = F(b) − F(a). (17.8) U spojité náhodné veličiny můžeme díky vztahu P(X = x) = 0 všechny neostré nerovnosti nahradit ostrými a naopak. U spojité náhodné veličiny můžeme např. vztah (17.8) vysvětlit i názorně pomocí obrázku. Na obrázku 17.8 je znázorněna hustota nějaké spojité náhodné veličiny X. Chtěli bychom vypočítat pravděpodobnost, že a < X ≤ b. Podle (17.1) je tato pravděpodobnost rovna integrálu z hustoty v příslušných mezích neboli obsahu plochy pod grafem hustoty na intervalu a, b). Dále, hodnota distribuční funkce v bodě a, tj. pravděpodobnost, že X ≤ a, je rovna obsahu plochy pod grafem hustoty na intervalu (−∞, a . V našem obrázku je tato plocha vyznačena šrafováním. Podobně, hodnota distribuční funkce v bodě b je rovna obsahu plochy, která je v obrázku 17.8 šedě vybarvena. Nás zajímá obsah plochy, která je šedá, ale nikoli šrafovaná. Opět se dostáváme k tomu, že od sebe musíme odečíst F(b) a F(a). Příklad 17.2. Životnost určitého typu součástek (měřená ve stovkách hodin) je náhodná veličina X s hustotou f(x) = x 2 e−x2/4 pro x > 0, 0 pro x ≤ 0. 213 a b x y y = f(x) a b x y y = F(x) 1 F(b) F(a) P(a < X ≤ b) ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢¢           s Obr. 17.8: Vysvětlení vztahu (17.8) a) Jaká je pravděpodobnost, že součástka vydrží 1 až 3 stovky hodin? b) Jaká je pravděpodobnost, že součástka vydrží nanejvýš 2 stovky hodin? c) Najděte distribuční funkci a pravděpodobnosti z částí a) a b) pak vypočtěte znovu pomocí F. Řešení. Protože budeme muset integrovat hustotu f, najdeme k ní nejprve primitivní funkci: x 2 e−x2/4 dx = subst. −x2 4 = t −x 2 dx = dt = − et dt = −et = −e−x2 4 + c Teď už můžeme počítat jednotlivé pravděpodobnosti. a) P(1 < X < 3) = 3 1 f(x)dx = 3 1 x 2 e−x2/4 dx = −e−x2 4 3 1 = −e−9/4 − −e−1/4 . = 0,673. b) Obecně bychom integrovali v mezích od −∞ do 2, ale protože hustota je pro záporná x nulová, integrační meze se zredukují: P(X ≤ 2) = 2 −∞ f(x)dx = 2 0 x 2 e−x2/4 dx = −e−x2 4 2 0 = −e−1 − −e0 . = 0,632. c) Pro nalezení distribuční funkce využijeme (17.4). Protože hustota je definovaná po částech, bude po částech definovaná i distribuční funkce. Pro x < 0 je F(x) = x −∞ f(t)dt = x −∞ 0dt = 0. Pro x ≥ 0 je F(x) = x −∞ f(t)dt = 0 −∞ 0dt + x 0 t 2 e−t2/4 dt = −e−t2 4 x 0 = 214 Spojité náhodné veličiny = −e−x2 4 − −e0 = 1 − e−x2 4 . Při hledání distribuční funkce nesmíme zapomenout dosadit dolní mez integrálu. Oblíbená chyba studentů je, že za distribuční funkci vyhlásí neurčitý integrál z f s vynechaným „+c , tj. pro náš příklad −e−x2/4 . To by nebylo dobře, konkrétně pro tento příklad by pak hodnoty funkce F – tj. pravděpodobnosti – vycházely záporně! Nalezená distribuční funkce v našem případě je F(x) = 1 − e−x2/4 pro x ≥ 0, 0 pro x < 0. Všimněte si, že jednotlivé části funkce F se na sebe v bodě x = 0 spojitě napojí. Grafy hustoty a distribuční funkce jsou na obrázcích 17.9 a 17.10. Na obrázku 17.10 jsou dobře vidět vlastnosti typické pro distribuční funkci spojité náhodné veličiny: je spojitá, neklesající, limita v −∞ je 0 a v +∞ je limita 1. Nyní ještě jednou vypočítáme pravděpodobnosti z částí a) a b): P(1 < X < 3) = F(3) − F(1) = 1 − e−32/4 − (1 − e−12/4 ) = e−1/4 − e−9/4 . = 0,673. P(X ≤ 2) = F(2) = 1 − e−22/4 = 1 − e−1 . = 0,632. Dospěli jsme ke stejným výsledkům, a to cestou o poznání pohodlnější. U spojitých náhodných veličin je distribuční funkce pro výpočty pravděpodobností velmi užitečná! 1 2 3 4 5 x 1 0,8 0,6 0,4 0,2 y y = f(x) Obr. 17.9: Graf hustoty f z příkladu 17.2 1 2 3 4 5 x 1 0,8 0,6 0,4 0,2 y y = F(x) Obr. 17.10: Graf distribuční funkce F z příkladu 17.2 17.1 Střední hodnota a rozptyl spojité náhodné veli- činy U diskrétní náhodné veličiny jsme střední hodnotu a rozptyl počítali pomocí součtů. Zde budeme integrovat: 17.1 Střední hodnota a rozptyl spojité náhodné veličiny 215 Střední hodnota spojité náhodné veličiny X se vypočítá jako EX = ∞ −∞ xf(x)dx (17.9) a rozptyl jako DX = ∞ −∞ (x − EX)2 f(x)dx = ∞ −∞ x2 f(x)dx − (EX)2 . (17.10) Příklad 17.3. Vypočtěte střední hodnotu, rozptyl a směrodatnou odchylku náhodné veličiny z příkladu 17.2. Řešení. Zopakujme, že hustota náhodné veličiny X z předchozího příkladu je f(x) = x 2 e−x2/4 pro x > 0, 0 pro x ≤ 0. Střední hodnota EX je podle vztahu (17.9) EX = ∞ −∞ xf(x)dx = 0 −∞ x · 0dx + ∞ 0 x x 2 e−x2/4 dx = 0 + 1 2 ∞ 0 x2 e−x2/4 dx. Tento integrál bohužel nelze spočítat „ručně , primitivní funkci nelze vyjádřit pomocí elementárních funkcí. Použitím vhodného matematického softwaru zjistíme, že EX = 1 2 ∞ 0 x2 e−x2/4 dx = √ π . = 1,77. Neboli očekávaná průměrná doba životnosti součástky je asi 177 hodin. Rozptyl je podle (17.10) roven DX = ∞ −∞ x2 f(x)dx − (EX)2 = ∞ 0 x2 x 2 e−x2/4 dx − π = 1 2 ∞ 0 x3 e−x2/4 dx − π. Tento integrál „ručně spočítat lze, i když to dá trochu práce. Nejprve zavedeme substituci (pozor na změnu mezí), další integrál pak vypočteme metodou per partes, detailní výpočet přenecháme čtenáři. Nebudeme rozepisovat ani výpočty limit při dosazování nekonečné meze. 1 2 ∞ 0 x3 e−x2/4 dx = 1 2 ∞ 0 x2 e−x2/4 x dx −x2 4 = t −x 2 dx = dt = 4 −∞ 0 tet dt = 216 Spojité náhodné veličiny = 4 tet −∞ 0 − et −∞ 0 = 4 (0 − 0 − (0 − 1)) = 4. Rozptyl a směrodatná odchylka náhodné veličiny X jsou tedy DX = 4 − π . = 0,86, σ = √ DX . = 0,93. 17.2 Kvantil náhodné veličiny V kapitole 10.3 už jsme se seznámili s pojmem kvantil statistického souboru. Např. ˜x0,25 byla hodnota, která oddělovala dolní čtvrtinu dat seřazených podle velikosti. Kvantil náhodné veličiny je něco podobného. Definice 17.4 (Kvantil náhodné veličiny). Jestliže X je náhodná veličina, jejíž distribuční funkce F je prostá, a α ∈ (0, 1), pak α-kvantilem náhodné veličiny X nazveme to číslo xα ∈ R, pro které platí P(X ≤ xα) = F(xα) = α neboli xα = F−1 (α). (17.11) Obecně, tj. i když distribuční funkce prostá není (jako je tomu např. u diskrétních náhodných veličin), definujeme α-kvantil jako to číslo xα ∈ R, pro které platí P(X ≤ xα) ≥ α a současně P(X < xα) ≤ α. (17.12) Speciálně 0,5-kvantil se nazývá medián náhodné veličiny X. Připomeňme z prvního semestru matematiky, že funkce je prostá, jestliže se nemůže stát, že by pro dva různé body x1, x2 z jejího definičního oboru vyšla stejná funkční hodnota. Vztahem (17.11) je α-kvantil dán jednoznačně. U vztahů (17.12) se v některých případech může stát, že jimi kvantil jednoznačně dán není – uvedeným nerovnostem vyhovuje více čísel xα. V takovém případě bereme za α-kvantil to číslo xα, které je z čísel vyhovujících (17.12) nejmenší. Možná teď máte z definice kvantilu trochu zamotanou hlavu, a proto věc ještě raději vyjádříme jinými slovy: α-kvantil si můžeme představit jako hranici, na které distribuční funkce F poprvé dosáhne (případně přesáhne) hodnotu α. Příklad 17.5. Pod jakou hranicí bude životnost součástek z příkladu 17.2 s pravděpodobností 0,75? Neboli: najděte 0,75-kvantil (horní kvartil) náhodné veličiny X z příkladu 17.2. Řešení. Hledáme hodnotu x0,75, pro kterou bude P(X ≤ x0,75) = F(x0,75) = 0,75, 17.2 Kvantil náhodné veličiny 217 viz též obrázky 17.11 a 17.12. V příkladu 17.2 už jsme zjistili, že distribuční funkce náhodné veličiny X je pro x ≥ 0 rovna F(x) = 1 − e−x2/4 . Hledáme proto řešení rovnice 1 − e−x2 0,75/4 = 0,75, které je (podrobný výpočet přenecháme čtenáři) x0,75 = −4 · ln 0,25 . = 2,35 neboli (protože měříme ve stovkách hodin) zhruba 235 hodin. 1 2 x0,75 3 4 5 x y 1 0,75 £ £ £ £ £ £ £ £ £ y = f(x) Obr. 17.11: K příkladu 17.5: zobrazení kvantilu pomocí hustoty 1 2 x0,75 3 4 5 x 1 0,75 y y = F(x) Obr. 17.12: K příkladu 17.5: zobrazení kvantilu pomocí distribuční funkce Poznámka 17.6 (Kvantil diskrétní náhodné veličiny). U spojitých náhodných veličin většinou vystačíme s jednoduchou definicí kvantilu pomocí (17.11). U diskrétních náhodných veličin je situace jiná – hodnota, pro kterou by přesně platilo P(X ≤ xα) = α, většinou neexistuje. Proto musíme pracovat s definicí (17.12). Kdybychom například hledali 0,9-kvantil náhodné veličiny z příkladu 15.11, výsledek by byl x0,9 = 2, protože F(2) = 26/27 . = 0,963 je první hodnota distribuční funkce, která je větší nebo rovna 0,9. Maplety Odkazy na některé maplety: 1. Výpočet distribuční funkce z hustoty 2. Výpočet neurčitého integrálu 3. Výpočet určitého integrálu 4. Integrování metodou per partes 5. Substituce v integrálu 218 Významná spojitá rozdělení pravděpodobnosti 18 Významná spojitá rozdělení pravděpodobnosti Asi nejvýznamnější ze spojitých rozdělení pravděpodobnosti je normální rozdělení, kterému se budeme věnovat podrobněji až v další kapitole. Zde projdeme rozdělení rovnoměrné a exponenciální. 18.1 Rovnoměrné rozdělení S rovnoměrným rozdělením pravděpodobnosti jsme se už setkali v kapitole o geometrické pravděpodobnosti (kapitola 12.2). Jedná se o případ, kdy náhodná veličina X může nabývat jakékoli hodnoty z určitého intervalu a, b , přičemž všechny hodnoty jsou „stejně pravděpodobné , neboli hustota f je na intervalu a, b konstantní a všude jinde je nulová, viz obrázek 18.1. Konstanta, které je f(x) rovno pro x ∈ a, b , je určena tak, aby platilo (17.2) neboli aby obsah obdélníka na obrázku 18.1 byl roven 1. a b x 1 b−a y y = f(x) Obr. 18.1: Hustota rovnoměrného rozdělení Ro(a, b) a b x 1 y y = F(x) Obr. 18.2: Distribuční funkce rozdělení Ro(a, b) Příklad 18.1. Nejmenovaný student bydlící v Bystrci jezdí výhradně tramvají číslo 1. Ovšem nikdy se doma nedívá do jízdního řádu, kdy tramvaj jede – to je pod jeho úroveň. 18.1 Rovnoměrné rozdělení 219 Tramvaj jezdí v šestiminutových intervalech. Student přijde vždy na zastávku naprosto náhodně a čeká, až tramvaj pojede. Dobu X jeho čekání na tramvaj lze popsat rovnoměrným rozdělením na intervalu 0; 6 . Hustota tohoto rozdělení je f(x) = 1 6 pro x ∈ 0, 6 , 0 jinak, viz též obrázek 18.1 (s a = 0 a b = 6). a) Vypočtěte pravděpodobnost, že bude čekat déle než 4 minuty. b) Najděte distribuční funkci náhodné veličiny X. c) Vypočtěte střední hodnotu a rozptyl náhodné veličiny X. Řešení. a) Je zřejmé, že P(X > 4) = 1/3, protože interval (4, 6) tvoří jednu třetinu celkového intervalu. Integrací vyjde totéž: P(X > 4) = ∞ 4 f(x)dx = 6 4 1 6 dx + ∞ 6 0dx = 1 6 [x]6 4 = 1 3 . b) Distribuční funkce je pro x < 0 rovna 0. Pro x ∈ 0, 6 je F(x) = x −∞ f(t)dt = 0 −∞ 0dt + x 0 1 6 dt = 1 6 [t]x 0 = 1 6 x. Pro x > 6 můžeme rovnou říct, že F(x) = 1. Kdo nevěří, má zde výpočet rozepsaný: F(x) = x −∞ f(t)dt = 0 −∞ 0dt + 6 0 1 6 dt + x 6 0dt = 1. Graf distribuční funkce pro obecný případ vidíme na obrázku 18.2. c) Střední hodnota je podle (17.9) EX = ∞ −∞ xf(x)dx = 6 0 1 6 xdx = 1 6 x2 2 6 0 = 1 6 (18 − 0) = 3. Výsledek je celkem očekávaný: jestliže tramvaj jezdí po 6 minutách a člověk na zastávku přichází náhodně, bude čekat průměrně 3 minuty. Rozptyl je podle (17.10) DX = ∞ −∞ x2 f(x)dx − (EX)2 = 6 0 1 6 x2 dx − 9 = 1 6 x3 3 6 0 − 9 = 3. EX a DX vyšly stejně pouze náhodou, obecné vzorce pro jejich výpočet jsou v rámečku níže. 220 Významná spojitá rozdělení pravděpodobnosti Náhodná veličina X s rovnoměrným rozdělením na intervalu a, b , X ∼ Ro(a, b), má hustotu f a distribuční funkci F f(x) = 1 b−a pro x ∈ a, b , 0 jinak, F(x) =    0 pro x < a, x−a b−a pro x ∈ a, b , 1 pro x > b, viz obrázky 18.1 a 18.2. Střední hodnota a rozptyl rovnoměrného rozdělení jsou EX = a + b 2 , DX = (b − a)2 12 . 18.2 Exponenciální rozdělení Exponenciální rozdělení je úzce svázáno s rozdělením Poissonovým a už jsme se o něm zmínili v kapitole 16.4, teď se k němu vrátíme. Předpokládejme, stejně jako u Poissonova rozdělení, že zkoumáme události, které přicházejí nezávisle na sobě a průměrně jich nastává λ za jednotku času. Všechny předpoklady, které mají být splněny, jsme uvedli v kapitole 16.4. Nyní nás ale nebude zajímat, kolik událostí za jednotku času nastane, nýbrž časový odstup mezi dvěma po sobě jdoucími událostmi, resp. doba čekání na další událost. Náhodná veličina, která popisuje tuto dobu, má exponenciální rozdělení. Distribuční funkci (a z ní pak i hustotu) exponenciálního rozdělení lze celkem snadno odvodit pomocí pravděpodobnostní funkce rozdělení Poissonova. V kapitole 16.4 jsme uvedli, že náhodná veličina, která udává (za jistých předpokladů) počet událostí, které nastanou za jednotku času, má Poissonovo rozdělení s pravděpodobnostní funkcí p(k) = λk k! e−λ . Teď se zabýváme dobou čekání na další událost. Pravděpodobnost, že na událost budeme čekat déle než x časových jednotek, je stejná jako pravděpodobnost, že za x časových jednotek se žádná událost nestane. Označme jako X dobu čekání a jako Y počet událostí za x jednotek času. Náhodná veličina Y má Poissonovo rozdělení, Y ∼ Po(λx) (λ byl průměrný počet událostí za jednu jednotku času, takže za x jednotek nastává průměrně xλ událostí). Podle výše uvedeného je P(X > x) = P(Y = 0) = p(0) = (λx)0 0! e−λx = e−λx . Distribuční funkce exponenciálního rozdělení je tedy pro x > 0 F(x) = P(X ≤ x) = 1 − P(X > x) = 1 − e−λx . 18.2 Exponenciální rozdělení 221 Pro x ≤ 0 je F(x) = 0, protože X (doba čekání) nemůže být záporná. Hustotu exponenciálního rozdělení pak získáme jako derivaci distribuční funkce. Nechť platí stejné předpoklady jako u Poissonova rozdělení. Náhodná veličina X, která udává dobu mezi dvěma výskyty určité události (nebo též dobu čekání na další událost), když víme, že průměrně nastává λ událostí za jednotku času, má exponenciální rozdělení pravděpodobnosti s parametrem λ, píšeme X ∼ Exp(λ). Hustota exponenciálního rozdělení je f(x) = λe−λx pro x > 0, 0 pro x ≤ 0. Distribuční funkce je F(x) = 1 − e−λx pro x > 0, 0 pro x ≤ 0. Střední hodnota a rozptyl jsou EX = 1 λ , DX = 1 λ2 Výpočet střední hodnoty a rozptylu se provede pomocí (17.9) a (17.10) a přenecháme je čtenáři jako cvičení. Grafy hustoty a distribuční funkce exponenciálního rozdělení pro dvě různé hodnoty parametru λ vidíme na obrázcích 18.3 a 18.4. Příklad 18.2. Přístroj má poruchu v průměru jednou za 2000 hodin. Veličina X představující dobu čekání na poruchu má exponenciální rozdělení. a) Jaká je pravděpodobnost, že přístroj bude mít poruchu dříve než za 1000 hodin? b) Určete dobu T1 tak, aby pravděpodobnost, že přístroj bude pracovat delší dobu než T1, byla 0,9. c) Do jaké doby se přístroj pokazí s pravděpodobností 0,9? d) Přístroj už pracuje bez poruchy 1000 hodin. Jaká je pravděpodobnost, že vydrží pracovat ještě alespoň 2000 hodin? Řešení. V prvé řadě stanovíme časovou jednotku. Nabízí se jednotka 2000 hodin, tj. budeme teď počítat s čísly, kdy hodnota 1 odpovídá 2000 hod. Za druhé stanovíme λ, tj. průměrný počet poruch za časovou jednotku: v našem případě λ = 1. A tak X ∼ Exp(1). 222 Významná spojitá rozdělení pravděpodobnosti 1 2 x 2 3,5 y y = f(x) Obr. 18.3: Hustota exponenciálního rozdělení pro λ = 2 (černě) a λ = 3,5 (šedě) 1 2 x 1 y y = F(x) Obr. 18.4: Distribuční funkce exponenciálního rozdělení pro λ = 2 (černě) a λ = 3,5 (šedě) a) Pro výpočet použijeme distribuční funkci. 1000 hodin je polovina zvolené časové jednotky. Proto pravděpodobnost, že zařízení vydrží méně než 1000 hodin, je P(X < 0,5) = F(0,5) = 1 − e−1·0,5 . = 0,394. (Distribuční funkce je sice definována jako P(X ≤ x), víme však už, že u spojitých náhodných veličin se přidáním či odebráním hraničního bodu pravděpodobnost nezmění.) b) Pravděpodobnost 0,9 je dost vysoká - proto doba T bezporuchového provozu s touto pravděpodobností bude mnohem nižší než 2000 hodin. Podle výsledku části a) vidíme, že bude nižší i než 1000 hodin. Určeme nyní T1 přesně. Chceme, aby P(X > T1) = 0,9. Na obrázku 18.5 je tato hodnota vyznačena. Obsah vyšrafované plochy by měl být 0,9. Pro výpočet využijeme opět distribuční funkci F: P(X > T1) = 0,9 1 − P(X ≤ T1) = 0,9 1 − F(T1) = 0,9 F(T1) = 0,1 1 − e−λ·T1 = 1 − e−T1 = 0,1 T1 . = 0,105 (mezi posledními dvěma řádky je několik kroků vynecháno, ale absolvent prvního ročníku by si s nimi měl poradit). Našli jsme tedy dobu T1, po kterou zařízení bude pracovat bez poruchy na 90%. Ovšem musíme tento údaj prezentovat v rozumnějších jednotkách: Pokud 1 odpovídá 2000 hodin, tak T1 . = 0,105 · 2000 hodin . = 210 hodin. c) Nyní hledáme T2 tak, aby pravděpodobnost, že se přístroj pokazí dříve než za T2 jednotek, byla 0,9. Obsah šedě vybarvené oblasti na obrázku 18.5 by tedy měl být 0,9. P(X < T2) = 0,9 18.2 Exponenciální rozdělení 223 F(T2) = 0,9 1 − e−T2 = 0,9 T2 . = 2,303 · 2000 hodin . = 4606 hodin. d) Máme vypočítat pravděpodobnost, že přístroj vydrží ještě 2000 hodin (neboli 1 jednotku času), za předpokladu, že už vydržel 1000 hodin (= 0,5 jednotky). Celková doba bezporuchového provozu tedy musí překročit 3000 hodin (= 1,5 jednotek). Počítáme tedy P([X > 1,5]|[X > 0,5]) – podmíněnou pravděpodobnost. Tu počítáme podle vzorce (14.1). V našem případě je A = [X > 0,5] a B = [X > 1,5]. Průnik jevů A a B je [X > 1,5]. Tedy P([X > 1,5]|[X > 0,5]) = P(X > 1,5) P(X > 0,5) = 1 − F(1,5) 1 − F(0,5) = e−1,5 e−0,5 = e−1,5+0,5 = e−1 . = 0,368. Obrázek 18.6 slouží jako ilustrace k této části: počítáme, jakou část šedé plochy zabírá vyšrafovaná plocha. Na tomto příkladu není ani tak zajímavý numerický výsledek, jako spíš krok těsně před jeho dosažením. Zjistili jsme, že P([X > 0,5 + 1]|[X > 0,5]) = e−1 , což ale není nic jiného než pravděpodobnost, že zařízení vydrží pracovat bez poruchy déle než 1 časovou jednotku: P(X > 1) = 1 − F(1) = 1 − (1 − e−λ·1 ) = e−1 . To, že zařízení už nějakou dobu pracovalo bez poruchy, se nijak neprojevilo na pravděpodobnosti, že bude pracovat další jednotku času. T1 T2 x y y = f(x) Obr. 18.5: K příkladu 18.2, části b) (šrafovaná plocha) a c) (šedá plocha) 0,5 1,5 x y y = f(x) Obr. 18.6: K příkladu 18.2, část d) (podmíněná pravděpodobnost) V části d) předchozího příkladu jsme ukázali, že náhodná veličina s exponenciálním rozdělením „nemá paměť : Pravděpodobnost, že budeme na další událost čekat déle než t jednotek, nezávisí na tom, jak dlouho už jsme čekali. Matematicky zapsáno P([X > a + t]|[X > a]) = P(X > t) (18.1) Pomocí exponenciálního rozdělení lze modelovat životnost některých zařízení. Je to však možné pouze u takových zařízení, která bývají poškozena zásahem nějakého vnějšího vlivu a nepodléhají opotřebení – jinak by to bylo v rozporu se vztahem (18.1). Životnost součástek, které opotřebení podléhají, lze modelovat pomocí tzv. Weibullova rozdělení. Toto rozdělení už jsme použili v příkladu 17.2, aniž bychom se zmínili o jeho názvu. 224 Významná spojitá rozdělení pravděpodobnosti 18.3 Teorie front Z Poissonova a exponenciálního rozdělení vycházejí mnohé modely teorie front. Zde bude náhodnou událostí příchod zákazníka do fronty, např. u pokladny v obchodě, u benzínové pumpy, na přístup k tiskárně, apod. S tímto druhem front se každý den setkáváme. Při popisu fronty je potřeba modelovat situaci, kdy do fronty lidé přicházejí a současně z ní odcházejí – ne pryč, ale do jednotky obsluhy (tj. ten, kdo je obsluhován, už není ve frontě). Počet příchodů do fronty za časovou jednotku lze dobře popsat Poissonovým rozdělením. Tempo obsluhy (tj. odchody z fronty) lze dobře popsat exponenciálním rozdělením (doba mezi dvěma po sobě jdoucími odchody z fronty je rovna době obsluhy jednoho zákazníka). Ovšem ve skutečných frontách se vyskytují ještě další parametry, nejen příchody a odchody. V následujícím si budeme všímat různých situací vzhledem k šesti různým parametrům takzvaného Kendallova-Leeova rozšířeného označení (a|b|c) : (d|e|f). Vysvětleme nyní jejich význam: a . . . Typ rozdělení veličiny X popisující počet příchodů do fronty za jednotku času (pokud hodnota tohoto parametru je M, označuje to tzv. Markovského typ příchodů, což znamená, že X má Poissonovo rozdělení; my se zde budeme bavit pouze o tomto typu příchodů do fronty – průměrný počet zákazníků přišlých do fronty za jednotku času budeme značit λ). b . . . Typ rozdělení veličiny Y popisující dobu obsluhy jednoho zákazníka (hodnota M označuje tzv. Markovského typ obsluhy, kdy Y má exponenciální rozdělení - pak průměrný počet zákazníků obsloužených za jednotku času má pro změnu opět Poissonovo rozdělení - parametr tempa obsluhy budeme označovat µ). c . . . Počet paralelních serverů = obsluhovacích pultů. d . . . Typ fronty (např. FIFO = „first in first out = první, kdo se do fronty zařadil, bude jako první obsloužen; LIFO = „last in first out = kdo přišel poslední, bude obsloužen nejdřív (tzv. zásobníková fronta); apod.) e . . . Maximální dovolený počet zákazníků v systému (systém = fronta + obsluha). f . . . Velikost zdroje, ze kterého zákazníci přicházejí do fronty. Samozřejmě, že matematické modely mají své slabiny – například v tomto oddílu nebudeme uvažovat, že zákazník, který se do fronty jednou zařadí, pak za chvíli změní názor a odejde ještě dříve, než je obsloužen. Kdybychom i tohle chtěli brát v potaz, situace by byla ještě složitější než ty, kterými se budeme zabývat. To je jasný princip – čím přesnější chceme, aby model popisující realitu byl, tím je složitější (a většinou vždy obsahuje určitou míru pravděpodobnosti). Všechny následující modely uvažují tento systém: Zákazníci přicházejí do jediné fronty a řadí se za sebe. Jakmile se uvolní místo v obsluze, která sestává z jednoho nebo více paralelních serverů, ten, kdo je ve frontě první, odchází z fronty do obsluhy a začne být obsluhován. Obsloužený zákazník odchází pryč. Důležitou otázkou těchto modelů je, zda existuje tzv. ustálený stav (ten neexistuje, pokud tempo λ příchodů do fronty za časovou jednotku je větší než tempo µ · c (= µ krát počet serverů) obsloužených zákazníků za jednotku času – v tom případě je systém zahlcen). Pokud existuje ustálený stav systému, budeme se zabývat jeho následujícími charakteristikami: pn . . . pravděpodobnost, že v ustáleném stavu je v systému (= frontě + obsluze) právě n zákazníků; Ls . . . očekávaný (střední, průměrný) počet zákazníků v systému; Lq . . . očekávaný počet zákazníků ve frontě (q je z anglického fronta = queue); Ws . . . očekávaná doba strávená zákazníkem v systému; Wq . . . očekávaná doba strávená zákazníkem ve frontě. 18.3 Teorie front 225 Nejdůležitější z uvedených charakteristik ustáleného stavu jsou bezesporu pravděpodobnosti pn, protože pomocí nich určíme všechny ostatní uvedené parametry jako střední hodnoty jistých veličin: a) Z definice střední hodnoty diskrétní náhodné veličiny plyne Ls = ∞ n=0 n · pn; Lq = ∞ n=c (n − c) · pn. b) Vztah mezi L a W: Ls = λ · Ws, Lq = λ · Wq. c) Průměrná doba strávená v systému se rovná součtu průměrné doby čekání ve frontě a průměrné doby obsluhy, tj. Ws = Wq + 1 µ . Odtud vynásobením λ a užitím b) máme Ls = Lq + λ µ . Z posledního vztahu mimo jiné plyne λ = µ · (Ls − Lq). d) Někdy se kvůli omezení délky fronty (např. počtem parkovacích míst, počtem telefonátů „v pořadí ve frontě, apod.) další zákazníci nemohou do fronty připojit. Pak zavádíme tzv. ovlivněné (cizím slovem efektivní) tempo příchodů λeff vyjadřující, že ze všech příchozích se do fronty přidá jen jisté procento, tj. λeff = λ · β, kde β ∈ (0; 1). V takovém případě platí Ls = λeff · Ws; Lq = λeff · Wq; Ls = Lq + λeff µ . Podívejme se nyní na některé konkrétní modely front. 18.3.1 Fronty typu (M|M|1) : (GD|∞|∞) První dvě M v identifikaci označují Markovského typ fronty (Markovského typ příchodů do fronty tempem λ za jednotku času; Markovského typ obsluhy tempem µ za jednotku času) popsaný Poissonovým (popřípadě exponenciálním) rozdělením pravděpodobnosti. Třetí parametr 1 říká, že obsluha sestává z jedné jednotky (serveru, pokladny, apod.). Čtvrtý parametr GD označuje nespecifikovaný typ fronty, kde určení pravděpodobnosti pn závisí pouze na střední hodnotě doby čekání ve frontě (GD jako general discipline, obecný charakter fronty; pokud bychom chtěli studovat vlastnosti fronty, které závisí nejen na střední hodnotě, ale i na konkrétním rozdělení doby čekání, museli bychom typ fronty specifikovat). Dále e = ∞ neboli délka fronty není nijak omezena; f = ∞ – velikost zdroje, ze kterého přicházejí do fronty zákazníci, také není nijak omezena (ve skutečnosti je tato hodnota vždy omezena např. počtem obyvatel v republice, apod., ale toto číslo je proti očekávaným počtům zákazníků ve frontě tak 226 Významná spojitá rozdělení pravděpodobnosti velké, že je můžeme považovat za nekonečné). Celkem složitým způsobem (Saaty 1961) se odvodí diferenční rovnice pro pn za ustáleného stavu ρ = λ µ < 1, které se celkem lehce vyřeší např. pomocí Z-transformace. Výsledek pro ustálený stav: pn = (1 − ρ) · ρn , n = 0, 1, 2, 3, . . . (tzv. geometrické rozdělení pravděpodobnosti – popisuje čekání na úspěch a zatím jsme se s ním v tomto textu nesetkali). Pak Ls = ∞ 0 n · pn = ∞ 0 n(1 − ρ)ρn = = (1 − ρ) · ρ · d dρ ∞ 0 ρn = (1 − ρ) · ρ · 1 1 − ρ = ρ 1 − ρ ; Lq = Ls − λ µ = ρ2 1 − ρ ; Ws = Ls λ = 1 µ(1 − ρ) ; Wq = ρ µ(1 − ρ) . Příklad 18.3. Do myčky aut přijíždějí auta na základě Poissonova rozložení se střední hodnotou 5 za hodinu. Doba mytí jednoho auta se řídí exponenciálním rozdělením se střední hodnotou 10 minut. Nemůže probíhat mytí více aut najednou. Určete a) Průměrný počet aut ve frontě. b) Kolik parkovacích míst je třeba, aby se aspoň 80% času všechna přijíždějící auta vešla do fronty. c) Průměrnou dobu, po kterou je linka nevyužitá. d) Průměrnou dobu strávenou zákazníkem v systému. Řešení. λ = 5, µ = 6 (za hodinu je průměrně umyto 6 aut). ρ = 5 6 , existuje tedy ustálený stav a má smysl určovat jeho charakteristiky. ad a) Lq = ρ2 1−ρ = 4, 17 . = 4 auta. Průměrně budou ve frontě 4 auta. ad b) Máme najít s tak, aby p0 + p1 + p2 + · · · + ps ≥ 0,8; Dosazením a využitím vzorce pro součet prvních s členů geometrické posloupnosti máme 1 − ρ + ρ(1 − ρ) + · · · + ρs (1 − ρ) ≥ 0,8 (1 − ρ) · 1 − ρs+1 1 − ρ ≥ 0,8 0,2 ≥ ρs+1 s + 1 ≥ ln 0,2 ln ρ . = 8,8 s ≥ 7,8 Tedy S = 8, z čehož jedno místo v obsluze a 7 míst ve frontě zajistí, že 80% času se všechna přijíždějící auta vejdou. ad c) p0 = 1 − ρ . = 0,17, tj. linka je nevyužitá 17% času. 18.3 Teorie front 227 ad d) Ws = 1 µ(1−ρ) = 1 hodina, tj. manažer by měl přemýšlet, jak zrychlit provoz myčky. 18.3.2 Fronty typu (M|M|1) : (GD|N|∞) Oproti modelu 18.3.1 je zde jediný rozdíl, a sice ten, že je-li v systému N zákazníků, dalším není dovoleno zařadit se do fronty, čili tempo λeff zařazení do fronty je menší než tempo λ přijíždějících zákazníků. Systém se někdy nazývá systémem se ztrátami, protože někteří zákazníci jsou ztraceni (kvůli plné frontě jedou jinam). V případě tohoto modelu nemusí platit ρ < 1, ustálený stav existuje vždy. Lze odvodit, že pn = 1 N+1 , jestliže ρ = 1; 1−ρ 1−ρN+1 · ρn , jestliže ρ = 1 pro n = 0, 1, 2, . . . , N. Odtud Ls = N 2 , jestliže ρ = 1; N 0 npn = 1−ρ 1−ρN+1 · N 0 nρn , jestliže ρ = 1. Upravíme-li druhou funkci definující Ls, lze psát 1 − ρ 1 − ρN+1 · N 0 nρn = 1 − ρ 1 − ρN+1 · ρ · d dρ 1 − ρN+1 1 − ρ = ρ(1 − (N + 1)ρN + NρN+1 ) (1 − ρ)(1 − ρN+1) , a tedy Ls = N 2 , jestliže ρ = 1; ρ(1−(N+1)ρN +NρN+1 ) (1−ρ)(1−ρN+1) , jestliže ρ = 1. Dále pravděpodobnost, že zákazník se už do fronty nepřipojí (jede jinam), se rovná pN , a tedy pravděpodobnost, že přijíždějící zákazník se do fronty připojí, je rovna 1 − pN . Odtud λeff = λ · (1 − pN ). Ostatní charakteristiky určíme ze vztahů Wq = Lq λeff = Lq λ(1 − pN ) ; Ls = Lq + λeff µ = Lq + λ(1 − pN ) µ ; Ws = Wq + 1 µ = Ls λ(1 − pN ) . Také lze ukázat, že platí λeff = µ · (Ls − Lq). Model sice zachycuje skutečnost, že někteří zákazníci jednou jinam kvůli plné frontě, ale nepočítá se ztrátou dobré vůle zákazníků, tj. s tím, že zákazníci, kteří museli kvůli plné frontě několikrát odjet, už třeba příště nepřijedou vůbec. Příklad 18.4. Vraťme se k příkladu 18.3 myčky a uvažujme N = 5+1 (tj. pět parkovacích míst a jedno místo obsluhy v myčce). Určete 228 Významná spojitá rozdělení pravděpodobnosti a) Kolik aut jede jinam kvůli plné frontě v průběhu osmihodinové pracovní doby. b) Průměrnou dobu Ws strávenou zákazníkem v systému. Řešení. ad a) pN = p6 = 1 − 5 6 1 − (5 6 )7 · 5 6 6 = 0,0774, tj. počet odrazených zákazníků za hodinu je λ − λeff = λ · pN = 5 · 0,0774 = 0,387; Tedy za osm hodin jedou asi 8 · 0,387 . = 3 auta jinam. ad b) Ls = N 0 npn = 6 0 npn = · · · = 2,29 auta; Ws = Ls λeff = 2,29 5(1 − 0,0774) = 0,496 hodin. Tedy oproti neomezené délce fronty (příklad 18.3) byla doba strávená v systému zkrácena z jedné hodiny asi na polovinu za cenu tří ztracených aut denně. 18.3.3 Fronty typu (M|M|c) : (GD|∞|∞) Tento typ fronty je analogický typu 18.3.1 s tím rozdílem, že může současně být obsluhováno c zákazníků (říkáme, že obsluha má c jednotek). Podmínka existence ustáleného stavu je ρ c < 1, tj. λ µc < 1 (pro ρ = λ µ ). Charakteristiky ustáleného stavu: p0 = c−1 0 ρn n! + ρc c!(1 − ρ c ) −1 ; pn = ρn n! · p0 pro 0 < n ≤ c; ρn cn−c·c! · p0 pro n > c. Odtud dostaneme Lq = ρc+1 (c − 1)! · (c − ρ)2 · p0 = c · ρ (c − ρ)2 · pc; Ls = Lq + ρ; Wq = Lq λ ; Ws = Wq + 1 µ . Celkem komplikované výpočty lze aproximovat následujícími vztahy: pro ρ 1 : p0 . = 1 − ρ, Lq . = ρc+1 c2 ; pro ρ . = 1 : p0 . = (c − ρ)(c − 1)! cc , Lq . = ρ c − ρ . 18.3 Teorie front 229 Příklad 18.5. V malém městě provozovaly taxislužbu dvě firmy, z nichž každá vlastnila dvě auta. Byly koupeny jedním majitelem, který si položil otázku: Jsou oba dispečinky využity, nestačil by jeden? Na každém z dispečinků jsou objednávky stejně časté, asi λ = 10 za hodinu. Průměrná doba jedné jízdy je 11,5 minut. Řešení. Otázka zní: co je lepší - dva systémy (M|M|2), kde λ = 10 a µ = 5,217 v každém z nich, nebo jeden systém (M|M|4), kde λ = 20 a µ = 5,217? Poměr využitosti linek ρ c je stejný v obou situacích, ale jiné parametry jsou odlišné: Model (M|M|2) ... p0 = 0,0212, Wq = 2,16 hod. Model (M|M|4) ... p0 = 0,0042, Wq = 1,05 hod., čili pro zákazníky jasně vhodnější model. 18.3.4 Fronty typu (M|M|c) : (GD|N|∞) Na rozdíl od typu 18.3.3 je nyní N maximální počet zákazníků v systému, tj. (N − c) je maximální délka fronty. Ustálený stav tedy existuje vždy a zde jsou jeho charakteristiky: p0 =    c−1 0 ρn n! + ρc c! · (N − c + 1) −1 , jestliže ρ c = 1; c−1 0 ρn n! + ρc c! · 1−( ρ c )N−c+1 1− ρ c −1 , jestliže ρ c = 1; pn = ρn n! · p0 pro 0 ≤ n ≤ c; ρn c!·cn−c · p0 pro c ≤ n ≤ N; Lq = p0 · ρc (N−c)(N−c+1) 2·c! , jestliže ρ c = 1; p0 · ρc+1 (c−1)!(c−ρ)2 1 − (ρ c )N−c − (N − c)(ρ c )N−c (1 − ρ c ) , jestliže ρ c = 1; Ls = Lq + (c − c) = Lq + λeff µ , kde c je očekávaný počet nečinných serverů (c = c 0(c − n)pn). (c − c) je očekávaný počet využitých serverů a pro efektivní tempo příchodů λeff platí λeff = λ(1 − pN ) = µ(c − c). Příklad 18.6. Vraťme se k příkladu 18.5 a modelu typu (M|M|4). Pokud se dispečink omluví, když je ve frontě už 16 žadatelů o odvoz (tj. N = 16 + 4 = 20), pak p0 = 0,00753; Lq = 5,85; p20 = 0,03433 =⇒ λeff = λ(1 − p20) = 19,31; Wq = Lq λeff = 0,303 hod . = 18 minut. Doba čekání ve frontě je tedy dále zkrácena na úkor ztráty p20 ·100 = 3,4% zákazníků. Samozřejmě tento model neříká nic o ztrátě dobré vůle některých zákazníků po dlouhodobém provozu (ve skutečnosti bude ztráta klientely větší než 3, 4%). 230 Významná spojitá rozdělení pravděpodobnosti Maplety Odkazy na některé maplety: 1. Exponenciální rozdělení 231 19 Normální rozdělení Normální (nebo též Gaussovo) rozdělení pravděpodobnosti je nejvýznamnější ze všech pravděpodobnostních rozdělení. Jeho hustota má tvar tzv. Gaussovy křivky (viz obrázek 19.1). Normálním rozdělením lze popsat např. veličiny, jejichž hodnoty jsou ovlivněny velkým množstvím nepatrných navzájem nezávislých faktorů. Představme si třeba automatizovanou výrobu nějakých součástek. Výsledný tvar by měl být u všech součástek víceméně stejný, je však ovlivněn odchylkami ve vlastnostech materiálu, teplotou při opracování, opotřebením či znečištěním použitých nástrojů, vibracemi a mnoha dalšími vlivy. Důležité oblasti, kde se normální rozdělení používá, je zpracování chyb vzniklých při měření nějaké fyzikální veličiny a kontrola kvality výroby. Význam normálního rozdělení spočívá také v tom, že pomocí něj lze aproximovat řadu dalších rozdělení, jak uvidíme v kapitole 19.3. Náhodná veličina X s normálním rozdělením se střední hodnotou EX = µ (µ ∈ R) a rozptylem DX = σ2 (σ > 0) má hustotu f(x) = 1 √ 2π · σ · e− (x−µ)2 2σ2 , x ∈ R. (19.1) Zapisujeme X ∼ N(µ, σ2 ). µ − 3σ µ − σ µ µ + 3σµ + σ x y y = f(x) Obr. 19.1: Graf hustoty normálního rozdělení Graf hustoty normálního rozdělení je souměrný kolem střední hodnoty µ, kde funkce též nabývá svého maxima. V bodech x = µ ± σ jsou inflexní body (funkce se mění z konvexní 232 Normální rozdělení v konkávní, resp. naopak). Funkce f je kladná pro všechna reálná x, avšak mimo rozmezí µ ± 3σ už graf s osou x téměř splývá (tzv. pravidlo tří sigma, viz též příklad 19.2). Na obrázku 19.2 pak jsou grafy hustoty pro σ2 = 1, zatímco střední hodnota µ je postupně −2, 3 a 8. Vidíme, že tvar se nemění, ale graf se posouvá po ose x v závislosti na hodnotě µ. Na obrázku 19.3 je µ = 6 a mění se hodnoty rozptylu σ2 , postupně máme směrodatnou odchylku σ = 0,5, 1, 2. Při malém rozptylu je graf hustoty vysoký a úzký, pro větší rozptyl hustota nabývá nižších funkčních hodnot, ale interval s hodnotami významně odlišnými od nuly je širší. Obsah pod celým grafem hustoty je vždy roven 1. µ = −2 µ = 3 µ = 8 x y Obr. 19.2: Hustota normálního rozdělení pro různé střední hodnoty µ µ = 6 σ = 0,5 σ = 1 σ = 2 x y Obr. 19.3: Hustota normálního rozdělení pro různé rozptyly σ2 Funkční předpis hustoty na první pohled nemá příjemný tvar, ale naštěstí se ukáže, že integrování funkce f se budeme moci vyhnout. Při praktických výpočtech budeme pracovat s tzv. standardizovaným normálním rozdělením. Normální rozdělení s parametry µ = 0, σ2 = 1 se nazývá standardizované (nebo též normované) normální rozdělení. Náhodnou veličinu s tímto rozdělením budeme značit U (v anglické literatuře se používá označení Z), U ∼ N(0, 1) (případně Z ∼ N(0, 1)). Hustota náhodné veličiny U je f(u) = 1 √ 2π · e−u2 2 , u ∈ R. (19.2) Distribuční funkci náhodné veličiny U označíme Φ, Φ(u) = P(U ≤ u) = 1 √ 2π u −∞ e−t2 2 dt. Funkci Φ(u) nelze vyjádřit pomocí elementárních funkcí, avšak statistické počítačové programy (i některé kalkulačky) s ní umí pracovat. Navíc jsou hodnoty funkce Φ tabelovány, viz tabulky na stranách 264 a 265. 233 Hustotu a distribuční funkci standardizovaného normálního rozdělení vidíme na obrázcích 19.4 a 19.5. 1 2 3−1−2−3 u 0,1 0,2 0,3 y y = f(u) Obr. 19.4: Hustota standardizovaného normálního rozdělení 1 2 3−1−2−3 u 0,5 1 y y = Φ(u) Obr. 19.5: Distribuční funkce standardizovaného normálního rozdělení Příklad 19.1. IQ obyvatel Kocourkova má normální rozdělení se střední hodnotou µ = = 105 a rozptylem σ2 = 50. Jaká je pravděpodobnost, že náhodně vybraný obyvatel Kocourkova bude mít IQ nižší než 110? Řešení. Máme náhodnou veličinu X ∼ N(105, 50), navíc poznamenejme, že směrodatná odchylka je σ = √ 50. Zadanou pravděpodobnost bychom mohli počítat integrací hustoty (19.1): P(X < 110) = 110 −∞ 1 √ 2π · √ 50 · e− (x−105)2 2·50 dx. Tuto funkci bohužel analyticky zintegrovat nelze, takže integrál by se musel počítat např. některou z numerických metod z kapitoly 8. Zavedeme substituci za (x−105)/ √ 50 (obecně za (x − µ)/σ), pozor na změnu integračních mezí: P(X < 110) = x−105√ 50 = t 1√ 50 dx = dt = 1 √ 2π · √ 50 · √ 50 5/ √ 50 −∞ e−t2 2 dt = 1 √ 2π 5/ √ 50 −∞ e−t2 2 dt. To je integrál z hustoty standardizovaného normálního rozdělení U, viz (19.2), který udává pravděpodobnost, že náhodná veličina U je menší než 5/ √ 50, neboli – vyjádřeno pomocí distribuční funkce – Φ(5/ √ 50). Tuto hodnotu nalezneme v tabulce na straně 264: P(X < 110) = P U < 5 √ 50 = Φ 5 √ 50 . = Φ(0,71) . = 0,761. 234 Normální rozdělení V právě předvedeném příkladu jsme viděli, že transformovaná náhodná veličina (X − µ)/σ má standardizované normální rozdělení U ∼ N(0, 1). Tohoto faktu budeme využívat při všech dalších výpočtech s normálním rozdělením a žádné integrály už rozepisovat nebudeme. Pravděpodobnost, že náhodná veličina U je v určitém rozmezí, jsme vždy schopni určit z hodnot její distribuční funkce Φ (obecné vzorce pro práci s distribuční funkcí viz (17.6), (17.7) a (17.8)). Jestliže X je náhodná veličina s normálním rozdělením se střední hodnotou µ a rozptylem σ2 , X ∼ N(µ, σ2 ), pak transformací U = X − µ σ (19.3) získáme náhodnou veličinu se standardizovaným normálním rozdělením U ∼ N(0, 1). Výpočty pravděpodobností pro X pak provádíme pomocí distribuční funkce náhodné veličiny U: P(X < b) = P U < b − µ σ = Φ b − µ σ (19.4) P(X > a) = P U > a − µ σ = 1 − Φ a − µ σ (19.5) P(a < X < b) = P a − µ σ < U < b − µ σ = Φ b − µ σ − Φ a − µ σ (19.6) Ke vztahům (19.4)–(19.6) ještě připomeňme, že u spojitých náhodných veličin přidání či odebrání hraničního bodu (neboli ostrá či neostrá nerovnost) nehraje roli. Jediný problém, který nám zbývá vyřešit, je ten, že v tabulkách na stranách 264 a 265 jsou uvedeny hodnoty Φ(u) pouze pro u ≥ 0. Jestliže potřebujeme získat hodnotu funkce Φ v nějakém záporném bodu, využijeme symetrie hustoty náhodné veličiny U, viz obrázek 19.6. Obě vybarvené oblasti v tomto obrázku mají stejný obsah. Obsah oblasti vlevo udává pravděpodobnost P(U < −u), zatímco obsah pravé oblasti je P(U > u). Tedy P(U < −u) = P(U > u) a využitím vlastností distribuční funkce (17.6) a (17.7) máme Φ(−u) = 1 − Φ(u). (19.7) Vztah (19.7) je vidět i ze symetrie grafu distribuční funkce, viz obrázek 19.7. Příklad 19.2. Náhodná veličina X udávající spotřebu barvy na 100 m2 natírané plochy má normální rozdělení se střední hodnotou µ = 9 litrů a rozptylem σ2 = 0,16, X ∼ N(9; 0,16). S jakou pravděpodobností bude spotřeba barvy 235 u−u u Φ(−u) 1 − Φ(u) d d d d‚        © y y = f(u) Obr. 19.6: Vysvětlení vztahu (19.7) ze symetrie hustoty u−u u 0,5 Φ(u) Φ(−u) 1 y y = Φ(u) Obr. 19.7: Vysvětlení vztahu (19.7) ze symetrie distribuční funkce a) větší než 9,5 litru, b) v intervalu 8,6 až 9,3 litru, c) v intervalu µ − 3σ; µ + 3σ ? d) Pod jakou hranicí leží spotřeba barvy s pravděpodobností 0,99? Řešení. Protože X ∼ N(9; 0,16), použijeme transformaci (19.3) ve tvaru X − 9 √ 0,16 = X − 9 0,4 = U. Pozor na jmenovatel zlomku. Je v něm směrodatná odchylka σ, nikoli rozptyl σ2 . Části a), b) a c) nyní budeme počítat pomocí vztahů (19.4)–(19.6) a (19.7), hodnoty funkce Φ vždy najdeme v tabulkách na stranách 264 a 265: a) P(X > 9,5) = P U > 9,5−9 0,4 = P(U > 1,25) = 1 − Φ(1,25) . = 1 − 0,894 = 0,106 Vypočítali jsme obsah vyšrafované plochy na obrázku 19.8. b) P(8,6 ≤ X ≤ 9,3) = P 8,6−9 0,4 ≤ U ≤ 9,3−9 0,4 = P(−1 ≤ U ≤ 0,75) = = Φ(0,75)−Φ(−1) = Φ(0,75)−(1−Φ(1)) = Φ(0,75)−1+Φ(1) . = 0,774−1+0,841 = 0,615 Vypočítali jsme obsah šedě vybarvené plochy na obrázku 19.8. c) Zde nebudeme dosazovat konkrétní hodnoty µ a σ, výpočet provedeme obecně: P(µ−3σ ≤ X ≤ µ+3σ) = P µ − 3σ − µ σ ≤ U ≤ µ + 3σ − µ σ = P(−3 ≤ U ≤ 3) = = Φ(3) − Φ(−3) = Φ(3) − (1 − Φ(3)) = 2Φ(3) − 1 . = 0,997. U normálního rozdělení naprostá většina hodnot (99,7 %) leží v intervalu µ − 3σ, µ + 3σ (= tzv. pravidlo tří sigma, viz též obrázek 19.1). 236 Normální rozdělení d) Hledáme x, pro které platí P(X < x) = 0,99, neboli 0,99-kvantil náhodné veličiny X, viz obrázek 19.9. Musíme tedy postupovat zpětně. Kdybychom x znali, vypočítali bychom k němu příslušné u = (x − 9)/0,4 a platilo by P(X < x) = P(U < u) = Φ(u) = 0,99. Najdeme u, pro které je Φ(u) = 0,99. Pohledem do tabulky na straně 265 zjistíme, že je to přibližně u . = 2,33. Takže x − 9 0,4 . = 2,33 ⇒ x . = 2,33 · 0,4 + 9 = 9,932 litru. 9,59,38,6 x y y = f(x) Obr. 19.8: K příkladu 19.2, část a) (šrafovaná plocha) a b) (šedá plocha) xx = ? P(X < x) = 0,99 ❅ ❅ ❅ ❅ ❅ ❅ ❅❘ y y = f(x) Obr. 19.9: K příkladu 19.2, část d) 19.1 Rozdělení součtu a průměru náhodných veličin s normálním rozdělením Výsledky tohoto a následujícího odstavce použijeme později v kapitole o statistických testech. V příkladu 19.1 jsme ukázali, že pro X ∼ N(µ, σ2 ) má transformovaná náhodná veličina (X − µ)/σ také normální rozdělení, a to se střední hodnotou 0 a rozptylem 1. Podobným způsobem by se ukázalo: Věta 19.3. Jestliže a ∈ R a X1 a X2 jsou nezávislé náhodné veličiny s normálním rozdělením, X1 ∼ N(µ1, σ2 1) a X2 ∼ N(µ2, σ2 2), pak platí (aX) ∼ N(aµ1, a2 σ2 1), Y = (X1 + X2) ∼ N(µ1 + µ2, σ2 1 + σ2 2). 19.1 Rozdělení součtu a průměru náhodných veličin s normálním rozdělením 237 Poznámka 19.4. V případě, že náhodné veličiny X1 a X2 nezávislé nejsou, má jejich součet také normální rozdělení, ovšem jeho rozptyl už není součtem původních rozptylů. Možná se vám tvrzení předchozí věty zdá samozřejmé. To ale tak docela není. Za zřejmý můžeme považovat fakt, že střední hodnota součtu bude µ1 + µ2, to ostatně vyplývá z (15.4). Podobně pro rozptyl. Co však jasné rozhodně není, je to, že násobek, resp. součet má opět normální rozdělení. Pro jiná rozdělení to totiž platit nemusí: představme si situaci, že pětkrát hodíme dvěma kostkami, černou a bílou. Náhodná veličina X1 udává, kolikrát na bílé padla šestka, a náhodná veličina X2, kolikrát na černé padlo sudé číslo. Pak mají obě veličiny binomické rozdělení, X1 ∼ Bi(5, 1/6) a X2 ∼ Bi(5, 1/2). Součet X1 +X2 však binomické rozdělení nemá. (Kdybychom na černé kostce také počítali šestky, součet by binomické rozdělení měl, a to Bi(10, 1/6).) Věta 19.5. Jsou-li X1, . . . , Xn nezávislé náhodné veličiny, Xi ∼ N(µ, σ2 ) pro každé i = 1, . . . , n, pak pro jejich průměr platí X = 1 n n i=1 Xi ∼ N µ, σ2 n , tj. průměr má opět normální rozdělení se střední hodnotou a rozptylem µX = µ a σ2 X = σ2 n . Tvrzení této věty je důsledkem věty 19.3. Zastavme se chvíli u rozptylu σ2 X . Jednak, kde se vzalo ve jmenovateli n? Vyplývá to z pravidel (15.9) a (15.8): D 1 n (X1 + · · · + Xn) = 1 n2 D(X1 + · · · + Xn) = 1 n2 · nσ2 = σ2 n . Se zvyšujícím se n se tedy σX zmenšuje (viz též obrázek 19.10). To bychom asi intuitivně očekávali. Představme si, že zkoumáme průměrnou inteligenci n náhodně vybraných obyvatel Kocourkova (viz příklad 19.2). Očekáváme, že získaná hodnota se bude pohybovat někde kolem µ = 105, ovšem je-li vybraný vzorek Kocourkovanů malý, může se X od 105 dost lišit. Čím více obyvatel vybereme, tím vyšší máme šanci, že jejich průměrná inteligence bude hodně blízko „ideálnímu průměru µ, neboli očekáváme, že výsledky pro velké n budou kolem µ rozptýleny jen málo. Příklad 19.6. IQ obyvatel Kocourkova má normální rozdělení se střední hodnotou µ = = 105 a rozptylem σ2 = 50. Náhodně vybereme n Kocourkovanů. Jaká je pravděpodobnost, že průměrné IQ tohoto výběru bude alespoň 107? Výpočet proveďte pro a) n = 10, b) n = 40. 238 Normální rozdělení Řešení. a) Pro n = 10 má průměrná hodnota IQ X normální rozdělení se střední hodnotou a rozptylem µX = µ = 105, σ2 X = σ2 n = 50 10 = 5. Tudíž podle (19.3) je U = X − 105 √ 5 a hledaná pravděpodobnost je podle (19.5) P(X ≥ 107) = P U ≥ 107 − 105 √ 5 . = P(U ≥ 0,89) = 1 − Φ(0,89) . = 1 − 0,813 = 0,187. b) Výpočet bude analogický s jediným rozdílem: rozptyl je pro n = 40 roven σ2 X = 50/40 = = 1,25. P(X ≥ 107) = P U ≥ 107 − 105 √ 1,25 . = P(U ≥ 1,79) = 1 − Φ(1,79) . = 1 − 0,963 = 0,037. Situace je znázorněna na obrázku 19.10, na kterém je jasně vidět, že pro n = 10 bude výsledek mnohem větší než pro n = 40. 107105 x n = 40 n = 10 Obr. 19.10: K příkladu 19.6, hustota průměru X pro různá n x2 = µ + dx1 = µ − d µ x 0,95 d d d d d d d d‚ 0,025    s 0,025    C Obr. 19.11: K příkladu 19.9, hledání mezí Poznámka 19.7. Představme si nyní (celkem reálnou) situaci, že v předchozím příkladu hodnotu µ neznáme, ale zato máme k dispozici výsledky IQ testu n náhodně vybraných obyvatel Kocourkova. Z nich snadno vypočítáme průměrnou hodnotu x. Toto x nám může sloužit jako odhad střední hodnoty µ. Jestliže jsme x vypočítali z velkého výběru, lze očekávat, že se bude od µ lišit jen málo, zatímco pro malý rozsah výběru n příliš velkou přesnost čekat nemůžeme. 19.2 Centrální limitní věta 239 19.2 Centrální limitní věta Už jsme řekli, že normální rozdělení dobře popisuje veličiny, jejichž výsledná hodnota vzniká působením mnoha nezávislých vlivů. Nyní toto tvrzení formulujeme přesněji. Předpokládejme, že máme n navzájem nezávislých náhodných veličin X1, X2, . . . , Xn, které mají všechny stejné rozdělení (libovolné, ne nutně normální) se střední hodnotou EXi = µ a rozptylem DXi = σ2 , i = 1, . . . , n. Budeme zkoumat součet a průměr všech těchto veličin Y = n i=1 Xi a X = 1 n n i=1 Xi. Podle pravidel pro počítání se střední hodnotou a rozptylem (viz (15.4)–(15.9); zdůrazněme, že Xi jsou nezávislé) máme EY = nµ, DY = nσ2 , EX = µ, DX = σ2 n . Ukazuje se, že pro vzrůstající n se rozdělení náhodných veličin Y a X přibližuje normálnímu rozdělení se střední hodnotou µY = nµ, resp. µX = µ, a rozptylem σ2 Y = nσ2 , resp. σ2 X = σ2 /n, neboli rozdělení transformovaných náhodných veličin Y − nµ √ n · σ , resp. X − µ σ2 n = √ n · X − µ σ se přibližuje standardizovanému normálnímu rozdělení N(0, 1). A to je právě obsahem centrální limitní věty. 240 Normální rozdělení Věta 19.8 (Lindenberg-Lévyho). Jestliže X1, X2, . . . , Xn jsou navzájem nezávislé náhodné veličiny, které mají všechny stejné rozdělení se střední hodnotou EXi = µ a konečným rozptylem DXi = σ2 , pak pro součet a průměr těchto náhodných veličin Y = n i=1 Xi a X = 1 n n i=1 Xi platí lim n→∞ P Y − nµ √ nσ ≤ u = Φ(u) lim n→∞ P √ n · X − µ σ ≤ u = Φ(u) pro každé u ∈ R. Jinými slovy, pro dostatečně velké n (za přijatelné se považuje n > 30) je P(Y ≤ y) = P Y − nµ √ nσ ≤ u . = Φ(u), kde u = y − nµ √ nσ P(X ≤ x) = P √ n · X − µ σ ≤ u . = Φ(u), kde u = √ n · x − nµ σ . Příklad 19.9. Životnost určitého typu součástek (měřená ve stovkách hodin) je náhodná veličina X s hustotou f(x) = x 2 · e−x2/4 pro x > 0, 0 pro x ≤ 0. Nejedná se tedy o náhodnou veličinu s normálním rozdělením. V příkladu 17.3 už jsme zjistili, že střední hodnota životnosti takovéto součástky je EX = µ = √ π . = 1,77 a rozptyl je DX = σ2 = 4 − π . = 0,86. Náhodně vybereme 50 součástek. a) Jaká je pravděpodobnost, že průměrná životnost těchto 50 součástek bude vyšší než 170 hodin? b) Najděte interval souměrný kolem střední hodnoty, ve kterém bude průměrná životnost vybraných 50 součástek s pravděpodobností 0,95. Řešení. Průměrná životnost vybraných 50 součástek má podle věty 19.8 přibližně normální rozdělení, X pˇribl. ∼ N(µX, σ2 X ), µX = µ = √ π, σ2 X = σ2 n = 4 − π 50 . 19.3 Aproximace binomického rozdělení normálním rozdělením 241 Použijeme tedy transformaci U . = X − √ π 4−π 50 a) Protože měříme ve stovkách hodin, 170 hodin odpovídá 1,7 jednotky. Hledaná pravděpodobnost je přibližně P(X > 1,7) . = P  U > 1,7 − √ π 4−π 50   . = P(U > −0,55) = 1 − Φ(−0,55) = Φ(0,55) . = 0,709. b) Hledáme hranice x1 a x2 souměrné kolem střední hodnoty µ, pro které je P(x1 < X < x2) = P(µ − d < X < µ + d) = 0,95. Prohlédněme si obrázek 19.11. Obsah vybarvené plochy by měl být roven 0,95. Protože obsah pod celým grafem hustoty je roven 1, musí být obsah zbývajících nevybarvených částí roven 0,05. Jelikož je graf souměrný a meze také, znamená to, že obě nevybarvené části mají stejný obsah, a to 0,05/2 = 0,025. Proto platí P(X > x2) = 0,025, a tedy P(X < x2) = 0,975. Nyní jsme v situaci, ve které už jsme byli v části d) příkladu 19.2, a budeme tedy postupovat analogicky. Φ(u) = 0,975 ⇒ u . = 1,96 ⇒ x2 . = 1,96 · 4 − π 50 + √ π . = 2,029 neboli horní hranice je zhruba 202,9 hodiny. Ještě zbývá vypočítat dolní hranici. Využijeme symetrie kolem střední hodnoty: x1 bude ležet stejně daleko od µ jako x2, ale na opačné straně: x2 . = √ π − 1,96 · 4 − π 50 . = 1,516 neboli zhruba 151,6 hodiny. Průměrná životnost 50 součástek tedy s pravděpodobností 95 % leží v intervalu 151,6; 202,9 hodin. 19.3 Aproximace binomického rozdělení normálním rozdělením Vrátíme se nyní k jednomu z významných diskrétních rozdělení – binomickému. Nalistujeme-li zpět obrázky 16.3–16.6, vidíme, že jejich tvar poněkud připomíná Gaussovu křivku. Binomické rozdělení lze skutečně přibližně nahradit (aproximovat) rozdělením normálním, a to tím lépe, čím je počet pokusů n větší. Připomeňme, že střední hodnota a rozptyl binomického rozdělení pravděpodobnosti jsou EX = np, DX = np(1 − p). 242 Normální rozdělení Věta 19.10 (Moivre-Laplaceova). Nechť náhodná veličina X udává počet úspěchů v sérii n nezávislých pokusů, kde v jednom pokusu úspěch nastává s pravděpodobností p ∈ (0, 1), tj. X ∼ Bi(n, p). Pak pro každé x ∈ R platí lim n→∞ P(X ≤ x) = Φ x − np np(1 − p) . Moivre-Laplaceova věta je důsledkem centrální limitní věty. Náhodná veličina s binomickým rozdělením je totiž součtem n nezávislých náhodných veličin s rozdělením alternativním, jak už jsme ukázali při odvozování vzorců pro její střední hodnotu a rozptyl, viz kapitola 16.2. V následujícím rámečku je tvrzení Moivre-Laplaceovy přeformulováno trošku praktičtěji: Jestliže X má binomické rozdělení, X ∼ Bi(n, p), kde počet pokusů n je velký a p není příliš blízké 0 ani 1, pak lze X přibližně popsat normálním rozdělením se stejnou střední hodnotou a rozptylem, jako mělo původní binomické rozdělení, tj. µ = EX = np, σ2 = DX = np(1 − p). To znamená, že platí P(X ≤ x) . = P U ≤ x − np np(1 − p) = Φ x − np np(1 − p) , podobně pro výpočty pravděpodobností s jinými nerovnostmi. Aproximace je dobrá, jsou-li splněny podmínky np > 5 a současně n(1 − p) > 5. Přesnější výsledky dává aproximace s korekcí nespojitosti, viz níže. Na obrázcích 19.12 a 19.13 vidíme srovnání binomického rozdělení Bi(20; 0,3) s normálním rozdělením s odpovídající střední hodnotou µ = 20·0,3 = 6 a rozptylem σ2 = 20·0,3·0,7 = = 4,2. Příklad 19.11. Firma vyrábí balíčky ořechů po 200ks, přičemž 3/4 oříšků jsou burské a 1/4 lískové, dokonale se promíchají, a pak se teprve sypou do balíčků. Jestliže koupíme jeden balíček ořechů, jaká je pravděpodobnost, že počet lískových ořechů je v intervalu 47, 56 ? Řešení. Náhodná veličina X udávající počet lískových ořechů v jednom balíčku má rozdělení Bi(200; 0,25). Přímý výpočet P(47 ≤ X ≤ 56) = P(X = 47) + P(X = 48) + · · · + P(X = 56) = 19.3 Aproximace binomického rozdělení normálním rozdělením 243 2 4 6 8 10 12 x y 0,2 0,1 Obr. 19.12: Pravděpodobnostní funkce rozdělení Bi(20; 0,3) (sloupcový graf) a hustota rozdělení N(6; 4,2) 2 4 6 8 10 12 x y 1 Obr. 19.13: Distribuční funkce binomického a odpovídajícího normálního roz- dělení = 200 47 0,2547 0,75153 + 200 48 0,2548 0,75152 + · · · + 200 56 0,2556 0,75144 . = 0,572 byl proveden pomocí vhodného matematického softwaru, „ručně bychom k tomuto výsledku došli jen těžko. Nyní výpočet zopakujeme pomocí náhrady binomického rozdělení normálním rozdělením. Nejprve najdeme střední hodnotu a rozptyl: EX = µ = 200 · 0,25 = 50, DX = σ2 = 200 · 0,25 · 0,75 = 37,5. Teď počítáme stejně, jako kdyby X mělo normální rozdělení: P(47 ≤ X ≤ 56) . = P 47 − 50 √ 37,5 ≤ U ≤ 56 − 50 √ 37,5 . = Φ(0,98) − Φ(−0,49) = = Φ(0,98) − (1 − Φ(0,49)) . = 0,524. Je vidět, že chyba od přesného výsledku je v řádu procent (druhé desetinné místo). Pokud bychom použili korekci (viz následující příklad 19.12), dostali bychom výsledek P(46,5 ≤ X ≤ 56,5) . = 0, 569, jehož odchylka od přesného výsledku je v řádu desetin procenta (třetí desetinné místo). Zkusme nyní příklad s malým počtem pokusů. Příklad 19.12. Náhodná veličina X udává počet líců při čtyřech hodech mincí. Vypočtěte pravděpodobnost, že počet líců ve čtyřech hodech bude jeden nebo dva, a) přesně pomocí binomického rozdělení, b) pomocí normálního rozdělení. 244 Normální rozdělení Řešení. a) Náhodná veličina X má binomické rozdělení s parametry n = 4 a p = 0,5, a proto P(1 ≤ X ≤ 2) = p(1) + p(2) = 4 1 · 0,51 · 0,53 + 4 2 · 0,52 · 0,52 = 0,625. b) Aproximujme binomické rozdělení normálním rozdělením N(µ, σ2 ), kde µ = 4 · 0,5 = 2 a σ2 = 4 · 0,5 · (1 − 0,5) = 1: P(1 ≤ X ≤ 2) . = P 1 − 2 1 ≤ U ≤ 2 − 2 1 = P (−1 ≤ U ≤ 0) = = Φ(0) − Φ(−1) = Φ(0) − (1 − Φ(1)) . = 0,341. Hodnota b) se od hodnoty a) výrazně liší! Kde se udála tak velká chyba? Podívejme se na obrázek 19.14. Pravděpodobnost vypočtenou v a) můžeme graficky interpretovat jako obsah plochy dvou vybarvených obdélníků histogramu (šířka každého z nich je 1, výška je p(1), resp. p(2), takže obsah je 1 · p(1) + 1 · p(2)). Tento obsah jsme aproximovali pomocí obsahu plochy pod grafem hustoty na intervalu 1, 2 (šrafovaná plocha). Od takovéto aproximace nic dobrého čekat nemůžeme. Avšak nahradíme-li tyto dva obdélníky obsahem podgrafu na intervalu 0,5; 2,5 , viz obrázek 19.15, aproximační chyba se zmenší. Toto rozšíření intervalu o 0,5 na obou stranách nazýváme korekcí. Pro náš příklad užitím korekce dostaneme: P(1 ≤ X ≤ 2) = P(1 − 0,5 ≤ X ≤ 2 + 0,5) = P(0,5 ≤ X ≤ 2,5) . = . = P 0,5 − 2 1 ≤ U ≤ 2,5 − 2 1 = Φ(0,5) − Φ(−1,5) . = 0,624, což je docela dobrá aproximace přesné hodnoty 0,625. Je vidět, že pomocí korekce lze popsat binomické rozdělení normálním i pro malá n. 1 2 3 4 x y 0,4 0,3 0,2 0,1 Obr. 19.14: K příkladu 19.12: „obyčejná aproximace 1 2 3 4 x y 0,4 0,3 0,2 0,1 Obr. 19.15: K příkladu 19.12: aproximace s korekcí 19.3 Aproximace binomického rozdělení normálním rozdělením 245 Pro zpřesnění výsledků aproximace binomického rozdělení pomocí normálního rozdělení se doporučuje tato korekce: Jestliže X ∼ Bi(n, p) a a, b ∈ {0, . . . , n}, pak P(a ≤ X ≤ b) = P(a − 0,5 < X < b + 0,5) . = . = P a − 0,5 − np np(1 − p) < U < b + 0,5 − np np(1 − p) = Φ b + 0,5 − np np(1 − p) −Φ a − 0,5 − np np(1 − p) . Poznámka 19.13. Opodstatnění korekce je vidět také z grafu distribuční funkce (obrázek 19.13). Označme na chvíli jako FBi distribuční funkci binomického rozdělení (schodovitý graf) a jako FN distribuční funkci normálního rozdělení (spojitý graf). Podíváme-li se na hodnoty distribučních funkcí obou rozdělení např. v bodě x = 4, vidíme, že hodnota FN(4) je zřetelně menší než FBi(4), avšak hodnota FN(4,5) je k FBi(4) velmi blízká. Maplety Odkazy na některé maplety: 1. Normální rozdělení – výpočet pravděpodobnosti 2. Normální rozdělení – výpočet kvantilu 3. Aproximace binomického rozdělení normálním 246 Statistické testy 20 Statistické testy Občas někde čteme nebo slyšíme formulaci „Je statisticky dokázáno, že . . . Nyní se dozvíme, jak se to dělá – jakým způsobem se např. ověřuje, jestli inovace nějakého výrobního procesu skutečně přináší zlepšení, jestli procento lidí s určitou vlastností je v jedné populaci větší než ve druhé, apod. 20.1 Základní principy statistického testu Příklad 20.1. Soudní proces jako příklad rozhodovacího procesu. Uvažujme jednoduchý soudní proces, ve kterém existuje pouze jediný možný trest a soud rozhodne, zda se tomuto trestu obžalovaný podrobí nebo ne. A navíc proti rozhodnutí soudu neexistuje žádné odvolání. Jedná se o jakýsi rozhodovací proces, u kterého mohou nastat čtyři možné výsledky: 1. Obžalovaný je vinen a soud jej odsoudí. 2. Obžalovaný je nevinen a soud jej osvobodí. 3. Obžalovaný je nevinen a soud jej odsoudí. Jedná se o chybné rozhodnutí – tuto chybu budeme označovat jako chybu prvního druhu. 4. Obžalovaný je vinen a soud jej osvobodí. Toto rozhodnutí je rovněž chybné – budeme tuto chybu označovat chybou druhého druhu. V každém soudním procesu se musí hledat jistá rovnováha mezi tvrdostí a mírností. Jedním extrémem je benevolentní soudce, který k usvědčení obžalovaného vyžaduje velké množství důkazů. Takový soudce jen zřídka odsoudí nevinného (zřídka se dopustí chyby prvního druhu), ale dosti často osvobodí viníka (chyba druhého druhu). Druhým extrémem je přísný soudce, kterému k usvědčení stačí jen několik důkazů. Takový soudce posílá do vězení i jen při stínu podezření, čili častěji odsoudí nevinného (chyba prvního druhu), ale zřídka osvobodí darebáka (= zřídka se dopustí chyby druhého druhu). Je otázkou, která z chyb je závažnější – zda chyba prvního druhu, nebo chyba druhého druhu. Všeobecně se má za to, že závažnější je uvěznit nevinného, než osvobodit darebáka. A proto se chybě odsouzení nevinného přisuzuje druh číslo 1 a věnuje se jí větší 20.1 Základní principy statistického testu 247 pozornost. Ale někde musí být stanovena jistá hranice, po jejímž překročení už soud přistoupí k rozhodnutí „vinen a bez skrupulí člověka potrestá. Všimněme si jedné věci, která platí jako obecný princip. Pokud se soudce snaží být mírný a odsoudí člověka až po nahromadění velkého množství důkazů (snižuje tím možnost výskytu chyby prvního druhu), současně narůstá nebezpečí, že i když je obžalovaný vinen, potřebné množství důkazů se nenajde a soud jej osvobodí (roste možnost výskytu chyby druhého druhu). Tj. snižováním možnosti výskytu chyby prvního druhu roste možnost výskytu chyby druhého druhu – a naopak: pokud zvyšujeme možnost výskytu chyby prvního druhu, snižuje se možnost výskytu chyby druhého druhu. Je vidět, že žádnou z chyb není možné naprosto vyrušit: pokud totiž snižujeme možnost výskytu chyby prvního druhu až téměř na nulu, roste tím možnost výskytu chyby druhého druhu do obludných rozměrů a rozhodnutí učiněná tímto stylem jsou nerozumná, až nemoudrá. Strategií v rozhodovacích procesech tohoto typu je tedy zvolit pravděpodobnost výskytu chyby prvního druhu malou, ale ne příliš malou. Přejděme nyní ke konkrétnějšímu, i když možná méně vzletnému příkladu: Příklad 20.2. Dva bratři, Vašek a Ondra, se pořád hádali, který z nich vynese odpadky, až jim otec nařídil, aby si vždycky hodili korunou. Dokonce jim na to vyhradil jednu starou, už neplatnou minci. Když padne líc, je na řadě Vašek. Když rub, tak Ondra. Vaškovi se zdá, že líc padá podezřele často a že ta mince je nějaká divná. Chtěl by to dokázat. Řešení. Řešení se celkem nabízí: Vašek mincí mnohokrát hodí (přičemž se bude snažit, aby hody byly navzájem nezávislé) a bude pozorovat, jak často padá líc a jak často rub. Dejme tomu, že hodil padesátkrát a líc padl třicetkrát. Přesvědčí nás to, že na minci padá líc častěji? Necháme teď Vaška házet a podíváme se na matematickou stránku věci. Označíme X náhodnou veličinu udávající počet líců při 50 hodech mincí. Tato náhodná veličina má binomické rozdělení s parametry n = 50 a p = 0,5 – to ovšem v případě, že mince je vyvážená a líc na ní padá stejně často jako rub. Budeme pro tuto chvíli předpokládat, že mince vyvážená je, tj. že opravdu p = 0,5. Za tohoto předpokladu najdeme hranici, nad kterou se počet líců dostane jen s velmi malou pravděpodobností. Jestliže bude experimentem získaných 30 líců nad touto hranicí, stalo se něco nečekaného a učiníme závěr, že na minci líc padá opravdu podezřele často a že parametr p bude větší než 0,5. Bude-li 30 pod nalezenou hranicí, řekneme, že výsledek není průkazný a že 30 líců z 50 hodů je u vyvážené mince ještě v očekávaných mezích. Hraniční pravděpodobnost není nijak „shůry dána , tu si volíme a v praxi se většinou volí 5 %. Budeme tedy hledat k, pro které je P(X > k) = 0,05 neboli P(X ≤ k) = 0,95. Připomeňme, že této hodnotě se říká 0,95-kvantil. (Protože X má diskrétní rozdělení, hledáme spíš nejmenší hodnotu k, pro kterou bude pravděpodobnost 0,95 překročena, protože přesně 0,95 nám pro žádné k vyjít nemusí.) 248 Statistické testy Kdybychom pracovali přímo s binomickým rozdělením, bylo by nalezení kvantilu při ručním výpočtu velmi pracné až nemožné. Naštěstí si můžeme práci zjednodušit pomocí normálního rozdělení. Střední hodnota a rozptyl náhodné veličiny X jsou EX = µ = 50 · 0,5 = 25, DX = σ2 = 50 · 0,5 · (1 − 0,5) = 12,5. Náhodná veličina X má proto přibližně normální rozdělení N(25; 12,5), a tedy U . = X − 25 √ 12,5 . Při hledání meze k budeme postupovat podobně jako v příkladu 19.2 d). Najdeme 0,95kvantil náhodné veličiny U a pak jej zpětně transformujeme: P(X ≤ k) . = P(U ≤ u) = Φ(u) = 0,95 ⇒ u . = 1,65 k − 25 √ 12,5 . = 1,65 ⇒ k . = 31. Hledaná hranice, která bude překročena pouze s pravděpodobností 0,05, je tedy 31 líců (z 50 hodů). Protože Vaškovi padl líc 30-krát a 30 leží pod nalezenou mezí, nevyváženost mince se těsně, ale přece nepotvrdila. Kdyby Vaškovi padl líc třeba 35-krát, už by to bylo opravdu podezřelé a závěr by byl, že mince vyvážená není. Nyní postup předvedený v předchozím příkladu ještě jednou projdeme s použitím odborné terminologie. Testovali jsme tzv. nulovou hypotézu H0 : p = 0,5 (líc padá stejně často jako rub), proti alternativní hypotéze H1 : p > 0,5 (líc padá častěji než rub). Rozhodovali jsme podle hodnoty testového kritéria – počtu líců při 50 hodech. Předpokládali jsme, že platí H0, a za tohoto předpokladu jsme našli kritický obor, do kterého testové kritérium padne jen s velmi malou pravděpodobností, za tuto pravděpodobnost jsme zvolili α = 0,05. Pro náš příklad vyšel kritický obor 31, 50 . Protože hodnota testového kritéria získaná experimentem, tj. 30, do kritického oboru nepatřila, hypotéza H1 testem nebyla prokázána. Obecně se testování provádí v těchto krocích: 20.1 Základní principy statistického testu 249 1. Vyslovíme nulovou hypotézu H0 a alternativní hypotézu H1. 2. Stanovíme testové kritérium – náhodnou veličinu T, podle které chceme o platnosti nulové hypotézy H0 rozhodnout. 3. Předpokládáme, že platí H0, a najdeme kritický obor W, do kterého testové kritérium T padne jen se zvolenou malou pravděpodobností α. Hodnotu α nazýváme hladinou významnosti testu. Kritický obor W je tedy stanoven tak, aby P(T ∈ W|platí H0) = α, a jeho hranici (hranice) tvoří odpovídající kvantil (kvantily) náhodné veličiny T. 4. Zjistíme hodnotu testového kritéria (zpracujeme výsledek konkrétního pokusu či měření). 5. Jestliže empirická (tj. pokusem získaná) hodnota kritéria leží v kritickém oboru, zamítáme hypotézu H0 ve prospěch alternativní hypotézy H1 – hypotéza H1 byla prokázána. Pokud naměřená hodnota v kritickém oboru neleží, hypotézu H0 nezamítáme a hypotéza H1 se neprokázala. Nulová hypotéza by měla jednoznačně určovat rozdělení zkoumaného znaku. Zpravidla bývá tvaru θ = θ0, kde θ je určitý parametr, například µ, p, σ2 , . . . , a θ0 je konkrétní hodnota. H0 tedy může být p = 0,5, µ = 4, apod. Nemůže být tvaru p < 0,5, protože pak bychom nemohli přesně najít kritický obor. Naproti tomu alternativní hypotéza často popisuje to, co se snažíme testem prokázat, a bývá ve tvaru nerovnosti, případně tvaru θ = θ0, například p > 0,5, µ = 4, apod. Podle toho, jaké hodnoty T svědčí ve prospěch alternativy H1 (nízké, vysoké, případně obojí), rozlišujeme testy jednostranné a oboustranné. 250 Statistické testy Jestliže testujeme nulovou hypotézu H0 : θ = θ0 proti alternativní hypotéze H1 : θ = θ0, provádíme oboustranný test. Kritický obor je pak tvaru (viz obrázek 20.1) W = tmin, tα/2 ∪ t1−α/2, tmax . Jestliže je alternativní hypotéza tvaru H1 : θ > θ0, provádíme jednostranný, a to pravostranný test. Kritický obor je pak tvaru (viz obrázek 20.2) W = (t1−α, tmax) . Jestliže je alternativní hypotéza tvaru H1 : θ < θ0, provádíme jednostranný, a to levostranný test. Kritický obor je pak tvaru (viz obrázek 20.3) W = (tmin, tα) . V příkladu 20.2 jsme tedy prováděli pravostranný test. t1−α/2tα/2 obor pˇrijet´ı kritick´y oborkritick´y obor 1 − α ❅ ❅ ❅ ❅ ❅ ❅ ❅ ❅❘ α/2 ◗ ◗ ◗ ◗s α/2 ✑ ✑ ✑ ✑✰ Obr. 20.1: Oboustranný test V příkladu 20.1 jsme popsali možná špatná rozhodnutí při testování. Řeč byla o chybě 1. a 2. druhu. Jak tedy může testování dopadnout? Máme čtyři možnosti: 20.1 Základní principy statistického testu 251 t1−αobor pˇrijet´ı kritick´y obor 1 − α ❅ ❅ ❅ ❅ ❅ ❅ ❅ ❅❘ α ✑ ✑ ✑ ✑✰ Obr. 20.2: Pravostranný test tα obor pˇrijet´ıkritick´y obor 1 − α ❅ ❅ ❅ ❅ ❅ ❅ ❅ ❅❘ α ◗ ◗ ◗ ◗s Obr. 20.3: Levostranný test skutečnost: H0 platí skutečnost: H1 platí rozhodnutí: H0 nezamítáme správně chyba 2.druhu rozhodnutí: H0 zamítáme chyba 1.druhu správně Chyba 1. druhu nastane, jestliže nulová hypotéza H0 platí, ale my ji zamítneme. Pravděpodobnost chyby 1. druhu je rovna hladině významnosti testu α, P(H0 zamítneme|H0 platí) = α. Chyba 2. druhu nastane, jestliže nulová hypotéza H0 neplatí (čili platí H1), a přitom H0 není zamítnuta. Pravděpodobnost chyby 2. druhu označíme β. S chybou 2. druhu souvisí tzv. síla testu. Je to pravděpodobnost, že správně zamítneme H0, když platí alternativní hypotéza H1, síla jednostranného testu = P(H0 zamítneme|H0 neplatí) = 1 − β. Síla testu je pozitivní pojem – čím je síla testu větší, tím je tento test vhodnější k nalezení závislosti mezi danými proměnnými. Ovšem sílu testu většinou neznáme, protože pravděpodobnost β často nedokážeme určit – k tomu bychom museli znát rozdělení testového kritéria za předpokladu, že platí alternativní hypotéza H1. Se silou testu souvisí i následující věc: pokud naměřená hodnota kritéria nepřekročí teoretické kritické hodnoty, říkáme, že „hypotézu H0 nezamítáme , nikoliv „hypotézu H0 přijímáme . Pokud totiž náš použitý statistický test měl malou sílu, mohlo se stát, že ačkoliv závislost mezi veličinami nenalezl, ona ve skutečnosti existuje a H0 neplatí. Z tohoto důvodu se používá tato „opatrná terminologie. 252 Statistické testy Další obrat jsme už také použili: pokud zamítáme H0, někdy se říká, že výsledek testu je statisticky významný (resp. závislost mezi studovanými veličinami je statisticky významná, nebo vliv jedné veličiny na druhou je statisticky významný). 20.2 Testování pomocí p-hodnoty Nyní ukážeme ještě jeden způsob, kterým lze rozhodnout o zamítnutí či nezamítnutí nulové hypotézy. Tato metoda bývá implementována ve statistickém softwaru a pracuje se v ní s pojmem p-hodnota (anglicky p-value). Princip této metody si vysvětlíme na příkladu s Ondrou a Vaškem a házením mincí, viz příklad 20.2. Příklad 20.3. Vašek 50-krát nezávisle na sobě hodil mincí a z toho m-krát mu padl líc. Na hladině významnosti α = 0,05 testujte, zda na minci líc padá významně častěji než rub, jestliže a) m = 30, b) m = 36 Řešení. Stejně jako v řešení příkladu 20.2 budeme pro začátek pracovat s předpokladem (hypotézou) H0, že mince je vyvážená, a s náhodnou veličinou X udávající počet líců v 50 hodech. Již jsme zjistili, že hranice kritického oboru je 31 líců, platí P(X ≥ 31) . = α = = 0,05. Je zřejmé, že když budeme brát čísla větší než 31, například 33, pak P(X ≥ ≥ 33) bude menší než α. A naopak, pro čísla menší než 31 bude taková pravděpodobnost větší než α. Tím se dostáváme k podstatě testování pomocí p-hodnoty: známe výsledek pokusu a chceme zjistit, zda spadá do kritického oboru, nebo do oboru přijetí nulové hypotézy, viz obrázek 20.2. Pro toto zjištění nemusíme hledat konkrétní hodnotu hranice kritického oboru, nýbrž využijeme výsledek pokusu a vypočítáme pravděpodobnost, že testové kritérium nabude hodnoty stejné nebo extrémnější než je tento výsledek. Tuto hodnotu označíme p – nezaměňujte s parametrem p binomického rozdělení! V našem případě bude p-hodnota udávat pravděpodobnost, že X bude větší nebo rovné m ze zadání příkladu. Jestliže tato pravděpodobnost vyjde menší než α, je zřejmé, že jsme se dostali za kritickou hranici (aniž bychom tuto hranici znali), a nulovou hypotézu H0 zamítneme. Je-li pravděpodobnost větší než α, pak nejsme za kritickou hranicí a H0 nezamítáme. Pro výpočet v našem případě opět použijeme aproximaci binomického rozdělení normálním s korekcí na nespojitost: X ∼ Bi(50; 0,5) ⇒ přibližně X ∼ N(25; 12,5), U . = X − 25 √ 12,5 a) Vypočítáme pravděpodobnost, že líc padne alespoň 30-krát: P(X ≥ 30) . = P(X > 29,5) = P(U > 29,5 − 25 √ 12,5 ) . = 1 − Φ(1,27) . = 0,102. 20.2 Testování pomocí p-hodnoty 253 V tomto případě je p-hodnota rovna 0,102 > α = 0,05. Tedy 30 v kritickém oboru neleží a hypotézu H0 nezamítáme. Neprokázalo se, že líc padá častěji než rub. b) Vypočítáme pravděpodobnost, že líc padne alespoň 36-krát: P(X ≥ 36) . = P(X > 35,5) = P(U > 35,5 − 25 √ 12,5 ) . = 1 − Φ(3) . = 1,4 · 10−3 . Tento výsledek můžeme interpretovat tak, že padnutí 36 nebo více líců by bylo za předpokladu, že je mince vyvážená, vysoce nepravděpodobné. Tentokrát je p = 1,4·10−3 < α, a to znamená, že 36 je výrazně za hranicí kritického oboru. Proto hypotézu H0 zamítáme. Potvrdilo se, že mince je nevyvážená a líc na ní padá častěji než rub. Hodnota p vlastně udává poslední hladinu významnosti, na které bychom H0 ještě zamítli: V části b) předchozího příkladu vidíme, že kdybychom test prováděli na hladině významnosti α = 0,01, nulovou hypotézu bychom pro 36 líců také zamítli, podobně pro α = 10−3 , zatímco pro hladinu významnosti α = 10−4 bychom H0 nezamítli (takto malé hladiny významnosti se však v praxi nevolí, protože by příliš vzrostlo riziko chyby 2. druhu). Řešení pomocí p-hodnoty nám dává v jistém smyslu lepší informaci než řešení pomocí hledání hranic kritického oboru. Při testování popsaném v předchozí kapitole pouze rozeznáme, zda výsledek pokusu leží nebo neleží v kritickém oboru W. Podle velikosti p-hodnoty ale navíc poznáme, nakolik je výsledek pokusu průkazný. Je-li p mnohem menší než α, pak můžeme H0 zamítnout „důrazněji než v případě, že je p jen těsně menší než α. p-hodnota je přesná nebo též pozorovaná hladina významnosti. Udává nejmenší hodnotu hladiny významnosti, na které bychom nulovou hypotézu H0 zamítli. kritick´y obor α t t1−α p = P(T > t) Obr. 20.4: Testování pomocí p-hodnoty, pravostranný test, H0 nezamítáme kritick´y obor α tt1−α p Obr. 20.5: Testování pomocí p-hodnoty, pravostranný test, H0 zamítáme 254 Statistické testy 20.3 Test hypotézy o parametru p binomického roz- dělení Tento test se též označuje jako test podílu. Už jsme jej v podstatě předvedli v příkladu 20.2, kde jsme testovali, zda líc padá s pravděpodobností p = 0,5, nebo zda je p > 0,5. Dalším příkladem použití je situace, kdy chceme zjistit, jaký podíl (kolik procent) populace má určitou vlastnost. Může se jednat o to, kolik procent lidí kupuje produkty nějaké firmy, jaký je podíl zmetků mezi výrobky, kolika procentům pacientů pomáhá určitý lék, apod. Snažíme se prozkoumat, jestli by toto procento mohlo být rovno konkrétní hodnotě p0. Nulová hypotéza zde vždy bude H0 : p = p0. Alternativní hypotéza H1 může být p > p0, p < p0 nebo p = p0. Jako vždy u statistického testování, pro začátek předpokládáme, že platí H0. Předpokládejme tedy, že p0 ·100 % lidí (nebo jiných objektů, které jsou zrovna předmětem zkoumání) má určitou vlastnost, označme ji V . Náhodně vybereme n lidí – s tím, že n je relativně velké, ovšem vzhledem k celkovému rozsahu populace malé (např. vybíráme 10 000 občanů České republiky). Pak můžeme náhodnou veličinu X určující počet lidí s vlastností V popsat pomocí hypergeometrického rozdělení, ovšem – podle kapitoly 16.3.1 – i pomocí binomického rozdělení, X ∼ Bi(n, p0). V kapitole 19.3 jsme ukázali, že X má přibližně normální rozdělení, X pˇribl. ∼ N(np0, np0(1 − p0)). Za testové kritérium můžeme zvolit právě náhodnou veličinu X udávající počet objektů se zkoumanou vlastností V mezi n náhodně vybranými objekty. V praxi se ale častěji jako testové kritérium používá její normovaná hodnota. Již víme, že X − np0 np0(1 − p0) pˇribl. ∼ N(0, 1). Ve zlomku ještě můžeme čitatel i jmenovatel vydělit n a dostaneme U = X n − p0 p0(1 − p0) · √ n pˇribl. ∼ N(0, 1). Výraz X/n udává, jaká část (kolik procent) z celkového počtu objektů má vlastnot V . Hodnoty získané pokusem pak označíme malými písmeny: x značí, kolik objektů má vlasnost V , a u je odpovídající normovaná hodnota. Tyto empirické hodnoty pak porovnáváme s příslušnými kvantily náhodné veličiny X, resp. náhodné veličiny U. Ještě připomeňme, že pro kvantily standardizovaného normálního rozdělení platí uα = −u1−α. 20.3 Test hypotézy o parametru p binomického rozdělení 255 Test hypotézy o parametru p binomického rozdělení Nulová hypotéza: H0 : p = p0 Testové kritérium je U = X − np0 np0(1 − p0) = X n − p0 p0(1 − p0) · √ n pˇribl. ∼ N(0, 1), (20.1) kde náhodná veličina X udává, kolik objektů z celkového počtu n má vlastnost V . Empirická hodnota je u. • Oboustranný test Alternativní hypotéza H1 : p = p0 Kritický obor: W = −∞, uα/2 ∪ u1−α/2, ∞ = {u: |u| > u1−α/2} Obor přijetí H0: uα/2, u1−α/2 = −u1−α/2, u1−α/2 = {u: |u| ≤ u1−α/2} −u1−α/2 ≤ u ≤ u1−α/2 ⇒ H0 nezamítáme; |u| > u1−α/2 ⇒ H0 zamítáme. • Pravostranný test Alternativní hypotéza H1 : p > p0 Kritický obor: W = (u1−α, ∞) = {u: u > u1−α} Obor přijetí H0: (−∞, u1−α = {u: u ≤ u1−α} u ≤ u1−α ⇒ H0 nezamítáme; u > u1−α ⇒ H0 zamítáme. • Levostranný test Alternativní hypotéza H1 : p < p0 Kritický obor: W = (−∞, uα) = {u: u < uα} Obor přijetí H0: uα, ∞) = {u: u ≥ uα} u ≥ uα ⇒ H0 nezamítáme; u < uα ⇒ H0 zamítáme. Příklad 20.4. V Kocourkově kouří 40 % lidí. Ministerstvo zdravotnictví by chtělo toto procento snížit, a proto spustí osvětovou kampaň. Po proběhnutí kampaně byl proveden průzkum mezi 1000 obyvatel. Bylo zjištěno, že kouří 360 z nich. Testujte na hladině významnosti α = 0,05, zda se počet kuřáků významně snížil. Řešení. Nulová hypotéza bude, že počet kuřáků zůstal na čtyřiceti procentech, a alternativní hypotéza, že se snížil: H0 : p = 0,4, H1 : p < 0,4, provádíme levostranný test. Předvedeme 3 možné postupy. Čtenář si pak pro své vlastní výpočty může vybrat ten, který mu nejlépe vyhovuje. I) Jako kritérium použijeme veličinu X, která popisuje počet kuřáků mezi 1000 náhodně vybraných lidí. Za předpokladu platnosti H0 je X ∼ Bi(1000; 0,4), EX = 1000·0,4 = 400, DX = 1000 · 0,4 · 0,6 = 240, a tedy přibližně X ∼ N(400, 240). 256 Statistické testy Protože provádíme levostranný test, hledáme kritickou hodnotu, pod kterou bude X s pravděpodobností α: P(X < Xk) = 0,05 Kritická U-hodnota je pro α = 0,05 rovna u0,05 = −u0,95 . = −1,65. Tedy Xk = 400 − √ 240 · 1,65 . = 374 a kritický obor je W = 0, 374) . Hodnota získaná průzkumem je 360, což v kritickém oboru leží. Nulovou hypotézu H0 tedy zamítáme, závěr je, že počet kuřáků se snížil. II) Použijeme postup výše popsaný v rámečku, tj. za testové kritérium bereme normovanou hodnotu podle (20.1). u = 360/1000 − 0,4 √ 0,4 · 0,6 √ 1000 . = −2,58 Provádíme levostranný test, najdeme proto u0,05 = −u0,95 . = −1,65. Protože −2,58 < −1,65, ocitli jsme se v kritickém oboru a H0 zamítáme, kuřáků je méně než dřív. Postupy I a II jsou zcela ekvivalentní a musí vést ke stejnému závěru (viz též obrázky 20.6 a 20.7, všimněte si především měřítka na obou osách). 340 360 380 400 420 440 460 −0.005 0 0.005 0.01 0.015 0.02 0.025 0.03 360 µ = 400374 x 0,95 ❅ ❅ ❅ ❅ ❅ ❅ ❅ ❅❘ 0,05 ◗ ◗ ◗ ◗s Obr. 20.6: Test podílu, postup I −4 −3 −2 −1 0 1 2 3 4 −0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 −2,58 0−1,65 u 0,95 ❅ ❅ ❅ ❅ ❅ ❅ ❅ ❅❘ 0,05 ◗ ◗ ◗ ◗s Obr. 20.7: Test podílu, postup II III) Test můžeme provést i pomocí p-hodnoty (viz kapitola 20.2). Vypočítáme pravděpodobnost, že počet kuřáků mezi vybraným 1 000 lidí nabude hodnoty 360 nebo extrémnější, tj. v našem případě nižší: P(X ≤ 360) . = P(U ≤ −2,58) = Φ(−2,58) . = 0,005 < α = 0,05. Tedy 360 určitě leží v kritickém oboru a H0 zamítáme. 20.4 Test střední hodnoty průměru měření při známém rozptylu nebo velkém rozsahu výběru 257 20.4 Test střední hodnoty průměru měření při známém rozptylu nebo velkém rozsahu výběru V kapitolách 19.1 a 19.2 jsme ukázali, že máme-li n nezávislých náhodných veličin Xi se stejným rozdělením (tím pádem se stejnou střední hodnotou µ a rozptylem σ2 ), pak průměr X z těchto náhodných veličin má buď přímo normální rozdělení (v případě, že Xi ∼ N(µ, σ2 )), nebo (pro velké n) se jeho rozdělení k normálnímu blíží. Tohoto faktu teď využijeme při testování hypotéz o střední hodnotě. 20.4.1 Test hypotézy o střední hodnotě Máme k dispozici n empiricky získaných hodnot x1, x2, . . . , xn. Může jít například o hodnoty získané měřením n různých výrobků téhož typu. „Měřením teď myslíme zkoumání vlastnosti, která nás zrovna zajímá – rozměrů, životnosti, obsahu určité látky nebo nejrůznějších jiných parametrů. Na základě těchto n měření se snažíme rozhodnout, jestli střední hodnota zkoumané náhodné veličiny může být rovna určitému µ0, nebo jestli dosahuje prokazatelně vyšší/nižší/jiné hodnoty. Přitom pro začátek budeme předpokládat, že rozptyl σ2 známe (což bohužel není příliš realistické). Předpokládejme, že zkoumaná náhodná veličina X má normální rozdělení, X ∼ N(µ, σ2 ), nebo si nejsme jisti, jestli je má, ale máme k dispozici velký počet měření. Jako testové kritérium můžeme použít buď přímo náhodnou veličinu X ∼ N µ, σ2 n , nebo, podobně jako v předchozí kapitole, ji můžeme normovat, což se používá častěji. V tom případě jako testové kritérium bereme U = X − µ σ2 n = X − µ σ √ n ∼ N(0, 1). Jestliže rozptyl σ2 neznáme, což je v praxi obvyklé, pak použijeme jeho odhad s2 vypočítaný podle (10.8). Komplikace je v tom, že náhodná veličina T = X − µ √ S2 √ n, kde S2 = 1 n − 1 n i=1 (X − X)2 , už nemá normální rozdělení, ale tzv. Studentovo t-rozdělení s (n − 1) stupni volnosti, T ∼ t(n−1). Máme-li k dispozici tabulku kvantilů Studentova rozdělení, resp. statistický software, poradíme si i s tímto problémem. Protože se už ale blížíme ke konci našeho úvodního kurzu pravděpodobnosti a statistiky, necháme si Studentovo rozdělení na příští, již jen výběrový předmět o statistice – MPSO v navazujícím magisterském studiu. Naštěstí 258 Statistické testy se pro velké n Studentovo rozdělení přibližuje k normálnímu, takže jsme zase tam, kde jsme byli. Test hypotézy o střední hodnotě µ, jestliže rozptyl známe nebo je rozsah výběru velký Nulová hypotéza: H0 : µ = µ0 Testové kritérium je při známém rozptylu σ2 U = X − µ0 √ σ2 · √ n ∼ N(0, 1), (20.2) nebo při neznámém rozptylu a velkém rozsahu výběru U = X − µ0 √ S2 · √ n pˇribl. ∼ N(0, 1). (20.3) Empirická hodnota je u. • Oboustranný test Alternativní hypotéza H1 : µ = µ0 Kritický obor: W = −∞, uα/2 ∪ u1−α/2, ∞ = {u: |u| > u1−α/2} Obor přijetí H0: uα/2, u1−α/2 = −u1−α/2, u1−α/2 = {u: |u| ≤ u1−α/2} −u1−α/2 ≤ u ≤ u1−α/2 ⇒ H0 nezamítáme; |u| > u1−α/2 ⇒ H0 zamítáme. • Pravostranný test Alternativní hypotéza H1 : µ > µ0 Kritický obor: W = (u1−α, ∞) = {u: u > u1−α} Obor přijetí H0: (−∞, u1−α = {u: u ≤ u1−α} u ≤ u1−α ⇒ H0 nezamítáme; u > u1−α ⇒ H0 zamítáme. • Levostranný test Alternativní hypotéza H1 : µ < µ0 Kritický obor: W = (−∞, uα) = {u: u < uα} Obor přijetí H0: uα, ∞) = {u: u ≥ uα} u ≥ uα ⇒ H0 nezamítáme; u < uα ⇒ H0 zamítáme. Test lze provádět taktéž pomocí p-hodnoty. Příklad 20.5. V rámci testování výsledků našeho školství se před nějakou dobou ustanovilo, že všichni žáci posledního ročníku základních škol v České republice píší srovnávací test z matematiky. Je známo (z výsledků v předchozích letech), že ohodnocení testu má normální rozdělení se střední hodnotou µ = 500 bodů a směrodatnou odchylkou σ = 100 bodů (jedná se o teoretické rozdělení celé populace žáků). Jako součást projektu dotovaného Evropskou unií vyvinuli akademičtí pracovníci program INTEL, jehož cílem je zlepšit znalosti matematiky žactva, zejména pak zlepšit výsledky souhrnného testu. 20.4 Test střední hodnoty průměru měření při známém rozptylu nebo velkém rozsahu výběru 259 Chtějí svůj program INTEL otestovat, a proto náhodně vybrali 25 žáků z ČR a program zaslali každému z nich. Po provedení testu z matematiky se ukázalo, že průměr ohodnocení daných 25 žáků je x = 540. Otázka zní: lze nyní říct, že program INTEL zlepšuje výkon v testu, nebo se jen náhodou vybralo 25 studentů s vyšším výkonnostním průměrem v matematice? Jako hladinu významnosti testu zvolíme pro změnu α = 0,01 a budeme předpokládat, že směrodatná odchylka zůstala nezměněna, tj. σ = 100. Řešení. Budeme testovat nulovou hypotézu, že průměrný počet bodů získaných v testu se nezměnil, H0 : µ = 500, proti alternativní hypotéze, že se zvýšil (jednostranný test - můžeme předpokládat, že program znalosti matematiky nezhoršuje), H1 : µ > 500. Podobně jako v příkladu 20.4 předvedeme tři možnosti řešení: přímo s hodnotou x, s její normovanou hodnotou (postup z rámečku) a pomocí p-hodnoty. I) Jako kritérium zvolíme náhodnou veličinu X, která popisuje průměr hodnot 25 náhodně vybraných žáků. Za předpokladu platnosti H0 je X ∼ N 500, 1002 25 , tj. X ∼ N(500, 400) Kritická hodnota je 0,99-kvantil náhodné veličiny X: 500 + √ 400 · 2,33 . = 547, kritický obor je tedy W = (547, plný počet bodů z testu Hodnota získaná pokusem je 540 bodů, což v kritickém oboru neleží. Protože 540 < 547, H0 nezamítáme a uzavíráme, že program „ve skutečnosti (resp. na hladině významnosti α = 0,01) matematické schopnosti studentů nezlepšuje. Kdybychom ovšem test prováděli na hladině významnosti 0,05, H0 bychom zamítli (výpočet přenecháme čtenáři). Vidíme, že hladina významnosti představuje jakousi ochotu připustit, že došlo ke změně – čím menší α, tím jsme opatrnější při zavrhování H0. II) Vypočítáme normovanou hodnotu podle (20.2): u = 540 − 500 100 √ 25 = 2 Hranice kritického oboru je u0,99 . = 2,33. Protože 2 < 2,33, naměřená hodnota v kritickém oboru neleží a H0 nezamítáme. 260 Statistické testy III) Vypočítáme p-hodnotu neboli pravděpodobnost, že X nabude hodnoty 540 nebo extrémnější, v našem případě větší: P(X ≥ 540) = P(U ≥ 2) = 1 − Φ(2) . = 0,023 Tato hodnota je větší než α = 0,01, a proto 540 neleží v kritickém oboru a H0 nezamítáme. Zde snadno vidíme, že na hladině významnosti 0,05 bychom H0 zamítli, viz komentář k postupu I. 20.4.2 Test hypotézy o rovnosti dvou středních hodnot Snažíme se porovnat střední hodnoty u dvou různých populací. Může jít o dvě skupiny výrobků zpracovaných jinou technologií, dvě skupiny pacientů, z nichž každá je léčena jinou metodou a pod. Budeme mít k dispozici n1 měření náhodné veličiny X1 popisující první populaci a n2 měření náhodné veličiny X2 popisující druhou populaci, přičemž X1 a X2 jsou nezávislé. Jsou-li rozsahy výběrů malé, musíme předpokládat, že X1 a X2 mají normální rozdělení. Je-li n1 a n2 velké, předpoklad normality můžeme vynechat. Cílem bude rozhodnout, zda jsou střední hodnoty obou výběrových průměrů X1 a X2 stejné, nebo zda je jeden z nich větší/menší/jiný než druhý. Opět budeme předpokládat, že rozptyly σ2 1 a σ2 2 známe. V případě velkého počtu měření je znát nemusíme, můžeme použít jejich odhady s2 1 a s2 2 a přitom zůstat u normálního rozdělení (viz úvod kapitoly 20.4.1). Kdyby rozsahy výběrů byly malé, muselo by se při použití odhadů rozptylu opět pracovat se Studentovým t-rozdělením. Pro výběrové průměry X1 a X2 platí X1 ∼ N µ1, σ2 1 n1 , X2 ∼ N µ2, σ2 2 n2 . Předmětem našeho zájmu bude náhodná veličina X1 − X2. Podle věty 19.3 má tato náhodná veličina také normální rozdělení, X1 − X2 ∼ N(µ, σ2 ), kde podle pravidel pro počítání se středními hodnotami a rozptyly ((15.4) a (15.9)) je µ = E(X1 − X2) = µ1 − µ2, σ2 = D(X1 − X2) = σ2 1 n1 + σ2 2 n2 . Chceme-li testovat, zda jsou obě střední hodnoty stejné, volíme nulovou hypotézu H0 : µ1 = µ2 neboli H0 : µ = µ1 − µ2 = 0 a jako testové kritérium bychom mohli použít náhodnou veličinu X1 − X2, avšak prakticky se používá spíše normovaná verze U = X1 − X2 σ2 1 n1 + σ2 2 n2 ∼ N(0, 1). 20.4 Test střední hodnoty průměru měření při známém rozptylu nebo velkém rozsahu výběru 261 Test můžeme samozřejmě provést i pomocí p-hodnoty. Test hypotézy o rovnosti dvou středních hodnot, jestliže rozptyly známe nebo je rozsah výběru velký Nulová hypotéza: H0 : µ = µ1 − µ2 = µ0 Testové kritérium je při známých rozptylech σ2 1 a σ2 2 U = X1 − X2 σ2 1 n1 + σ2 2 n2 ∼ N(0, 1) (20.4) nebo při neznámých rozptylech a velkých rozsazích výběrů U = X1 − X2 S2 1 n1 + S2 2 n2 pˇribl. ∼ N(0, 1). (20.5) Empirická hodnota je u. • Oboustranný test Alternativní hypotéza H1 : µ = 0 neboli µ1 = µ2 Kritický obor: W = −∞, uα/2 ∪ u1−α/2, ∞ = {u: |u| > u1−α/2} Obor přijetí H0: uα/2, u1−α/2 = −u1−α/2, u1−α/2 = {u: |u| ≤ u1−α/2} −u1−α/2 ≤ u ≤ u1−α/2 ⇒ H0 nezamítáme; |u| > u1−α/2 ⇒ H0 zamítáme. • Pravostranný test Alternativní hypotéza H1 : µ > 0 neboli µ1 > µ2 Kritický obor: W = (u1−α, ∞) = {u: u > u1−α} Obor přijetí H0: (−∞, u1−α = {u: u ≤ u1−α} u ≤ u1−α ⇒ H0 nezamítáme; u > u1−α ⇒ H0 zamítáme. • Levostranný test Alternativní hypotéza H1 : µ < 0 neboli µ1 < µ2 Kritický obor: W = (−∞, uα) = {u: u < uα} Obor přijetí H0: uα, ∞) = {u: u ≥ uα} u ≥ uα ⇒ H0 nezamítáme; u < uα ⇒ H0 zamítáme. Příklad 20.6. Vraťme se k situaci z příkladu 20.5. Komerční softwarová firma rovněž vyvinula program pro výuku matematiky (s názvem KILL) a chce jej školám prodávat. Ředitel školy zvažuje, zda program koupit, nebo zda využívat program INTEL (v testu z předchozího příkladu se spokojil s hladinou významnosti α = 0,05 a věří, že program INTEL pomáhá). Chtěl by proto zjistit, který z obou konkurenčních programů INTEL a KILL je lepší, tj. který více zvyšuje úroveň matematických znalostí. Získal testovací verzi programu KILL a předal ji 32 náhodně vybraným studentům. Jiných 32 náhodně vybraných studentů mělo pracovat s programem INTEL. Po provedení testu 262 Statistické testy z matematiky získal od těchto 64 studentů výsledky jejich ohodnocení a spočetl průměry příslušných hodnot. U programu INTEL x1 = 600, u programu KILL x2 = 533 (v obou případech velikost vzorku n1 = n2 = 32). Aby zjistil, do jaké míry je jeho měření reprezentativní a zda rozdíl průměrů není pouze náhodný (tj. způsobený např. tím, že program INTEL byl rozdán mezi studenty, kteří byli náhodou chytřejší, ale ne tím, že by INTEL byl lepší než KILL), sáhne ke statistickému testu na hladině významnosti α = 0,05. Budeme i nadále předpokládat, že směrodatná odchylka se nezměnila, tj. σ1 = σ2 = 100. Řešení. Budeme testovat nulovou hypotézu, že průměrný počet bodů získaných v testu je u obou skupin stejný H0 : µ = µ1 − µ2 = 0, proti alternativní hypotéze, že se střední hodnoty od sebe liší (musíme použít oboustranný test, protože nevíme, který z programů je lepší), H1 : µ = 0. Tentokrát předvedeme jen dvě možnosti řešení: postup z rámečku a test pomocí p-hodnoty. Vypočítáme normovanou hodnotu podle (20.4): u = 600 − 533 1002 32 + 1002 32 = 2,68. Kritický obor bude u oboustranného testu rozdělený na dvě části (viz obrázek 20.1), budeme hledat kvantily pro α/2 = 0,025 a 1 − α/2 = 0,975. Tyto kvantily jsou u0,975 . = 1,96, u0,025 . = −1,96 a kritický obor je W = (−∞; −1,96) ∪ (1,96; ∞) . Protože 2,68 > 1,96, naměřená hodnota leží v kritickém oboru a H0 zamítáme. Na hladině významnosti α = 0,05 se ukázalo, že µ1 > µ2, tzn. program INTEL je lepší než program KILL. Nyní ještě test zopakujeme pomocí p-hodnoty. U oboustranného testu si musíme trošku rozmyslet, co dělat, doporučujeme čtenáři, aby si nakreslil obrázek. Protože x1 = 600 > > 533 = x2, výsledek pokusu nemůže ležet v levé části kritického oboru. Buďto je v jeho pravé části, nebo je v oboru přijetí. Vypočítáme proto pravděpodobnost, že X1 − − X2 nabude hodnoty 600 − 533 = 67 nebo extrémnější, v našem případě větší. Tuto pravděpodobnost pak porovnáme s α/2 (zde je změna oproti jednostranným testům). P(X1 − X2 ≥ 67) = P(U ≥ 2,68) = 1 − Φ(2,68) . = 0,004. Tato hodnota je menší než α/2 = 0,025, a proto 67 leží v kritickém oboru a H0 zamítáme. 20.4 Test střední hodnoty průměru měření při známém rozptylu nebo velkém rozsahu výběru 263 Jestliže je čtenář zmaten a chtěl by pro test pomocí p-hodnoty u oboustranného testu nějaký algoritmičtější postup, který by mohl aplikovat bez porozumění věci a bez kreslení obrázků, může počítat p = 2P(T > |t|) a výsledek porovnat s α. V případě, že p < α, H0 zamítáme, v opačném případě H0 nezamítáme. Testy uvedené v této kapitole jsou příkladem prvních „praktických statistických testů, které jsou užívány. Už jsme ale viděli, že v případě, že rozptyl neznáme a máme jen malý rozsah výběru, nevystačíme již pouze s normálním rozdělením. Kdybychom chtěli zkoumat i rovnost rozptylů u dvou populací, potřebovali bychom tzv. Fisher-Snedecorovo rozdělení. Jindy zase chceme ověřit, zda náhodný výběr pochází z určitého typu rozdělení. Pak se provádí tzv. test dobré shody, kde se využívá Pearsonovo χ2 rozdělení. Je zřejmé, že statistiku jsme zatím zahlédli jen letmo a máme ještě spoustu zajímavých námětů pro další práci. Všem, které pravděpodobnost a statistika zaujala (autoři neztrácejí naději, že se někdo takový najde), doporučujeme předmět MPSO v návazném magisterském studiu. Maplety Odkazy na některé maplety: 1. Normální rozdělení – výpočet kvantilu 264 Tabulka hodnot distribuční funkce normálního rozdělení Hodnoty distribuční funkce Φ(u) - 1.část u Φ(u) u Φ(u) u Φ(u) u Φ(u) u Φ(u) 0,00 0,5000000 0,30 0,6179114 0,60 0,7257469 0,90 0,8159399 1,20 0,8849303 0,01 0,5039894 0,31 0,6217195 0,61 0,7290691 0,91 0,8185887 1,21 0,8868606 0,02 0,5079783 0,32 0,6255158 0,62 0,7323711 0,92 0,8212136 1,22 0,8887676 0,03 0,5119665 0,33 0,6293000 0,63 0,7356527 0,93 0,8238145 1,23 0,8906514 0,04 0,5159534 0,34 0,6330717 0,64 0,7389137 0,94 0,8263912 1,24 0,8925123 0,05 0,5199388 0,35 0,6368307 0,65 0,7421539 0,95 0,8289439 1,25 0,8943502 0,06 0,5239222 0,36 0,6405764 0,66 0,7453731 0,96 0,8314724 1,26 0,8961653 0,07 0,5279032 0,37 0,6443088 0,67 0,7485711 0,97 0,8339768 1,27 0,8979577 0,08 0,5318814 0,38 0,6480273 0,68 0,7517478 0,98 0,8364569 1,28 0,8997274 0,09 0,5358564 0,39 0,6517317 0,69 0,7549029 0,99 0,8389129 1,29 0,9014747 0,10 0,5398278 0,40 0,6554217 0,70 0,7580363 1,00 0,8413447 1,30 0,9031995 0,11 0,5437953 0,41 0,6590970 0,71 0,7611479 1,01 0,8437524 1,31 0,9049021 0,12 0,5477584 0,42 0,6627573 0,72 0,7642375 1,02 0,8461358 1,32 0,9065825 0,13 0,5517168 0,43 0,6664022 0,73 0,7673049 1,03 0,8484950 1,33 0,9082409 0,14 0,5556700 0,44 0,6700314 0,74 0,7703500 1,04 0,8508300 1,34 0,9098773 0,15 0,5596177 0,45 0,6736448 0,75 0,7733726 1,05 0,8531409 1,35 0,9114920 0,16 0,5635595 0,46 0,6772419 0,76 0,7763727 1,06 0,8554277 1,36 0,9130850 0,17 0,5674949 0,47 0,6808225 0,77 0,7793501 1,07 0,8576903 1,37 0,9146565 0,18 0,5714237 0,48 0,6843863 0,78 0,7823046 1,08 0,8599289 1,38 0,9162067 0,19 0,5753454 0,49 0,6879331 0,79 0,7852361 1,09 0,8621434 1,39 0,9177356 0,20 0,5792597 0,50 0,6914625 0,80 0,7881446 1,10 0,8643339 1,40 0,9192433 0,21 0,5831662 0,51 0,6949743 0,81 0,7910299 1,11 0,8665005 1,41 0,9207302 0,22 0,5870604 0,52 0,6984682 0,82 0,7938919 1,12 0,8686431 1,42 0,9221962 0,23 0,5909541 0,53 0,7019440 0,83 0,7967306 1,13 0,8707619 1,43 0,9236415 0,24 0,5948349 0,54 0,7054015 0,84 0,7995458 1,14 0,8728568 1,44 0,9250663 0,25 0,5987063 0,55 0,7088403 0,85 0,8023375 1,15 0,8749281 1,45 0,9264707 0,26 0,6025681 0,56 0,7122603 0,86 0,8051055 1,16 0,8769756 1,46 0,9278550 0,27 0,6064199 0,57 0,7156612 0,87 0,8078498 1,17 0,8789995 1,47 0,9292191 0,28 0,6102612 0,58 0,7190427 0,88 0,8105703 1,18 0,8809999 1,48 0,9305634 0,29 0,6140919 0,59 0,7224047 0,89 0,8132671 1,19 0,8829768 1,49 0,9318879 Tabulka hodnot distribuční funkce normálního rozdělení 265 Hodnoty distribuční funkce Φ(u) - 2.část u Φ(u) u Φ(u) u Φ(u) u Φ(u) u Φ(u) 1,50 0,9331928 1,80 0,9640697 2,10 0,9821356 2,40 0,9918025 4,50 0,9999966 1,51 0,9344783 1,81 0,9648521 2,11 0,9825708 2,41 0,9920237 5,00 0,9999997 1,52 0,9357445 1,82 0,9656205 2,12 0,9829970 2,42 0,9922397 5,50 0,9999999 1,53 0,9369916 1,83 0,9663750 2,13 0,9834142 2,43 0,9924506 1,54 0,9382198 1,84 0,9671159 2,14 0,9838226 2,44 0,9926564 1,55 0,9394392 1,85 0,9678432 2,15 0,9842224 2,45 0,9928572 1,56 0,9406201 1,86 0,9685572 2,16 0,9846137 2,46 0,9930531 1,57 0,9417924 1,87 0,9692581 2,17 0,9849966 2,47 0,9932443 1,58 0,9429466 1,88 0,9699460 2,18 0,9853713 2,48 0,9934309 1,59 0,9440826 1,89 0,9706210 2,19 0,9857379 2,49 0,9936128 1,60 0,9452007 1,90 0,9712834 2,20 0,9860966 2,50 0,9937903 1,61 0,9463011 1,91 0,9719334 2,21 0,9864474 2,51 0,9939634 1,62 0,9473839 1,92 0,9725711 2,22 0,9867906 2,52 0,9941323 1,63 0,9484493 1,93 0,9731966 2,23 0,9871263 2,53 0,9942969 1,64 0,9494974 1,94 0,9738102 2,24 0,9874545 2,54 0,9944574 1,65 0,9505285 1,95 0,9744119 2,25 0,9877755 2,55 0,9946139 1,66 0,9515428 1,96 0,9750021 2,26 0,9880894 2,56 0,9947664 1,67 0,9525403 1,97 0,9755808 2,27 0,9883962 2,57 0,9949151 1,68 0,9535213 1,98 0,9761482 2,28 0,9886962 2,58 0,9950600 1,69 0,9544860 1,99 0,9767045 2,29 0,9889893 2,59 0,9952012 1,70 0,9554345 2,00 0,9772499 2,30 0,9892759 2,60 0,9953388 1,71 0,9563671 2,01 0,9777844 2,31 0,9895559 2,70 0,9965330 1,72 0,9572838 2,02 0,9783083 2,32 0,9898296 2,80 0,9974449 1,73 0,9581849 2,03 0,9788217 2,33 0,9900969 2,90 0,9981342 1,74 0,9590705 2,04 0,9793248 2,34 0,9903581 3,00 0,9986501 1,75 0,9599408 2,05 0,9798178 2,35 0,9906133 3,20 0,9993129 1,76 0,9607961 2,06 0,9803007 2,36 0,9908625 3,40 0,9996631 1,77 0,9616364 2,07 0,9807738 2,37 0,9911060 3,60 0,9998409 1,78 0,9624620 2,08 0,9812372 2,38 0,9913437 3,80 0,9999277 1,79 0,9632730 2,09 0,9816911 2,39 0,9915758 4,00 0,9999683 266 Literatura Literatura [1] LOFTUS Geoffrey – LOFTUS, Elizabeth. Essence of Statistics. Second Edition, New York: Alfred A. Knopf, 1988, 639 s. [2] MONTGOMERY, Douglas – RUNGER, George. Applied statistics and probability for engineers. Vyd. 3. New York: John Wiley, 2003, 706 s. ISBN 04-712-0454-4. [3] RIEČANOVÁ, Zdena, et al. Numerické metódy a matematická štatistika. 1. vyd. Bratislava: Alfa, 1987, 490 s. [4] SEGER, Jan – HINDLS, Richard. Statistické metody v tržním hospodářství. 1. vyd. Praha: Victoria Publishing, 1995, 435 s. ISBN 80-718-7058-7. [5] TAHA, Hamdy A. Operations research: an introduction. 8th ed. Upper Saddle River, N.J.: Pearson/Prentice Hall, 2007, 813 s. ISBN 01-318-8923-0.