Felhasználói eszközök

Eszközök a webhelyen


num-mat:kozelit

9. Függvények közelítése. Legkisebb négyzetek módszere

9.1 Függvények közelítésének elméleti alapjai
9.2 Legkisebb négyzetek módszere
9.3 Lineáris regresszió
9.4 Kvadratikus (másodfokú) regresszió
9.5 Magasabb fokú regresszió
9.6 Nemlineáris (páros) regresszió
9.7 Többváltozós regresszió
9.8 Közelítések pontosságának elemzésére (példák)

9.1 Függvények közelítésének elméleti alapjai

Feltételezzük, hogy az $f(x)$ függvény értékei az $[a, b]$ intervallumon az $x_0, x_1, …, x_n$ pontokban van megadva, és a függvény értékei hibát tartalmaznak. Akkor, a függvény közelítésére a legkisebb négyzetek módszerét célszerű alkalmazni.

Legyen

$$φ_0(x), φ_1(x), …, φ_m(x) \tag{9.1}\label{eq:9.1}$$

az $[a, b]$ intervallumon lineárisan független függvény-rendszer ($m<n$). Akkor az $f(x)$ függvény közelítését a következő alakban keressük:

$$Φ(x) = c_0φ_0(x) + c_1φ_1(x) + … + c_mφ_m(x) \tag{9.2}\label{eq:9.2}$$

Ahol a $c_0, c_1, … c_m$ az ismeretlen együtthatók. A közelítés eltérését a függvénytől a következő képen lehet meghatározni:

$$L(c_0, c_1, … c_m)=\sum_{i=0}^np_i[f(x_i)-\Phi(x_i)]^2 \tag{9.3}\label{eq:9.3}$$

Az ismeretlen együtthatókat a $\eqref{eq:9.3}$ minimalizálása által kapjuk.

A $p_i>0$ – súlyok, amelyekkel figyelembe vehetjük azt a tényt, hogy a függvény értékek hiba-becsléséi különböző pontokban eltérnek egymástól, és

$$\sum_{i=0}^np_i=1$$

Ha a hibák nagyságrendje azonosak, akkor a $\eqref{eq:9.3}$-ban nem alkalmazunk súlyokat.

Bevezetjük függvények skaláris szorzatát:

$$(f,g)=\sum_{i=0}^n p_i f(x_i)g(x_i),\tag{9.4}\label{eq:9.4}$$

és a függvény normáját:

$$\|f\|=\sqrt{\sum_{i=0}^n p_i f^2(x_i) }\tag{9.5}\label{eq:9.5}$$

A $\eqref{eq:9.3}$ függvény minimumának feltétele:

$$\frac{∂L}{∂c_k} =0,\quad k = 0, 1, …, m\tag{9.6}\label{eq:9.6}$$

Akkor:

$$\begin{aligned} 2\sum_{i=0}^n p_i[f(x_i)-c_0φ_0(x_1) - c_1φ_1(x_1) &- … - c_mφ_m(x_i)]\varphi_k(x_i)=0,\\ &k = 0, 1, …, m \end{aligned} \tag{9.7}\label{eq:9.7}$$

$$$$

átalakítás után pedig:

$$\sum_{j=0}^mc_i(\varphi_j,\varphi_k)=(f,\varphi_k),\quad k=0,1,\ldots,m. \tag{9.8}\label{eq:9.8}$$

Bevezetünk jelöléseket:

$$\begin{aligned} s_{jk}&=\sum_{i=0}^n p_i \varphi_j(x_i)\varphi_k(x_i),\\ r_{k}&=\sum_{i=0}^n p_i f(x_i)\varphi_k(x_i). \end{aligned} \tag{9.9}\label{eq:9.9}$$

akkor a következő lineáris egyenletrendszert kapunk: $$\begin{aligned} &c_0s_{00} + c_1s_{10} + … + c_ms_{m0} = r_0 \\[5pt] &c_0s_{01} + c_1s_{11} + … + c_ms_{m1} = r_1 \\[5pt] &............................... \\ &c_0s_{0m} + c_1s_{1m} + … + c_ms_{mm} = r_m \\ \end{aligned}\tag{9.10}\label{eq:9.10}$$

