next up previous contents index
Next: Numerička integracija Up: Aproksimacija funkcije i numerička Previous: Ocjena greške   Sadržaj   Indeks


Metoda najmanjih kvadrata

Na sljedećoj slici je funkcija, zadana svojim vrijednostima u nekoliko točaka (istaknute točke), interpolirana polinomom prvog stupnja (pravac) i polinomom drugog stupnja (crtkana linija) u smislu metode najmanjih kvadrata.

\includegraphics{m3metnajmkvad.eps}

Lagrangeov polinom veoma dobro aproksimira funkciju lokalno, u izabranim točkama, dok izvan tih točaka aproksimacija može biti vrlo loša. Sada ćemo upoznati metodu najmanjih kvadrata, metodu pomoću koje možemo zadanu funkciju aproksimirati drugom funkcijom određenog tipa globalno, tako da u izvjesnom smislu njihova međusobna udaljenost bude što manja, bez obzira na to što se funkcije možda neće poklapati niti u jednoj točki.

Pretpostavimo najprije da su vrijednosti funkcije poznate samo u nekim točkama. Neka su $ x_1,x_2,\ldots{},x_n$ dane točke i neka su $ f(x_1),f(x_2),\ldots{},f(x_n)$ pripadne vrijednosti funkcije $ f.$ Želimo naći onu funkciju $ g$ određenog tipa s neodređenim parametrima $ \alpha,\beta,\ldots{},$ koja najbolje aproksimira funkciju $ f.$ To možemo učiniti na sljedeći način.

Izračunamo sumu kvadrata razlika funkcija $ f$ i $ g$

$\displaystyle S = \sum_{k=1}^n \left[f(x_k) - g(x_k)\right]^2,$

i zatim tražimo neodređene parametre $ \alpha,\beta,\ldots{}$ iz uvjeta da $ S$ kao funkcija tih parametara ima minimalnu vrijednost.

Ako je funkcija $ f$ zadana u svim točkama nekog segmenta $ [a,b],$ onda se funkcija $ S$ definira pomoću integrala

$\displaystyle S = \int_{a}^b \left[f(x) - g(x)\right]^2\,dx.$

Klase funkcija iz kojih biramo funkciju $ g$ su obično polinomi prvog stupnja $ g(x)=\alpha{}x+\beta{},$ polinomi drugog stupnja $ g(x)=\alpha{}x^2 +\beta{}x+\gamma{},$ eksponencijalne funkcije $ g(x)=\alpha{}\,e^{\beta{}\,x}+\gamma{},$ itd.

Na pr. ako želimo naći polinom prvog stupnja najbliži funkciji $ f$ čije su nam vrijednosti poznate u točkama $ x_1,x_2,\ldots{},x_n,$ onda je

$\displaystyle S(\alpha{},\beta{}) = \sum_{k=1}^n \left[f(x_k) - \alpha{}\,x_k - \beta{}\right]^2.$ (3.18)

Nužan uvjet za ekstrem funkcije $ S$ je

$\displaystyle \frac{\partial{}S}{\partial{}\alpha{}} = 0,\hspace{1cm}
\frac{\partial{}S}{\partial{}\beta{}} = 0,$

dakle

$\displaystyle \sum_{k=1}^n \left[f(x_k) - \alpha{}\,x_k - \beta{}\right]\,x_k =
0,$

$\displaystyle \sum_{k=1}^n \left[f(x_k) - \alpha{}\,x_k - \beta{}\right] = 0.$

Kad sredimo ovaj sustav jednadžbi, dobijemo

$\displaystyle \alpha{}\,\sum_{k=1}^n x_k^2 + \beta{}\,\sum_{k=1}^n x_k =
\sum_{k=1}^n f(x_k)\,x_k,$

$\displaystyle \alpha{}\,\sum_{k=1}^n x_k + n\,\beta{} = \sum_{k=1}^n f(x_k).$

Iz njega izračunamo $ \alpha{}$ i $ \beta{}.$ Iz prirode problema jasno je da funkcija $ S$ ima samo minimum, pa tako određeni parametri doista daju najbolju aproksimaciju funkcije $ f.$

Kad se funkcija $ g$ traži u obliku eksponencijalne, logaritamske i slično, onda se na ovaj način u pravilu dobije sustav nelinearnih jednadžbi. Takve sustave je teže rješavati nego linearne. Obično se nekim operacijama nad funkcijama (na pr. logaritmiranjem) pojednostavni klasa funkcija u kojoj tražimo aproksimaciju. No, parametri koje tako dobijemo nisu najbolji mogući u smislu metode najmanjih kvadrata.

Primjer 3.15   Neka su funkcija i točke kao u primjeru 3.14. Interpolirati funkciju polinomom drugog stupnja, ali metodom najmanjih kvadrata, i pomoću njega približno naći $ f(2.5).$

Rješenje. Neka je

$\displaystyle p(x) = a + b\,x + c\,x^2$

polinom koji u smislu metode najmanjih kvadrata interpolira podatke
$ x$ $ 1$ $ 2$ $ 3$
$ f(x)$ $ 0.367879$ $ 0.135335$ $ 0.0497871$
Sada formulu (3.18) treba napisati u obliku

$\displaystyle S(a,b,c) = \sum_{k=1}^3 \left[f(x_k) -
c\,x^2 - b\,x_k - a\right]^2.$

Ova funkcija ovisi o tri varijable, pa je nužan uvjet za ekstrem
$\displaystyle \frac{\partial S(a,b,c)}{\partial a}$ $\displaystyle =$ $\displaystyle -2\,\sum_{k=1}^3 \left[f(x_k) -
c\,x^2 - b\,x_k - a\right] = 0$  
$\displaystyle \frac{\partial S(a,b,c)}{\partial b}$ $\displaystyle =$ $\displaystyle -2\,\sum_{k=1}^3 \left[f(x_k) -
c\,x^2 - b\,x_k - a\right]\,x_k = 0$  
$\displaystyle \frac{\partial S(a,b,c)}{\partial c}$ $\displaystyle =$ $\displaystyle -2\,\sum_{k=1}^3 \left[f(x_k) -
c\,x^2 - b\,x_k - a\right]\,x_k^2 = 0.$  

Kad uvrstimo poznate veličine i sredimo, dobivamo sustav jednadžbi
$\displaystyle 6\,a + 12\,b + 28\,c$ $\displaystyle =$ $\displaystyle 1.106$  
$\displaystyle 12\,a + 28\,b + 72\,c$ $\displaystyle =$ $\displaystyle 1.57582$  
$\displaystyle 28\,a + 72\,b + 196\,c$ $\displaystyle =$ $\displaystyle 2.71461$  

Rješenje je $ a=0.74742,b=-0.453038,c=0.073498,$ pa je traženi polinom

$\displaystyle p(x) = 0.74742 - 0.453038\,x + 0.073498\,{x^2},$

a tražena vrijednost

$\displaystyle f(2.5) = 0.0741875$


next up previous contents index
Next: Numerička integracija Up: Aproksimacija funkcije i numerička Previous: Ocjena greške   Sadržaj   Indeks
2001-10-26