Felhasználói eszközök

Eszközök a webhelyen


num-mat:hibabecs

1. Hibabecslések

1.1. Hibák osztályozása

  1. Kiküszöbölhetetlen hibák. Első sorban a bemenő (input) adatok hibáit soroljuk ide.
  2. Matematikai modell hibája. Mivel minden modell csak közelíti a valós, modellezett objektumot, ezért a modell mindig hibát tartalmaz az objektum leírása szempontjából.
  3. Módszer-hiba. Ez a hiba a kiválasztott numerikus módszertől függ.
  4. A számítógép alkalmazása kapcsán keletkezett hibák (első sorban, kerekítési hibák).

A gyakorlati problémák esetén figyelembe kell venni mind a négy hiba típus lehetőségét.

Egy probléma megoldása kapcsán különböző hiba-elemzéseket szoktak végrehajtani.

  1. Direkt elemzés. Ismerjük a bemenő adatok hibáit. Meg kell állapítani az eredmény hibáját. Ez az elemzés a leggyakoribb.
  2. Inverz elemzés. Adva van az eredmény megengedett hibája (vagy az elvárt pontosság). Meg kell állapítani a bemenő adatok olyan megengedett hibáit, hogy az eredmény megfelelő pontosságú legyen.
  3. A bemenő adatok pontosságának egyeztetése. Például, ha az egyik adat hibája nagy, akkor nincs értelme törekedni a többi adatot nagyobb pontosságára.
  4. Az adatok stabilitásának problémája (hibaterjedés elemzése).

1.2. Abszolút hiba

Legyen $a_0$ – az adat pontos értéke, és $a$ – az $a_0$ közelítő értéke, akkor az $a - a_0$ lesz az adat közelítő értékének a hibája. A közelítő érték hiba-becslését (hibakorlátját) $\Delta a$-val jelöljük:

$$\boxed{|a-a_0|\leqslant \Delta_a.}\tag{1.1} \label{eq:1.1}$$

1.1. Példa.

Számítsuk ki egy téglalap területét:

$$a=5,\!43\text{ m},\quad b=3,\!82\text{ m}$$ $$\Delta_a= \Delta_b=0,\!01$$

$$S=ab = 20,\!7426\text{ m}^2$$

$$(a+0,\!01) (b+0,\!01) = 20,\!8352\text{ m}^2$$

$$(a-0,\!01) (b-0,\!01) = 20,\!6502\text{ m}^2$$

$$\Delta_S = 0,\!093\text{ m}^2$$

$$|S-S_0|\leqslant 0,\!0926$$

$$S\approx 20,\!74\text{ m}^2$$

1.3. Relatív hiba

Az $a_0$ adat az $a$ közelítő értékének a relatív hibája:

$$\delta_a=\displaystyle\frac{\Delta_a}{|a_0|}$$

Mivel általános esetben az $a_0$ értéke ismeretlen, a relatív hibát így fogjuk meghatározni:

$$\boxed{\delta_a=\displaystyle\frac{\Delta_a}{|a|} },\quad (a\neq 0).\tag{1.2}\label{eq:1.2}$$

A relatív hibát gyakran százalékban szokták megadni.

Visszatérve az előző példához, kiszámítjuk a relatív hibát:

$$S\approx 20,\!7426,\quad\Delta_S= 0,\!0926.$$

$$\delta_S\approx\displaystyle\frac{0,\!0926}{20,\!7426}\approx 0,\!045.$$

Egy adat relatív hibabecslése és a biztos számjegyeinek számának kapcsolata a következő (közelítőleg):

Ha $\delta=10 %$, akkor az adat egy biztos számjegyet tartalmaz,

ha $\delta=1%$, akkor az adat két biztos számjegyet tartalmaz,

ha $\delta=0,\!1 %$ akkor az adat három biztos számjegyet tartalmaz, ….

A matematikai táblázatokban a függvények értékei úgy vannak kerekítve, hogy a táblázat csak biztos számjegyeket tartalmazzon, és egy adat abszolút hibája nem haladja meg az utolsó megadott számjegy-egység értékének a felét.

1.4. Aritmetikai műveletek abszolút hibái

Az összeg abszolút hibája

Az adatok pontos értékei legyenek $a_0$, $b_0$, az $a$ és a $b$ pedig, – az adatok közelítő értékei, és

$$|a-a_0|\leqslant\Delta_a\quad|b-b_0|\leqslant\Delta_b.$$

Akkor az $a+b$ összeg hiba-becslése:

$$\boxed{\Delta_{a+b} = \Delta_a + \Delta_b}.\tag{1.3}$$