Az $\eqref{eq:9.10}$ egyenletrendszer determinánsa a Gramm-mátrix determinánsa, amely pozitív. A $\eqref{eq:9.10}$ megoldásával meghatározzuk a $c_i$ együtthatók értékeit.

9.1. Példa

Közelítsük harmad-fokú polinommal a $\sin πx$ függvényt a $[-1, 1]$ intervallumon a

$$x_0=–1,\quad x_1 = -0,\!5,\quad x_2=0,\quad x_3=0,\!5,\quad x_4=1,$$

alappontok alapján:

$$p(x) = c_0+ c_1x + c_2x^2 + c_3x^3$$

A $\eqref{eq:9.10}$ egyenletrendszer

$$\begin{aligned} c_0s_{00} + c_1s_{10} + c_2s_{20} + c_3s_{30} &= r_0 \\[5pt] c_0s_{01} + c_1s_{11} + c_2s_{21} + c_3s_{31} &= r_1 \\[5pt] c_0s_{02} + c_1s_{12} + c_2s_{22} + c_3s_{32} &= r_2 \\[5pt] c_0s_{03} + c_1s_{13} + c_2s_{23} + c_3s_{33} &= r_3 \\[5pt] \end{aligned}$$

ahol

$$s_{00} = 1 + 1 + 1 + 1 + 1 = 5$$

$$s_{01} = s_{10} = -1 -0,\!5 - 0 + 0,\!5 +1 = 0$$

$$s_{02} = s_{11} = s_{20} = 1 +0,\!25 + 0 + 0,\!25 + 1 = 2,\!5$$

$$s_{03}=s_{12}=s_{21}=s_{30}=-1-0,\!125-0 + 0,\!125 +1 = 0$$

$$s_{13}=s_{22}= s_{31} = 1 +0,\!0625 + 0 + 0,\!0625+1=2,\!125$$

$$s_{23} = s_{32} = -1 -0,\!03125 - 0 + 0,\!03125 +1 = 0$$

$$s_{33} = 1 +0,\!015625 + 0 + 0,\!015625 + 1 = 2,\!03125$$

$$r_0 = 0 -1 +0 +1+0 = 0$$

$$r_1 = 0 +0,\!5 +0 +0,\!5+0 = 1$$

$$r_2 = 0 –0,\!25 +0 +0,\!25+0 = 0$$

$$r_3 =0,\!125 +0,\!125 = 0,\!25$$

Akkor:

$$5c_0 + 2,\!5c_2 = 0$$

$$2,\!5c_1 + 2,\!125c_3 = 1$$

$$2,\!5c_0 + 2,\!125c_2 = 0$$

$$2,\!125c_1 + 2,\!03125c_3 = 0,\!25$$

A megoldás:

$$c_0 = c_2 = 0,\quad c_1 = \frac{8}{3}, \quad c_1 = -\frac{8}{3},$$

$$p(x) = \frac{8}{3} (x - x^3)$$

9.2 Legkisebb négyzetek módszere

A legkisebb négyzetek módszerét elsőnként Gauss alkalmazta. Az $x_1, x_2, …, x_n$, $(n>m)$ pontokban adva vannak a függvény értékei $y_1, y_2,…., y_n$, amelyek $δ_1, δ_2, …, δ_n$ hibákat tartalmaznak. Az ismeretlen függvény alakzatát következő képen feltételezzük:

$$y = f(x, a_1, a_2, … , a_m)$$

amelyben $a_1, a_2, … , a_m$ – paraméterek, amelyeket akarjuk meghatározni.

Mivel

$$y = f(x, a_1, a_2, … , a_m) + δ_i,\quad i = 1, 2, …, n \tag{9.11}\label{eq:9.11}$$

akkor az ismeretlen paramétereket a következő feltétel alapján keressük:

$$\sum_{k=1}^n\delta_k^2=\sum_{k=1}^n(y_k-f(x_k, a_1, a_2, … , a_m))^2=\min\tag{9.12}\label{eq:9.12}$$

