DOPASOWYWANIE KRZYWYCH Maciej Patan Uniwersytet Zielonogórski
Motywacje Przykład 1. Dane o przyroście światowej populacji są aktualizowane co każde 10 lat, celem szacowania średniego przyrostu rocznego. Oficjalne dane zebrano w tabeli: Lata Populacja [mln] 1950 2 555 1960 2 989 1970 3 558 1980 4 327 1990 5 134 2000 6 180 Problem: Jaki był stan populacji w 1982 roku? Jaki będzie w 2020? Uniwersytet Zielonogórski 1
Ogólne spostrzeżenia dane pomiarowe są często dostępne tylko w dyskretnych punktach pewnego kontinuum (np. dane statystyczne, sygnały cyfrowe, etc.), jawna postać zależności jest najczęściej nieznana, potrzebujemy oszacowań nieznanej zależności pomiędzy danymi dyskretnymi wartościami, zależność czasami może być znana, ale nie posiada analitycznej postaci lub też formuła może być bardzo złożona (np. w przypadku procesów stochastycznych), możemy potrzebować uproszczonej wersji takiej skomplikowanej funkcji Uniwersytet Zielonogórski 2
Strategie dopasowania najlepszej krzywej 6.5 6 Population (10 9 ) 5.5 5 4.5 4 3.5 interpolacja krzywoliniowa linia ciągła regresja liniowa linia przerywana 3 2.5 2 1950 1960 1970 1980 1990 2000 Years 1.Interpolacja bardzo precyzyjne dane, krzywa przechodzi dokładnie przez punkty 2.Aproksymacja zaszumione dane, krzywa reprezentuje ogólny trend Uniwersytet Zielonogórski 3
INTERPOLACJA Sformułowanie matematyczne Niech S = {(x i, f(x i ))} n i=0 będzie zbiorem n+1 różnych węzłów, a G jest daną klasą funkcji. Poszukujemy elementu (funkcji) g(x; θ) G takiego, że: g(x i ; θ) = f(x i ), i = 0,..., n f( xn-1) f( x n ) f( x ) 1 g( x; ) x 0 x 1 x n- 1 x n f( x 0 ) nodes Uniwersytet Zielonogórski 4
Rodzaje interpolacji liniowa g(x; θ) = θ 0 + θ 1 g 1 (x) + θ 2 g 2 (x) +... + θ n g n (x) = Przykłady: wielomianowa g i (x) = x i trygonometryczna g i (x) = e ijx, nieliniowa Przykłady: j = 1 n θ i g i (x) i=0 wymierna g(x; α, β) = α 0 + α 1 x +... + α n x n β 0 + β 1 x +... + β m x m sklejana węzły dzielą obszar interpolacji na podprzedziały; w każdym podprzedziale jest formułowane osobne zadanie interpolacji. Uniwersytet Zielonogórski 5
Interpolacja wielomianowa Twierdzenie Niech Π n będzie klasą wielomianów stopnia nie większego od n. Dla n + 1 różnych punktów, istnieje jeden i tylko jeden wielomian z klasy Π n. Wniosek. Interpolacja wielomianowa wyznaczenie unikalnego wielomianu n-tego stopnia który przejdzie przez n + 1 punktów danych. Wielomiany interpolujące dowolnego stopnia baza jednomianowa baza Lagrange a baza Newtona Uniwersytet Zielonogórski 6
Baza jednomianowa Rozwiązać układ równań liniowych: g(x i ; θ) = f(x i ), względem parametrów θ, gdzie: i = 0,..., n g(x, θ) = θ 0 + θ 1 x + θ 2 x 2 +... + θ n x n. Przykład 2. Dla danych punktów P 1 = (0, 1), P 2 = (1, 2) oraz P 3 = (3, 1) wyznaczyć parabolę interpolującą. Rozwiązanie. Przyjmijmy, że g(x; θ) = θ 0 + θ 1 x + θ 2 x 2. Zatem, musimy rozwiązać następujący układ: θ 0 + θ 1 0 + θ 2 0 2 = 1 θ 0 + θ 1 1 + θ 2 1 2 = 2 θ 0 + θ 1 3 + θ 2 3 2 = 1 θ 0 = 1 θ 0 + θ 1 + θ 2 = 2 θ 0 + 3θ 1 + 9θ 2 = 1 θ 0 = 1 θ 1 = 3 2 θ 2 = 1 2 Uniwersytet Zielonogórski 7
Wynik: g(x, θ) = 1 + 3 2 x 1 2 x2 2.5 2 1.5 1 0.5 0 1 0 1 2 3 4 przejrzysta metoda, Zalety i wady nieefektywne obliczenia dla dużej liczby parametrów, Uniwersytet Zielonogórski 8
Baza Lagrange a Wielomian interpolacyjny Lagrange a n L n (x) = l i (x)f(x i ) gdzie l i (x) = i=0 n j=0;j i są nazywane wielomianami węzłowymi. x x j x i x j Przykład 3. Dla danych z Przykładu 2 wyznaczyć wielomian interpolacyjny z reguły Lagrange a. Uniwersytet Zielonogórski 9
Rozwiązanie. Najpierw obliczamy wielomiany węzłowe: 3 2 1 0 1 2l (x) 1 l 2 (x) l (x) 0 2 1 0 1 2 3 4 l 0 (x) = x 1 0 1 x 3 0 3 = 1 4 3 x + 1 3 x2 l 1 (x) = x 0 1 0 x 3 1 3 = 3 2 x 1 2 x2 l 2 (x) = x 0 3 0 x 1 3 1 = 1 6 x + 1 6 x2 Potem sumujemy 3 składniki: L 2 (x) = 1 l 0 (x) + 2 l 1 (x) + 1 l 2 (x) = Zalety i wady = 1 + 3 2 x 1 2 x2 bardzo prosta w implementacji, niewielka złożoność pamięciowa, dodawanie nowych punktów pomiarowych prowadzi do powtarzania całego procesu obliczeniowego, Uniwersytet Zielonogórski 10
Baza Newtona Ilorazy różnicowe I rzędu: II rzędu: n-tego rzędu: f[x i+1, x i ] = f(xi+1) f(xi) x i+1 x i f[x i+2, x i+1, x i ] = f[xi+2,xi+1] f[xi+1,xi] x i+2 x i f[x i+n,..., x i+1, x i ] = f[xi+n,...,xi+1] f[xi+n 1,...,xi] x i+n x i Wielomian interpolacyjny Newtona N n (x) =f(x 0 ) + (x x 0 )f[x 1, x 0 ] + (x x 0 )(x x 1 )f[x 2, x 1, x 0 ] +... +(x x 0 )(x x 1 )... (x x n 1 )f[x n, x n 1,..., x 0 ] Wniosek: N n (x) = N n 1 (x) + (x x 0 )(x x 1 )... (x x n 1 )f[x n, x n 1,..., x 0 ] Uniwersytet Zielonogórski 11
Przykład 4. Dla danych z Przykładu 2 wyznaczyć wielomian interpolacyjny według formuły Newtona. Potem dodać punkt P 3 = (4, 5) do danych i przeliczyć rozwiązanie. Rozwiązanie. Obliczamy ilorazy różnicowe: x i 0 1 3 f(x i ) 1 2 1 2 1-st 1 1 2 1 0 = 1 3 1 = 1 2 1 2 2-nd 1 3 0 = 1 2 3-rd N 2 (x) = 1 + 1 (x 0) 1 2 (x 0)(x 1) = 1 + 3 2 x 1 2 x2 4 5 5 1 4 3 = 4 4 + 1 2 4 1 = 3 2 3 2 + 1 2 4 0 = 1 2 Uniwersytet Zielonogórski 12
Po dodaniu punktu P = (4, 5) mamy: N 3 (x) = N 2 (x) + 1 2 (x 0)(x 1)(x 3) = 1 + 3x 5 2 x2 + 1 2 x3 8 6 4 2 0 N 3 (x) update N 2 (x) 2 1 0 1 2 3 4 Uniwersytet Zielonogórski 13
Zalety i wady stosunkowo łatwa w implementacji, dodawanie nowych danych nie wymaga powtórzenia wszystkich obliczeń, duża złożoność pamięciowa. Problemy dodatkowe Ekstrapolacja proces szacowania wartości funkcji f(x) w punktach, które leżą poza zakresem znanych punktów bazowych [x 0,..., x n ]. Najlepszą dokładność zazwyczaj osiąga się, w obszarze blisko centrum punktów bazowych pokazane metody często prowadzą do znacznych błędów ekstrapolacji. Interpolacja funkcji nieciągłych badana zależność podlega gwałtownym zmianom, które prowadzą do oscylacji wielomianów interpolacyjnych. Uniwersytet Zielonogórski 14
Interpolacja sklejana (ang. spline interpolation) f( xn-1) f( x 1 ) in each subinterval interpolation with polynomial of max. 3-rd order x 0 x n-1 x 1 x n f( x 0 ) continuity of splines including their derivatives of 1-st and 2-nd order Uniwersytet Zielonogórski 15
Warunki gładkiej interpolacji sklejanej wartości splajnów są takie same dla węzłów wewnętrznych: s i (x i ) = s i 1 (x i ) = f(x i ), i = 1,..., n 1 (2n 2 równań), wartości pierwszych pochodnych są równe dla węzłów wewnętrznych (ciągłość): s i (x i) = s i 1 (x i), i = 1,..., n 1 (n 1 równań), wartości drugich pochodnych są równe dla węzłów wewnętrznych (gładkość): s i (x i) = s i 1 (x i), i = 1,..., n 1 (n 1 równań), dla zewnętrznych węzłów mamy: s 0 (x 0 ) = f(x 0 ), s n (x n ) = f(x n ) (2 równania), drugie pochodne dla węzłów zewnętrznych zazwyczaj są przyjmowane tak, aby spełniały warunki naturalności : s 0(x 0 ) = 0, s n(x n ) = 0 (2 równania), Wniosek: Interpolacja sklejana rozwiązanie ukłądu 4n równań. Uniwersytet Zielonogórski 16
Przykład 5. Interpolacja skoku jednostkowego. Gwałtowna zmiana sygnału. 4 interpolacja wysokiego stopnia 2 interpolacja splajnami kubicznymi liniowymi 3 1.5 2 1 1 0.5 0 0 1 0.5 2 1 3 1.5 4 3 2 1 0 1 2 3 2 3 2 1 0 1 2 3 Uniwersytet Zielonogórski 17
Przykład 1. (cd.) Splajny vs interpolacja wielomianowa wysokiego stopnia w ekstrapolacji. Population (10 9 ) 20 15 10 5 Year 2004 2020 WHO 6.373 7.542 Newton 6.878 15.147 Błąd 7.93% 100.8% Splajny 6.585 10.240 Błąd 3.33% 35.78% 0 5 1940 1960 1980 2000 2020 Years Uniwersytet Zielonogórski 18
6 5 APROKSYMACJA fitted model 4 3 2 1 0 'noisy' data Pytania: 0 0.5 1 1.5 2 Jak zdefiniować dobre dopasowanie? Jak dobrać adekwatny model? Uniwersytet Zielonogórski 19
Odchyłki pomiarowe Różnica pomiędzy zmierzoną wartością f(x) i dopasowywaną funkcją g(x) e i = f(x i ) g(x i ; θ) jest nazywana residuum dla pary punktów (x i, f(x i )). e i jest odległością pomiędzy znanymi obserwacjami i funkcją aproksymującą. f( x 3 ) e 2 e 3 e 1 f( x 1 ) x 0 x 2 f( x ) x 1 0 minimization of the e 0 x 3 performance index operating on these distances Uniwersytet Zielonogórski 20
Najbardziej popularne kryteria wyboru najlepszego dopasowania: suma wartości bezwzględnych J(θ) = n e i i=0 suma kwadratów wartości residuów (NK) n J(θ) = Sformułowanie matematyczne zadania aproksymacji NK w przypadku dyskretnym Niech S = {(x i, f(x i ))} n i=0 będzie zbiorem n+1 różnych punktów danych, a G jest daną klasą funkcji. Znaleźć element g(x; θ) G taki, że: n J(θ) = (f(x i ) g(x i ; θ)) 2 min i=0 Wniosek Jeżeli J(θ ) = 0 wtedy aproksymacja jest równoznaczna z interpolacją. Uniwersytet Zielonogórski 21 i=0 e 2 i
Przykład 6. Dla danych z Przykładu 2, tj: x i 0 1 3 f(x i ) 1 2 1 a) dopasować model liniowy g(x; θ) = θ 0 + θ 1 x (regresja liniowa MNK), b) znaleźć najlepiej dopasowany (w sensie NK) model w klasie funkcji G = {g : g(x; θ) = θ 0 e x + θ 1 e x } Rozwiązanie: a) obliczamy residua: e 0 = f(x 0 ) g(x 0 ) = 1 (θ 0 + θ 1 0) = 1 θ 0 e 1 = f(x 1 ) g(x 1 ) = 2 (θ 0 + θ 1 1) = 2 θ 0 θ 1 e 2 = f(x 2 ) g(x 2 ) = 1 (θ 0 + θ 1 3) = 1 θ 0 3θ 1 Kryterium NK: J(θ) = e 2 0 + e 2 1 + e 2 2 = (1 θ 0 ) 2 + (2 θ 0 θ 1 ) 2 + (1 θ 0 3θ 1 ) 2 Uniwersytet Zielonogórski 22
Warunki konieczne istnienia ekstremum: J J(θ) = θ 0 J θ 1 = 0 Pochodne cząstkowe: J/ θ 0 = 2(1 θ 0 ) 2(2 θ 0 θ 1 ) 2(1 θ 0 3θ 1 ) = 8 + 6θ 0 + 8θ 1 J θ 1 = 2(2 θ 0 θ 1 ) 6(1 θ 0 3θ 1 ) = 10 + 8θ 0 + 20θ 1 Rozwiązując układ równań: { { 8 + 6θ0 + 8θ 1 = 0 10 + 8θ 0 + 20θ 1 = 0 = θ1 + 3 4 θ 0 = 1 θ 1 + 4 10 θ 0 = 1 2 = { θ0 = 10 7 θ 1 = 1 14 otrzymujemy najlepiej dopasowany model liniowy: g(x) = 1 14 x + 10 7 Uniwersytet Zielonogórski 23
b) obliczamy residua: e 0 = 1 (e 0 θ 0 + e 0 θ 1 ) = 1 θ 0 θ 1 e 1 = 2 (e 1 θ 0 + e 1 θ 1 ) = 2 θ 0 e θ 1 e 1 e 2 = 1 (e 3 θ 0 + e 3 θ 1 ) kryterium NK: J(θ) = (1 θ 0 θ 1 ) 2 + (2 θ 0 e θ 1 e 1 ) 2 + (θ 0 e 3 + θ 1 e 3 ) 2 Pochodne cząstkowe: J/ θ 0 = 823.6356990θ 0 + 6θ 1 53.04420115 J θ 1 = 6θ 0 + 2.275628071θ 1 3.571091902 Rozwiązując układ równań: { { 823.6356990θ0 + 6θ 1 = 53.04420115 6θ 0 + 2.275628071θ 1 = 3.571091902 = θ0 0.054008019 θ 1 1.426878067 otrzymujemy model dopasowania: g(x) = 0.054008019 exp(x) + 1.426878067 exp( x) Uniwersytet Zielonogórski 24
Wyniki 4 3.5 3 2.5 2 1.5 1 0.5 0 1 0 1 2 3 4 a) J(θ ) = 0.6428571428571428 > 0, b) J(θ ) = 0.6514857762810944 > 0. Uniwersytet Zielonogórski 25