A többi aritmetikai művelet esetén hasonló képleteket kaphatunk.

A kivonás $a-b$ abszolút hibája:

$$\boxed{\Delta_{a-b} = \Delta_a + \Delta_b}.\tag{1.4}$$

A szorzat $ab$ abszolút hibája:

$$\boxed{\Delta_{ab}\approx |a|\Delta_b + |b|\Delta_a}.\tag{1.5}$$

Az osztás $a/b$ abszolút hibája:

$$\boxed{\Delta_{a/b}\approx\displaystyle\frac{|a|\Delta_b + |b|\Delta_a}{|b^2|}}.\tag{1.6}$$

Ha a $b$ értéke közzel van a nullához, akkor az osztás abszolút hibája nagyon nagy lehet.

Több adat összeadása esetén

$$S=\displaystyle\sum_{k=1}^n a_k \tag{1.7}$$

az összeg hiba-becslése:

$$\Delta_S=\displaystyle\sum_{k=1}^n \Delta_k \tag{1.8}\label{eq:1.8}$$

Az $\eqref{eq:1.8}$ hibabecslés túlzott, mivel értéke sokkal nagyobb lehet a reális eltéréstől. Ha $n>10$, akkor célszerű alkalmazni a

statisztikai hiba-becslést (Csebotárjov-féle szabály):

$$\Delta_S=\sqrt{3n}\cdot\Delta_k,\tag{1.9}\label{eq:1.9}$$

amely sokkal pontosabb eredményt ad, mint az $\eqref{eq:1.8}$ képlet.

Az $\eqref{eq:1.9}$ képletben azt feltételezzük, hogy a hibák nagyságrendje körülbelül azonos. Ha az egyik adat abszolút hibája lényegesen nagyobb a többi abszolút hibánál,

$$\Delta_1\gg\Delta_k,\quad k>1, \tag{1.10}$$

akkor az összeg abszolút hibáját egyszerűbben lehet megállapítani:

$$\Delta_S\approx\Delta_1.\tag{1.11}$$

1.2. Példa.

érték abszolút hiba
345,4 0,05
235,2 0,05
11,75 0,005
9,27 0,005
0,35 0,005
0,18 0,005
0,08 0,005
0,02 0,005
0,00 0,005

$$ S=602,\!25,\quad \Delta_S=0,\!05+0,\!05=0,\!1.$$

1.5. Aritmetikai műveletek relatív hibái

A $a+b$ összeg relatív hibája:

$$\boxed{\delta_{a+b}=\max\{\delta_a,\delta_b\} }.\tag{1.12}$$

Több adat esetén:

$$\Delta_S=\displaystyle\sum_{k=1}^n \Delta_k \tag{1.13}\label{eq:1.13}$$

$$\delta_S\leqslant\max_{k}\delta_k.\tag{1.14}$$

Kivonás $a-b$ relatív hibája:

$$\boxed{\delta_{a-b}=\displaystyle\frac{\Delta_a+\Delta_b}{|a-b|} },\quad a>0,b>0.\tag{1.15}$$

Megjegyzés. Ha az $a$ és $b$ számok értékei közel vannak egymáshoz, akkor a kivonás relatív hibája nagyon nagy lehet! Ezért, ha van lehetőség, a kivonás műveletet ki kell küszöbölni az algoritmusból (a kifejezések átalakításával)!

Szorzás $ab$ relatív hibája:

$$\boxed{\delta_{ab} = \delta_a + \delta_b}.\tag{1.16}$$

Osztás $a/b$ relatív hibája:

$$\boxed{\delta_{a/b} = \delta_a + \delta_b}.\tag{1.17}$$

Több adat esetén a szorzások és osztások

$$r=\displaystyle\frac{\displaystyle\prod_{k=1}^m a_k}{\displaystyle\prod_{j=1}^n b_j}\tag{1.18}$$

relatív hibája:

$$\delta_r=\displaystyle\sum_{k=1}^m \delta_{a_k}+\displaystyle\sum_{j=1}^n \delta_{b_j}.\tag{1.19}$$

Ha $n+m>10$, akkor lehet a statisztikai hibabecslést alkalmazni. Feltételezve, hogy a $\delta_a$, $\delta_b$ relatív hibák értékei azonos nagyságrendűek, akkor a következő hiba-becslést kapunk:

$$\delta_r\approx\sqrt{3(n+m)}\delta.\tag{1.20}$$

Ha az egyik szám relatív hibája lényegesen nagyobb a többi relatív hibánál:

$$\delta_{a_1}\gg\delta_{a_k},\quad \delta_{a_1}\gg\delta_{b_j},$$