9.3. Lineáris regresszió

Adva vannak:

$$(x_1, y_1), (x_2, y_2), … , (x_n, y_n)$$

Az $x$ és $y$ közti kapcsolat a

$$Y = aX +b+ δ,$$

által fejezhetjük ki, ($δ$ –hiba, a véletlen tényező).

Az empirikus egyenletet képlete:

$$Y = aX + b \tag{9.13}\label{eq:9.13}$$

Mivel az adatok hibát tartalmaznak, azért, ha $X = x_i$, akkor nem a $y_i$ értéket kapunk, hanem –az $y^e_i$ t.

A $\eqref{eq:9.13}$ függvényben olyan $a$ és $b$ értékeket keresünk, hogy az $y_i$ és $y^e_i$ közötti eltérések minimálisak legyenek:

$$S(a, b)=\sum_{i=1}^n\delta_i^2= \sum_{i=1}^n(y_i^e-y_i)^2= \sum_{i=1}^n(ax_i+b-y_i)^2\tag{9.14}\label{eq:9.14}$$

$$S(a, b) \geqslant 0,\quad\min S(a, b) = ? \tag{9.15}\label{eq:9.15}$$

A kétváltozós függvény minimumának (szélsőértékének) szükséges feltétele:

a parciális deriváltjai a minimum pontban nulla értéket vegyenek fel

$$S'_a = 0,\quad S'_b = 0, \tag{9.16}\label{eq:9.16}$$

$$S'_a=2\sum_{i=1}^n(ax_i+b-y_i)x_i=0\tag{9.17}\label{eq:9.17}$$

$$S'_b=2\sum_{i=1}^n(ax_i+b-y_i)=0\tag{9.18}\label{eq:9.18}$$

$$\begin{align} a\sum_{i=1}^n x_i^2+b\sum_{i=1}^n x_i &=\sum_{i=1}^n x_i y_i\\[5pt] a\sum_{i=1}^n x_i+b\cdot n &=\sum_{i=1}^n y_i \\[5pt] \end{align} \tag{9.19}\label{eq:9.19}$$ A $\eqref{eq:9.19}$ egyenletrendszer megoldása:

$$ a=\displaystyle\frac{n\displaystyle\sum_{i=1}^n x_i y_i- \displaystyle\sum_{i=1}^n x_i\displaystyle\sum_{i=1}^n y_i} {n\displaystyle\sum_{i=1}^n x_i^2-\left(\displaystyle\sum_{i=1}^n x_i\right)^2}, \tag{9.20}\label{eq:9.20}$$

$$b=\frac{\displaystyle\sum_{i=1}^n y_i- a\displaystyle\sum_{i=1}^n x_i}{n}= \displaystyle\frac{\displaystyle\sum_{i=1}^n x_i\displaystyle\sum_{i=1}^n x_i y_i- \displaystyle\sum_{i=1}^n x_i^2\displaystyle\sum_{i=1}^n y_i} {\left(\displaystyle\sum_{i=1}^n x_i\right)^2-n\displaystyle\sum_{i=1}^n x_i} \tag{9.21}\label{eq:9.21}$$

A minimum létezésének elégséges feltételei:

$$$$

$$\begin{vmatrix} S''_{aa}(a,b) & S''_{ab}(a,b) \\ S''_{ba}(a,b) & S''_{bb}(a,b) \\ \end{vmatrix} \neq 0 \tag{9.22}\label{eq:9.22}$$

és

$$S''_{aa}(a, b) > 0\tag{9.23}\label{eq:9.23}$$

S elemzése azt mutatja, hogy a $\eqref{eq:9.22}$, $\eqref{eq:9.23}$ feltételek teljesülnek:

$$S''_{aa}(a,b) =\frac{\partial}{\partial a}\left( 2\sum_{i=1}^n(ax_i+b-y_i)x_i\right)=2\sum_{i=1}^n x_i^2 > 0,$$

minimum.

$$S''_{bb}(a,b) =\frac{\partial}{\partial b}\left( 2\sum_{i=1}^n(ax_i+b-y_i)\right)=2n$$

