Aproksymacja i nadok..

Transkrypt

Aproksymacja i nadok..
Numeryczne metody obliczeń technicznych
Wykład VI
Aproksymacja i nadokreślone układy równań
• Zadania dopasowania krzywej i przybliżenia przebiegu funkcji
• Aproksymacja średniokwadratowa i wielomiany ortogonalne
• Aproksymacja jednostajna (min-max) i wielomiany Czebyszewa
• Projektowanie filtrów cyfrowych metodami aproksymacji
• Aproksymacja Padégo funkcjami wymiernymi
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Zadanie dopasowania funkcji ciągłej do danych dyskretnych
Powszechne w badaniach eksperymentalnych. Najczęściej dane
y
wejściowe są znane dokładnie a dane wyjściowe są zaburzone z
powodu natury statystycznej (parametr próbki losowej) lub zakłócenia
pomiarowego (np. szumy cieplne wzmacniacza).
Celem jest określenie sparametryzowanej zależności między danymi
wejściowymi i wyjściowymi. Rozwiązanie polega na wyborze klasy
u
zależności (np. liniowa czy kwadratowa) i parametrów tej zależności
(np. współczynniki prostej).
Kryterium dopasowania ma wpływ na rozwiązanie (least-squares, least-moduli, minimax) i jego
wrażliwość na „odstające” dane (outliers).
Zadanie przybliżenia przebiegu funkcji
Sformułowanie bliskie interpolacji – funkcja aproksymująca równa aproksymowanej w zadanych
węzłach, poza węzłami aproksymacja ma być dobrym przybliżeniem wg wybranego kryterium.
Celem takiego postępowania jest zastąpienie czasochłonnej obliczeniowo funkcji jej dobrym i
szybko obliczanym przybliżeniem (np. wielomianem lub ilorazem wielomianów). Powszechna
praktyka w kalkulatorach (np. funkcja sin) i w bibliotekach i środowiskach numerycznych (np. erf
w Matlabie).
Pożądany jest równomiernie rozłożony błąd przybliżenia – stosowane kryterium min-max.
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Zastosowania aproksymacji
• Redukcja wymiarowości opisu danych, np. tabela wartości jest zastępowana kilkoma
współczynnikami aproksymacji.
• Odszumianie sygnałów – konieczne założenie o klasie sygnału, dopasowanie parametrów
(np. dopasowanie amplitudy, fazy i częstotliwości sygnału sinusoidalnego do spróbkowanego
napięcia sieciowego)
• Regresja liniowa i nieliniowa – wyznaczanie zależności wiążących dane (np. wejściowe i
wyjściowe). Przykładowo, określanie zależności między średnią temperaturą otoczenia a
średnim spalaniem silnika samochodu.
• Identyfikacja obiektów dynamicznych metodą dopasowania odpowiedzi czasowych lub
częstotliwościowych (nonlinear parameter estimation). Np. określanie parametrów
mechanicznych i elektrycznych silnika prądu stałego na podstawie zarejestrowanych
sygnałów napięcia, prądu i prędkości obrotowej podczas rozruchu.
• Szybkie obliczenia trudnych funkcji, np. całki nieanalityczne, funkcje trygonometryczne.
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Prosty przypadek na początek
Regresja liniowa – dopasowanie prostej do danych wg kryterium najmniejszej sumy kwadratów odchyłek.
Dla zadanych par wartości {ui , yi } , i = 1,…, N poszukujemy przybliżonej
zależności pomiędzy nimi w postaci yi = aui + b + ei , gdzie e jest odchyłką, a
i b parametrami modelu. Parametry mają minimalizować sumę kwadratów
ˆ i + bˆ , czyli
odchyłek pomiędzy zadanym yi i wyliczonym z modelu yˆ i = au
kryterium:
N
N
N
J1 = ∑ ei = ∑ ( yi − yˆi ) = ∑
2
i =1
2
i =1
i =1
(
ˆ i − bˆ
yi − au
)
2
y
{uN,yN}
{u1,y1}
( )
Minimum kryterium znajdziemy obliczając pochodne cząstkowe i przyrównując je do zera (
⎧⎪ y = au
ˆ + bˆ
⎨
ˆ + au
ˆ 2
⎪⎩uy = bu
1 N
u = ∑ ui ,
N i =1
u
= J1 aˆ , bˆ
∂J1
∂J
= 0, 1 = 0 ).
∂aˆ
∂bˆ
1 N
1 N
1 N 2
2
y = ∑ yi , uy = ∑ ui yi , u = ∑ ui
N i =1
N i =1
N i =1
Rozwiązując powyższy układ równań ze względu na poszukiwane (estymowane) parametry otrzymujemy:
ˆ
bˆ = y − au
aˆ =
uy − u y
u2 − u
2
Warunek na minimum (dodatnia określoność macierzy drugich pochodnych) jest spełniony (sprawdzić).
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Sformułowanie ogólniejsze – liniowa regresja wielowymiarowa
Poszukujemy zależności liniowej między wieloma zmiennymi wejściowymi i pojedynczą zmienną
wyjściową. Przyjmując oznaczenia macierzowe:
⎡1 u1(1) u1( 2) … u1( n ) ⎤
⎡ e1 ⎤
⎡ y1 ⎤
⎡ a0 ⎤
⎡ yˆ1 ⎤
⎢
⎥
⎢e ⎥
⎢y ⎥
⎢a ⎥
⎢ yˆ ⎥
(1)
( 2)
( n)
⎢1 u2 u2 … u2 ⎥
2
1
2
ˆ
ˆ = ⎢ ⎥,
⎢ 2⎥ =Y−Y
⎢ ⎥,
⎢ ⎥, Y
,
U=⎢
=
=
=
Y
θ
e
⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢
⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ˆ ⎥
y
a
y
⎢1 u N(1) u N( 2) … u N( n ) ⎥
⎣ N⎦
⎣ n⎦
⎣ N⎦
⎣ eN ⎦
⎣
⎦
zależność między danymi przybierze postać macierzowego układu równań: Y = Uθ + e
Nie można go rozwiązać w zwykłym sensie, ponieważ Y = Uθ to sprzeczny i nadokreślony układ
równań. Możemy podać rozwiązanie spełniające wszystkie równania z małym łącznym błędem.
Minimalizowana suma kwadratów odchyłek przyjmuje w zapisie macierzowym postać:
T
T
ˆ
J = e e = Y − Uθ Y − Uθˆ = YT Y − 2θˆ T UT Y + θˆ T UT Uθˆ = J θˆ
1
()
(
)(
)
1
()
Różniczkując J1 θˆ względem wektora θ̂ i przyrównując do zera:
∂J1
= −2UT Y + 2UT Uθˆ = 0 skąd
∂θˆ
−1
θˆ = ( UT U ) UT Y
otrzymujemy:
Katedra Metrologii AGH
UT Uθˆ = UT Y (równanie normalne)
- klasyczny wzór na estymator LS.
Kraków 2005
Numeryczne metody obliczeń technicznych
Od estymatora LS do aproksymacji średniokwadratowej
Katedra Metrologii AGH
...
...
Zastosowanie estymatora LS wykracza poza regresję liniową. Poszczególne „wejścia” w macierzy
U mogą być widziane jako składowe (elementy bazy), które skalowane poprzez współczynniki i
sumowane dają najlepsze przybliżenie (aproksymację) wielkości „wyjściowej” (wzorca) w sensie
sumy kwadratów odchyłek. Możemy to poglądowo przedstawić w postaci blokowej:
a0
c(0)
c(0),..., c(n) – elementy składowe bazy
(1)
c
a1
a0,..., an – “amplitudy” składowych
w
w – aproksymowany „wzorzec”
(n)
an
c
e – błąd aproksymacji
e
Dla przykładu zapiszmy problem aproksymacji wielomianem w postaci jednomianów do stopnia n
2
N
n
⎛
⎞
k
na zbiorze N danych {ui,yi}, tj. c ( ) = {uik } , w = { yi } , i = 1,…, N , J1 = ∑ ⎜ yi − ∑ ak uik ⎟
i =1 ⎝
k =0
⎠
⎡ an ⎤
% Przykład aproksymacji wielomianowej z bazą jednomianów
⎡ u1n
u12 u1 1⎤ ⎢ ⎥ ⎡ y1 ⎤ ⎡ e1 ⎤ % {x,y} – dane, N - ilość danych, n – stopień wielomianu
⎢ n
⎥ ⎢ ⎥ ⎢ y ⎥ ⎢ e ⎥ U=vander(x);
2
u
u
u
1
2
2
2
⎢
⎥ ⎢ a ⎥ = ⎢ 2 ⎥ + ⎢ 2 ⎥ U=U(:,N-n:N);
⎢
⎥ ⎢ 2 ⎥ ⎢ ⎥ ⎢ ⎥ a=inv(U’*U)*U’*y; % współczynniki od najwyższej potęgi
albo
a=polyfit(x,y,n);
⎢ n
⎥ ⎢ a1 ⎥ ⎢ ⎥ ⎢ ⎥ % Inaczej: a=U\y;
2
y
e
plot(y-U*a)
%
wyrysuj
wektor
odchyłek
u
u
u
1
N
N
⎣ N
⎦ ⎢a ⎥ ⎣ N ⎦ ⎣ N ⎦
polyval(a,1)
% wartość wielomianu w wybranym punkcie
⎣ 0⎦
U
Kraków 2005
Numeryczne metody obliczeń technicznych
Baza jednomianów jest niekorzystna z dwóch powodów:
• macierz układu nadokreślonego (o strukturze Vandermonde’a) jest źle uwarunkowana już dla
niskiego stopnia wielomianu aproksymacyjnego
• nakład obliczeniowy na wyznaczenie współczynników jest duży i powtarzalny przy
zwiększaniu stopnia wielomianu
Wybór bazy jest problemem doboru postaci składowych rozwinięcia dla osiągnięcia małego błędu
przy małym nakładzie obliczeniowym.
N
( k ) ( l ) ⎧1, k = l
Ten cel osiągniemy wtedy gdy składowe bazy będą ortonormalne, tj.:
c
∑
i ci = ⎨
i =1
⎩0, k ≠ l
Wtedy: UT U = I i parametry są obliczane prosto jako transformacja macierzowa :
θˆ = UT Y
N
lub w zapisie skalarnym:
ak = ∑ ci( ) yi , k = 0,…, n
k
i =1
Popularne bazy ortonormalne to (normalizowane):
• wielomiany trygonometryczne (baza Fouriera) – dobre przybliżenie dla funkcji okresowych
• wielomiany Czebyszewa – najmniejsze oscylacje w przedziale [-1,1]
• wielomiany Legendre’a (pojawiły się przy kwadraturach Gaussa)
Problem doboru bazy do aproksymowanego kształtu – szybkość zbieżności szeregu
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Przykład Aproksymacja średniokwadratowa wielomianem trygonometrycznym
Projektowanie okresowego sygnału pobudzającego do identyfikacji obiektu dynamicznego.
Wymagane pasmo sygnału ograniczone do n prążków i najwierniejsze oddanie zadanego kształtu
na N próbkach do zaprogramowania generatora ARB.
Spróbujmy przybliżyć sygnał piłokształtny szeregiem
sinusów, tzn. zminimalizować kryterium o postaci:
2
N
n
⎛
⎞
J1 = ∑ ⎜ yi − ∑ ak sin ( kti ) ⎟
i =1 ⎝
k =1
⎠
1.5
1
0.5
0
N=100;
% Ilość definiowanych punktów
n=5; % Ilość sinusoid składowych do aproks.
t=[0:2*pi/N:2*pi*(N-1)/N]';
y=sawtooth(t);% Zadany kształt piłokształtny
U=sin(t*[1:n])*sqrt(2/N);
a=U'*y;
plot(t,y,'r.',t,U*a)
-0.5
-1
-1.5
0
1
2
3
4
5
6
7
Próba powyższej aproksymacji dla przebiegu zadanego sawtooth(t-pi/4) zakończy się
niepowodzeniem, bo ten przebieg nie jest dobrze przybliżany bazą sinusów. Musimy użyć łączonej
bazy sinusów i kosinusów. W wersji zespolonej jest to baza DFT.
% Równoważne sposoby tworzenia pełnej rzeczywistej bazy trygonometrycznej
U1=[sin(t*[1:n]) cos(t*[1:n])] *sqrt(2/N);
U2=dftmtx(N)'*sqrt(2/N);
U2=[imag(U2(:,2:n+1)) real(U2(:,2:n+1))];
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Uwagi o aproksymacji zbioru danych funkcją nieliniową względem parametrów
Powszechnie występujące w naukach eksperymentalnych zadanie dopasowania krzywej do zbioru
danych pomiarowych (curve fitting) jest klasycznym zadaniem aproksymacji. Krzywa
dopasowywana stanowi zależność modelową wiążącą dane, która została opracowana na
podstawie analizy zjawiska generowania danych (np. zależność opisująca rozpad
promieniotwórczy pierwiastków) lub została wywnioskowana z przebiegu danych.
Klasyczne zastosowanie dopasowania krzywej znajdujemy w identyfikacji obiektów
dynamicznych metodą dopasowania modelowej odpowiedzi na znane pobudzenie do odpowiedzi
zmierzonej na obiekcie. Takie odpowiedzi dynamiczne są najczęściej nieliniowe ze względu na
parametry (np. odpowiedź impulsowa h ( t ) obiektu oscylacyjnego z parametrami K ,ξ , ω 0 ).
Minimalizowane kryterium sumy kwadratów nie ma wtedy postaci minimalizowanej analitycznie:
N
J 1 = ∑ ⎡⎣ y ( ti ) − yˆ ( ti )⎤⎦
2
i =1
gdzie:
y ( ti ) - zmierzona odpowiedź dynamiczna,
yˆ ( ti ) - modelowa odpowiedź dynamiczna.
Wyznaczenie rozwiązania wymaga zastosowania numerycznego algorytmu iteracyjnego
poszukiwania minimum kryterium (czym zajmiemy się w przyszłości).
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Aproksymacja wielomianami Czebyszewa w ujęciu interpolacyjnym
Na wykładzie dotyczącym interpolacji obserwowaliśmy niepożądane zachowanie wielomianu
interpolującego wysokiego rzędu w postaci silnych oscylacji na końcach przedziału. Pozornie jest
to sprzeczność z twierdzeniem Weierstrassa o istnieniu dla dowolnej funkcji pewnego wielomianu
przybliżającego ją z dowolnie małym błędem, jednak to twierdzenie mówi o pewnym wielomianie,
a nie wielomianie na węzłach równoodległych.
Dla wielomianu interpolacyjnego pN ( x ) na węzłach { xi , f ( xi )} , i = 0,…, N błąd między funkcją i
jej przybliżeniem wielomianowym wynosi (czego nie wyprowadzamy, zob. np. Buchanan):
N +1
N +1
f ( ) (ξ )
f ( ) (ξ )
RN ( x ) = f ( x ) − pN ( x ) = ( x − x0 ) ( x − x1 )…( x − xN )
= LN ( x )
( N + 1)!
( N + 1)!
Pewne wybory węzłów (np. równoodległe) mogą powodować duże wartości czynnika LN ( x ) .
Przez odpowiedni dobór położenia węzłów możemy zminimalizować jego maksymalną wartość.
Optymalne położenia węzłów na przedziale [-1, 1] to zera wielomianu Czebyszewa stopnia N+1
równe (Mathews, str. 237):
⎛ 2i + 1
⎞
xi = cos ⎜
π , i = 0,1,…, N
⎜ 2 ( N + 1) ⎟⎟
⎝
⎠
Wielomiany Czebyszewa kolejnych stopni można zdefiniować rekurencyjnie:
C0 ( x ) = 1
C1 ( x ) = x
Cn +1 ( x ) = 2 xCn ( x ) − Cn −1 ( x )
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Przykład Trudna funkcja (1 + x 2 ) raz jeszcze
−1
Porównajmy jakość aproksymacji funkcji, która sprawiała problemy przy węzłach równoodległych
(a która była bardzo dobrze przybliżana funkcją sklejaną za cenę mniej zwartego opisu).
% 11 węzłów Czebyszewa w przedziale [-5:5]
N=10;
xk=5*cos((2*[0:N]+1)/(2*(N+1))*pi)'
4.9491
4.5482
3.7787
2.7032
1.4087
0.0000
-1.4087
-2.7032
-3.7787
-4.5482
-4.9491
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
-5
0
5
0
5
1
0.8
0.6
Podstawiając węzły Czebyszewa do postaci Newtona
uzyskujemy wynik znacznie lepszy niż przy węzłach
równoodległych (spójrz na rysunki obok).
Katedra Metrologii AGH
0.4
0.2
0
-0.2
-5
Kraków 2005
Numeryczne metody obliczeń technicznych
Projektowanie cyfrowych filtrów FIR metodami aproksymacji
Alternatywą do projektowania filtrów FIR metodą okien są metody aproksymacji wg wybranej
normy. Ogólnie, wielkością minimalizowaną jest:
(
)
p
J = ∫ ⎡W (ω ) H (ω ) − D (ω ) ⎤ dω
⎣
⎦
ω
gdzie:
H (ω ) - transmitancja projektowanego filtra,
D (ω ) - wzorzec charakterystyki amplitudowej (faza jest z założenia liniowa),
W (ω ) - funkcja wagowa.
Dla p=2 jest to aproksymacja średniokwadratowa (least squares), dla p=∞ aproksymacja minimax
(equiripple design).
Funkcje Matlaba projektujące FIR na zasadzie aproksymacji:
• remez - algorytm Remeza aproksymacji minimax, implementacja Parks-McClellan (exchange
algorithm, zob. Buchanan, str. 273 albo Evans, str. 168)
• firls - algorytm weighted LS
• firlpnorm – definiowany stopień normy (domyślnie p=128), algorytm quasi-Newton search
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Aproksymacja Padégo funkcjami wymiernymi
Dotychczas przy okazji interpolacji i aproksymacji cały czas operowaliśmy węzłami (lepiej lub
gorzej rozłożonymi), które były podstawą do opisu pełniejszego (interpolacja pomiędzy węzłami)
lub przybliżonego ale bardziej zwartego (aproksymacja). Aproksymacja Padego funkcjami
wymiernymi (ilorazem wielomianów) postaci:
A ( x ) a0 + a1 x + … + a N x N
RN , M ( x ) =
=
B ( x ) 1 + b1 x + … + bM x M
przyjmuje inną filozofię przybliżenia funkcji. Spełnia ona warunek równości jej wartości i
kolejnych pochodnych z wartościami funkcji i jej kolejnych pochodnych w punkcie zerowym (lub
dowolnym innym po podstawieniu zmiennych).
Rozwijając funkcję aproksymowaną w szereg MacLaurina wokół punktu 0:
∞
1 k
f ( x ) = ∑ f ( ) (0) xk
k =0 k !
dk
dk
= k f
, k = 1,2,…, N + M
RN , M
stawiamy warunki: RN ,M ( 0 ) = f ( 0 ) i
dx k
dx
x =0
x =0
co jest tożsame z porównywaniem współczynników przy kolejnych potęgach w wyrażeniu:
A( x ) = f ( x ) B ( x )
Uzyskujemy układ N+M+1 równań i wyznaczamy współczynniki wielomianów licznika i
mianownika wymiernej funkcji aproksymującej (zob. np. Numerical Recipes albo Mathews).
Katedra Metrologii AGH
Kraków 2005
Numeryczne metody obliczeń technicznych
Przykład Transformacja biliniowa pomiędzy dziedziną operatorów s i z
j 2π
f
f pr
Zależność pomiędzy dziedziną operatora z = e
i operatora s = j 2π f powszechnie używaną w
cyfrowym przetwarzaniu sygnałów (np. do transformacji filtra analogowego do postaci cyfrowej)
nazywa się transformacją biliniową z powodu jej wymiernej dwuliniowej postaci:
1 + 2 1f pr s
1
z −1
sT p
,
z=
przybliżającej
zależność
dokładną:
z
=
f
s
=
e
T
=
=
s
2
f
(
)
p
pr
f pr
1 − 2 1f pr s
z +1
Jest to zależność przybliżona i można ją uzyskać na zasadzie aproksymacji Padégo.
f ( s ) s = 0 = 1,
f ′ ( s ) s =0 = T p ,
f ′′ ( s ) s =0 = Tp 2
a0 + a1s = (1 + b1s ) (1 + Tp s + 12 Tp 2 s 2 ) ,
a0 = 1, a1 =
1
2 f pr
, b1 = − 2 1f pr
(c.b.d.p.)
Przykład Przybliżenie funkcji Matlaba erf().
Przykład Trudna funkcja (1 + x 2 ) po raz ostatni
−1
Czy jest sens stosować w tym przypadku aproksymację Padégo ?
Aproksymacja Padé daje z reguły dużo lepsze efekty niż rozwinięcie wielomianowe MacLaurina.
Jednak nie opracowano dotąd metody analizy błędu tego przybliżenia (zob. Numerical Recipes) i
jej używanie ma w sobie coś z magii.
Katedra Metrologii AGH
Kraków 2005