akkor

$$\delta_r\approx\delta_{a_1}.\tag{1.21}$$

1.3. Példa.

Számítsuk ki az

$$r=\displaystyle\frac{3,\!2\cdot 356,\!7\cdot 0,\!0481}{7,\!1948\cdot 34,\!56}=0,\!221$$

értékét, ha az adott számok mindegyik számjegye biztos.

A legnagyobb relatív hiba

$$\delta_1=\frac{0,\!05}{3,\!2}=0,\!016$$

és

$$\delta_r = 1,\!6\%$$

$r$ abszolút hibája:

$$\Delta_r =r\cdot\delta_r =0,\!221\cdot 0,\!016=0,\!0036,$$

$$\Delta_r <0,\!005$$

és a kerekítés után $r=0,\!22$ értéket kapunk.

1.4. Példa

$$a=1,\!137,\quad b=1,\!073,$$

$$\Delta_a = \Delta_b = 0,\!011.$$

Akkor:

$$c=a-b =0,\!064,\quad\Delta_c = \Delta_a + \Delta_b = 0,\!022.$$

$$\delta_c=\frac{0,\!022}{0,\!064}\approx 0,\!35\, (35\%),$$

Ez az eredmény egy biztos számjegyet sem tartalmaz!

1.5. Példa

Számítsuk ki a

$$d=1-\cos 1^{\circ}\tag{1.22}\label{eq:1.22} $$

értékét!

Mivel

$$\cos 1^{\circ} =0,\!9998, \quad \Delta_{\cos} = 0,\!00005,$$

$$d=0,\!0002,\quad\Delta_d = 0,\!00005,$$

akkor

$$\delta_d=\displaystyle\frac{0,\!00005}{0,\!0002}=0,\!25.$$

A hiba-becslés $25\%$.

Ezt a $\delta_d$ hiba-becslést csökkenthetjük, ha átalakítjuk a $\eqref{eq:1.22}$ képletet. Mivel

$$1 - \cos 2x =2\sin^2x,$$

akkor:

$$d=1-\cos 1^{\circ}=2 \sin^2 0^{\circ}30^\prime =2g^2,\quad g=\sin 0^{\circ}30^\prime$$

és

$$g= 0,\!0087,\quad \Delta_g =0,\!00005,$$

$$d=2g^2=0,\!000151.$$

$$\delta_d=\displaystyle\frac{0,\!00005}{0,\!00087}=0,\!0058,\, (0,\!58\%)$$

$$\delta_d =2\delta_g =0,\!016$$

$$\Delta_d =d\cdot\delta_d=0,\!000151\cdot 0,\!0116 = 0,\!0000018.$$

Láthatjuk, hogy az átalakításokkal lényegesen csökkentettük az eredmény relatív hibáját.

1.6. Példa.

Számítsuk ki a kör területét, ha annak az átmérője $d=0,\!842\text{ m}$ és $\Delta_d=1\text{ mm}$.

$$S=3,\!1416/4\cdot 0,\!842 = 0,\!5568\text{ m}^2$$

$$\delta_{dd}=2,\quad\delta_d = 0,\!0024,\, (0,\!24\%),$$

$$\delta_S= \delta_{\pi/4} + \delta_{dd} = 0,\!0024,$$

$$\Delta_S =S,\quad\delta_S=0,\!0014,$$

$$S=0,\!557\text{ m}^2.$$

1.6 Függvények hibabecslése

Legyen $y=f(x)$ kétszer differenciálható függvény. Akkor a másodrendű Taylor-felbontásból:

$$f(a_0)=f(a)+f´(a)(a_0-a)+f´´(ζ) (a_0-a)^2/2\tag{1.23}$$

$$a – \Delta_a < ζ < a + \Delta_a$$

és

$$|f(a_0)-f(a)|\leqslant|f^\prime(a)| \Delta_a +M/2 (\Delta_a)^2$$

ahol

$$M=\max|f´(ζ)|.$$

Ez alapján a függvényérték abszolút hiba-becslése:

$$\delta_{f(a)}=|f^{\prime}(a)|\,\Delta_a\tag{1.24}\label{eq:1.24}.$$

Megállapíthatjuk a függvényérték relatív hiba-becslését is:

$$\delta_{f(a)}=\frac{\Delta_{f(a)}}{|f(a)|}\approx\frac{|f^\prime(a)|\,\Delta_a}{|f(a)|}\cdot\frac{|a|}{|a|}=\frac{|f^\prime(a)|\,|a|}{|f(a)|}\cdot\frac{\Delta_a}{|a|}=\frac{|f^\prime(a)|\,|a|}{|f(a)|}\cdot\delta_a\tag{1.25}$$