$$S''_{ab}(a,b) =\frac{\partial}{\partial b}\left( 2\sum_{i=1}^n(ax_i+b-y_i)x_i\right)=2\sum_{i=1}^n x_i,$$

$$\begin{vmatrix} 2\displaystyle\sum_{i=1}^n x_i^2 & 2\displaystyle\sum_{i=1}^n x_i \\ 2\displaystyle\sum_{i=1}^n x_i & 2n \\ \end{vmatrix}=4\left(n\sum_{i=1}^n x_i^2-\left(2\sum_{i=1}^n x_i^2\right)^2\right) =\\ =4n^2\left(\displaystyle\frac{2\displaystyle\sum_{i=1}^n x_i^2}{n}-\overline{x}^{\,2}\right)= 4n^2D(x)=4n^2\frac{2\displaystyle\sum_{i=1}^n (x_i-\overline{x})^2}{n}>0 $$

ahol a $D$ – szórás (diszperzió).

9.4. Kvadratikus (másodfokú) regresszió

Ebben az esetben a regressziós függvény általános alakja:

$$y = ax^2 + bx +c \tag{9.24}\label{eq:9.24}$$

$$S(a,b,c)=\sum_{i=1}^n \xi^2=\sum_{i=1}^n(y_i^e-y_i)^2= \sum_{i=1}^n(ax^2_i+bx_i+c-y_i)^2 \tag{9.25}\label{eq:9.25}$$

$$S(a, b, c)\geqslant 0,\quad\min S(a, b, c) = ?$$

A minimum keresésére a függvény mindhárom parciális deriváltját kell kiszámítani:

$$\begin{aligned} S'_a&=2\sum_{i=1}^n(ax^2_i+bx_i+c-y_i)x_i^2=0 \\[5pt] S'_b&=2\sum_{i=1}^n(ax^2_i+bx_i+c-y_i)x_i=0 \\[5pt] S'_c&=2\sum_{i=1}^n(ax^2_i+bx_i+c-y_i)=0 \\[5pt] \end{aligned} \tag{9.26}\label{eq:9.26}$$

$$S'_a =0,\quad S'_b =0,\quad S'_c =0, \tag{9.27}\label{eq:9.27}$$

$$\begin{aligned} a\sum_{i=1}^n x_i^4+b\sum_{i=1}^n x_i^3+c\sum_{i=1}^n x_i^2 &=\sum_{i=1}^n x_i^2y_i\\[5pt] a\sum_{i=1}^n x_i^3+b\sum_{i=1}^n x_i^2+c\sum_{i=1}^n x_i &=\sum_{i=1}^n x_iy_i\\[5pt] a\sum_{i=1}^n x_i^2+b\sum_{i=1}^n x_i+c\cdot n &=\sum_{i=1}^n y_i\\[5pt] \end{aligned}\tag{9.28}\label{eq:9.28}$$

Az ismeretlen együtthatókat a $\eqref{eq:9.28}$ normál egyenletrendszerből lehet megállapítani.

9.5. Magasabb fokú regresszió

$$q(x) = a_0 + a_1x+ a_2x^2 + …+ a_mx^m,\quad m<n \tag{9.29}\label{eq:9.29}$$

$$S=\sum_{i=1}^n\left[y_i-q(x_i)\right]^2$$

Ebbe az esetben a normális egyenletrendszer:

$$\sum_{j=0}^m s_{k+j}a_j=s_ka_0+s_{k+1}a_1+\ldots+s_{k+m}a_m=v_k, \quad k=0,1,\ldots,m. \tag{9.30}\label{eq:9.30}$$

ahol

$$s_k=\sum_{i=1}^n x_i^k,\quad k=0,1,\ldots,2m. \tag{9.31}\label{eq:9.31}$$

$$v_l=\sum_{i=1}^n y_ix_i^l,\quad l=0,1,\ldots,m. \tag{9.32}\label{eq:9.32}$$

A normális egyenletrendszer megoldása után megkapjuk az $a^*_2$ értékeket, és

$$q(x) = a^*0 + a^*_1x+ a^*_2x^2 + …+ a^*_mx^m \tag{9.33}\label{eq:9.33}$$

lesz a legjobb közelítés.

Szórás-becslés:

$$δ^2 = \frac{S_{\min}}{n - m} \tag{9.34}\label{eq:9.34}$$

ahol

$$S_{\min}=\sum_{i=1}^n ε_i^2 \tag{9.35}\label{eq:9.35}$$

$$ε_i = y_i – q^*(x_i)$$

9.6. Nemlineáris páros regresszió

$$Y = aφ(X) +b + ξ,\tag{9.36}\label{eq:9.36}$$

$ξ$ – véletlen hiba

Az elméleti képlet:

$Y^* = aφ(X) +b\tag{9.37}\label{eq:9.37}$$

$$z_i = φ(x_i), \quad i =1, 2, …, n$$

Akkor:

$$Y^* = aZ +b\tag{9.38}\label{eq:9.38}$$

$$a=\frac{n\displaystyle\sum_{i=1}^n z_iy_i-\displaystyle\sum_{i=1}^n z_i\displaystyle\sum_{i=1}^n y_i} {n\displaystyle\sum_{i=1}^n z_i^2-\left(\displaystyle\sum_{i=1}^n z_i\right)^2} \tag{9.39}\label{eq:9.39}$$

$$b=\frac{\displaystyle\sum_{i=1}^n z_i\displaystyle\sum_{i=1}^n z_iy_i-\displaystyle\sum_{i=1}^n z_i^2\displaystyle\sum_{i=1}^n y_i} {\left(\displaystyle\sum_{i=1}^n z_i\right)^2-n\displaystyle\sum_{i=1}^n z_i} \tag{9.40}\label{eq:9.40}$$

9.2. Példa

$$Y^* = \frac{a}{X} +b,\quad Z = \frac{1}{X} $$

$$Y^* = aZ +b$$

9.3. Példa

$$Y^* = a \ln X +b,\quad Z = \ln X$$

$$Y^* = a Z+b$$

9.4. Példa

$$Y^* = a^X +b,\quad \ln Y^* = X \ln a + \ln b,$$

$$Z = \ln Y^*,\quad A = \ln a,\quad B = \ln b$$

$$Z = AX + B$$

9.7. Többváltozós regresszió

$$(x^{(k)}_1, x^{(k)}_2, …, x^{(k)}_m, y^{(k)}), \quad k = 1, 2, …, n$$

$$Y = a_0 + a_1x_1 + a_2x_2 + … + a_mx_m + ξ \tag{9.41}\label{eq:9.41}$$

$$\begin{aligned} S&(a_0,a_1,\ldots,a_m)=\sum_{i=1}^n \xi^2=\sum_{i=1}^n(y_i^e-y_i)^2=\\ &=\sum_{i=1}^n(a_0 + a_1x^{(i)}_1 + a_2x^{(i)}_2 + … + a_mx^{(i)}_m-y_i)^2 \end{aligned}\tag{9.42}\label{eq:9.42}$$

Akkor

$$\frac{\partial S}{\partial a_0}= 2\sum_{i=1}^n(a_0 + a_1x^{(i)}_1 + a_2x^{(i)}_2 + … + a_mx^{(i)}_m-y_i)=0, \tag{9.43}\label{eq:9.43}$$

$$\begin{aligned} \frac{\partial S}{\partial a_j}= 2\sum_{i=1}^n(a_0 + a_1x^{(i)}_1 + a_2x^{(i)}_2 &+ … + a_mx^{(i)}_m-y_i)x_j^{(i)}=0,\\ &j=1,2,\ldots,m \end{aligned} \tag{9.44}\label{eq:9.44}$$

$$n\cdot a_0+a_1\sum_{i=1}^n x^{(i)}_1 + \sum_{i=1}^na_2x^{(i)}_2 + … + a_m\sum_{i=1}^nx^{(i)}_m =\sum_{i=1}^n y_i$$