$$\delta_{f(a)}\approx\frac{|f^\prime(a)|\,|a|}{|f(a)|}\cdot\delta_a\tag{1.26}\label{eq:1.26}$$

$$\frac{\delta_{f(a)}}{\delta_a}=\frac{|f^\prime(a)|}{|f(a)|}\,|a|\tag{1.27}\label{eq:1.27}$$

A $\eqref{eq:1.27}$ képlet alapján megállapíthatjuk, hogy a független változónak az eltérése milyen mértékben növeli a függvény értékének az eltérését. Ezt a mennyiséget a pontbeli kondíciószámának nevezzük:

$$\operatorname{cond}(f, x)=\frac{|f^\prime(x)|\,|x|}{|f(x)|}\tag{1.28}$$

Akkor a $\eqref{eq:1.26}$ alapján:

$$\delta_{f(a)}=\operatorname{cond}(f, a)\,\delta_a $$

Ha a $\operatorname{cond}(f, x)$ értéke nagy, akkor az lényegesen növeli a függvény relatív hibáját a független változó relatív hibájához képest. Megjegyezzük, hogy egy a függvény kondíciószáma $\operatorname{cond}(f, x)$ függ a $x$ változótól is, és általános esetben a függvényérték hibája változhat pontokként.

Azt mondjuk, hogy a függvény rosszul kondicionált, vagy numerikusan instabil, ha nagy annak nagy a kondíciószáma.

A lineáris algebra problémák elemzésének is fontos eleme a kondíciószám fogalma.

Ha $f(x)>0$, akkor:

$$\delta_{f(a)}=\frac{|f^\prime(a)|}{|f(a)|}\,\Delta_x=\left|\left[\ln f(x)\right]^\prime\right|\Delta_x\tag{1.29}\label{eq:1.29}$$

Konkrét függvények hibabecslései

Hatványozás.

$$y=x^a\tag{1.30}$$

$$\Delta_y=a x^{a-1}\Delta_x\tag{1.31}$$

$$\delta_y=|a|\,\delta_x\tag{1.32}$$

Exponenciális függvény.

$$y=a^x,\quad(a>0)\tag{1.33}$$

$$\Delta_y=a^x ·\ln a·\Delta_x\tag{1.34}$$

$$\delta_y= \Delta_x \ln a\tag{1.35}$$

Ha $y=e^x$, akkor

$$\delta_y= \Delta_x$$

Logaritmikus függvény.

$$y=\ln x\tag{1.37}$$

$$\Delta_y=\frac{\Delta_x}{x}= \delta_x\tag{1.38}$$

a $y=\lg x$ esetén:

$$\Delta_y=0,\!4343\, \delta_x\tag{1.39}$$

Trigonometrikus függvények.

$$y=\sin x,\quad \Delta_{\sin x}=|\cos x|\,\Delta_x\leqslant \Delta_x\tag{1.40}$$

$$y=\cos x,\quad \Delta_{\cos x}=|\sin x|\,\Delta_x\leqslant \Delta_x\tag{1.41} $$

$$y=\operatorname{tg}x,\quad \Delta_{\operatorname{tg}x}=(1+\operatorname{tg}^2x)\,\Delta_x \geqslant\Delta_x\tag{1.42}$$

$$y= \operatorname{ctg}x,\quad\Delta_{\operatorname{ctg}x}=(1+\operatorname{ctg}^2x)\,\Delta_x\geqslant\Delta_x\tag{1.43}$$

1.7. Példa

Számítsuk ki a $y=\sin x$ abszolút hibáját, ha $x=25^\circ 20^\prime$ és $\Delta_x =1^\prime$.

Mivel $1^\prime =0,\!000291$ radián, akkor

$$\Delta_{\sin x}=|\cos x|\Delta_x=\cos 25^\circ 20^\prime\cdot 0,\!000291=0,\!00026.$$

Inverz hibabecslés elemzése.

Adva van a $y=f(x)$ függvény maximális megengedett abszolút hibája $\Delta_y$. Meg kell állapítani, hogy milyen lehet a független változó $x$ abszolút hibája $\Delta_x$, hogy a függvény abszolút hibája ne haladja meg az adott $\Delta_y$ értéket.

Ha $f^\prime(x)\neq 0$, akkor a $\eqref{eq:1.24}$ alapján:

$$\Delta_x= \frac{\Delta_y}{|f^\prime(x)|}\tag{1.44}$$

num-mat/hibabecs.txt · Utolsó módosítás: 2021/09/09 08:47 szerkesztette: beistvan