$$\begin{aligned} &a_0\sum_{i=1}^n x^{(i)}_1+a_1\sum_{i=1}^n x^{(i)}_1 x^{(i)}_1 + a_2\sum_{i=1}^n x^{(i)}_1 x^{(i)}_2 + … + a_m\sum_{i=1}^n x^{(i)}_1 x^{(i)}_m =\sum_{i=1}^n x^{(i)}_1 y_i\\[5pt] &a_0\sum_{i=1}^n x^{(i)}_2+a_1\sum_{i=1}^n x^{(i)}_2 x^{(i)}_1 + a_2\sum_{i=1}^n x^{(i)}_2 x^{(i)}_2 + … + a_m\sum_{i=1}^n x^{(i)}_2 x^{(i)}_m =\sum_{i=1}^n x^{(i)}_2 y_i\\[5pt] &\cdots\cdots\cdots\\ &a_0\sum_{i=1}^n x^{(i)}_m+a_1\sum_{i=1}^n x^{(i)}_m x^{(i)}_1 + a_2\sum_{i=1}^n x^{(i)}_m x^{(i)}_2 + … + a_m\sum_{i=1}^n x^{(i)}_m x^{(i)}_m =\sum_{i=1}^n x^{(i)}_m y_i\\[5pt] \end{aligned} \tag{9.45}\label{eq:9.45}$$

9.8. Közelítések pontosságának elemzésére (példák)

9.5. Példa

$$y = 2 + 4x +x^2$$

A pontos eredmény:

$$c_1=2\quad c_2 = 4,\quad c_3=1$$

$$\begin{matrix} x & 1 & 2 & 3 & 4 & 5 \\ y & 7 & 14 & 23 & 34 & 47 \end{matrix}$$

a) Legyen a regresszió foka $n=2$. Az eredmény:

$$c_1=1,\!9999957\quad c_2 = 4,\!0000044\quad c_3=0,\!999993 $$

b) A regressziós függvény foka $n=3$. Az eredmény:

$$c_1=2,\!0001345\quad c_2 = 3,\!9998111\quad c_3=1,\!0000721\quad c_4= -0,\!0000080 $$

c) A regressziós függvény foka $n=4$. Az eredmény:

$$c_1=1,\!9959750\quad c_2 = 4,\!0075371\quad c_3=0,\!9954456 $$

$$c_4=0,\!0010951\quad c_5 = -0,\!0000907 $$

9.6. Példa

$$y = 40 + 10x +5x^2+3x^3+2x^4+x^5+x^6,$$

a) $n=6$. Legyen: $x_i = 1, 2, 3, …, 50$. Kiszámítjuk az $y_i$ értékeit.

Akkor:

$$c_1=1018375\quad c_2 =2890625,\quad … $$

Ez az eredmény egyáltalán nem jó, mivel a normális egyenletrendszer mátrixának az elemeinek nagyságrendjei lényegesen eltérnek egymástól:

$$a_{1,1}=50, …, a_{7,7}= 10^21 $$

és ezért a kerekítési hibák rendkívül nagyok!

$$y = 40 + 10x +5x^2+3x^3+2x^4+x^5+x^6,$$

b) Ugyan az a feladat. De a számításokat dupla pontossággal fogjuk végezni.

Akkor az eredmény:

$$c_1=39,\!9945393 \quad c_2 =10,\!0036631 \quad c_3=4,\!9993401 $$

$$c_4 =3,\!0000494 \quad c_5=1,\!9999982 \quad c_6 =1,\!0000000 $$

$$c_7 =1,\!0000000 $$

Ez az eredmény már pontosabb!

c) Legyen: $x_i = 1,\!0; 1,\!1; …; 50$. Kiszámítjuk az $y_i$ értékeit.

$$n=6$$

Az eredmény:

$$c_1=41,\!3747716 \quad c_2 =1,\!4650151 \quad c_3=19,\!4771159 $$

$$c_4 = -7,\!3396831 \quad c_5=5,\!5579804 \quad c_6 =0,\!4154199 $$

$$c_7 =1,\!0368103 $$

Javasoljuk megoldani a 10. Fejezetben található feladatokat.

num-mat/kozelit.txt · Utolsó módosítás: 2021/07/20 16:30 szerkesztette: beistvan