Dopasowanie dowolnej funkcji do danych pomiarowych. Część 2.
Metoda mieszana Levenberga-Marquardta
Levenberg zaproponował, żeby skuteczny algorytm znajdowania minimum
χ
2stosował metodę gradientu z dala od minimum i metodę rozwinięcia w jego pobliżu.
Rozwinięcie funkcji
χ
2w szereg potęgowy prowadziło do równania macierzowego:
α
δa
β
=
,
=
∑
j j ij iα
δ
a
β
którego rozwiązanie możemy zapisać jako: 1
−
=
β
α
δa
.Biorąc pod uwagę definicje wektorów
δa
iβ
k k
a
a
δa
=
+1−
i ia
∂
∂
−
=
022
1
χ
β
możemy zapisać 1 -2 1(
)
2
1
α
a
a
a
∇
−
=
+ k k kχ
!
Ten związek podaje wartość wektora parametrów
a
k+1 w następnym (k+1) kroku.Metoda największego spadku (gradientu) prowadziła natomiast do następującej wartości
a
k+1:)
(
2 1 k k ka
const
a
a
+=
−
⋅
∇
!
χ
Jednym z problemów przy stosowaniu tej metody jest odpowiedni dobór stałej, tzn. jak duży powinien być krok w kierunku największego spadku. Marquardt zauważył po pierwsze, że macierz krzywizny powinna
zawierać w sobie tę informacje w jakiejś postaci. Wymiary
poszczególnych elementów wektora gradientu (albo
β
) są takie jak wymiary odwrotności odpowiednich parametrów1
a
i . W przypadku jednowymiarowym, stała powinna mieć zatem wymiar taki jak 2i
a
. W macierzyα
nadającym się kandydatem jest odwrotność elementu diagonalnego −1ii
spełniać rolę czynnika skalującego wielkość kroku. Jednak sam czynnik skalujący może mieć wartość za dużą, więc podzielmy go przez
bezwymiarowy czynnik
λ
, któremu w razie potrzeby można nadać dużą wartośćλ
>>
1
, żeby skrócić kolejny krok. W tej sytuacji związek między wielkością kroku w kierunkua
i a składową wektoraβ
( 22
1
∇
χ
−
=
!
β
) można zapisać: i ii ia
β
λα
δ
=
1
alboβ
i=
λα
iiδ
a
iKolejną rzeczą zauważoną przez Marquardta było, że oba podejścia da się praktycznie połączyć zmieniając definicję elementów diagonalnych macierzy
α
:)
(
'
)
1
(
'
j
i
ij ij ii ii≠
≡
+
≡
α
α
λ
α
α
i zapisując odpowiednie równanie w postaci'
α
δa
β
=
,
=
∑
j j ij iα
δ
a
β
'
Zmieniając wartość czynnika
λ
od wartości bardzo dużych do zera przechodzimy w sposób ciągły od metody największego spadku (gradientu) do metody rozwinięcia funkcjiχ
2.Algorytm Marquardta przedstawia się następująco:
!"Wybierz początkowe wartości parametrów
a
i oblicz wartośćχ
2(
a
)
!"Wybierz jakąś rozsądną wartośćλ
, np.λ
=
0
,
001
!"(*) Rozwiąż odpowiednie równanie macierzowe (układ równań liniowych) znajdując 1
'
−=
β
α
δa
i obliczχ
2(
a
+
δa
)
!"Jeżeli
χ
2(
a
+
δa
)
≥
χ
2(
a
)
, to zwiększλ
o czynnik 10 i wróć do (*) !"Jeżeliχ
2(
a
+
δa
)
<
χ
2(
a
)
, to zmniejszλ
o czynnik 10, uaktualnijwartości parametrów
a
←
a
+
δa
i wróć do (*) !"Jeżeli w kolejnych krokach wartośćχ
2zmniejsza się w sposób mało znaczący (np.
∆χ
2<
0
,
1
), to kończymy proces iteracji, ustalamy0
=
λ
i obliczamy macierz kowariancji 1'
−=
α
ε
znalezionych parametrówa
.Praktyczna uwaga dotycząca obliczania wartości elementów macierzy krzywizny
α
. l k kla
a
∂
∂
∂
≡
2 22
1
χ
α
Z uwagi na definicję funkcji
χ
2[
]
∑
=
∂
∂
∂
−
−
∂
∂
∂
∂
=
∂
∂
∂
n i k l i i i l i k i i l ka
a
x
y
x
y
y
a
x
y
a
x
y
a
a
1 2 2 2 2)
;
(
)
;
(
)
;
(
)
;
(
1
2
a
a
a
a
σ
χ
elementy macierzy
α
powinny być równe:[
]
∑
=
∂
∂
∂
−
−
∂
∂
∂
∂
=
n i k l i i i l i k i i kla
a
x
y
x
y
y
a
x
y
a
x
y
1 2 2)
;
(
)
;
(
)
;
(
)
;
(
1
a
a
a
a
σ
α
.W dużej liczbie zastosowań praktycznych wartości te oblicza się z pominięciem drugich pochodnych:
∑
=
∂
∂
∂
∂
=
n i l i k i i kla
x
y
a
x
y
1 2)
;
(
)
;
(
1
a
a
σ
α
Za takim rozwiązaniem przemawia kilka względów. Pominięcie drugich pochodnych w definicji upraszcza obliczenia i skraca czas realizacji algorytmu. Zwykle krzywizna funkcji zmienia się wolniej niż sama funkcja, co oznacza, że wartości drugich pochodnych są mniejsze od wartości pierwszych pochodnych. Można się spodziewać, że (dla dobrych
a
) wartości
−
2)
;
(
i i iy
x
y
σ
a
mają rozkład normalny
N
(
0
,
1
)
, co oznacza, że spodziewana wartość sumy[
]
∑
=
∂
∂
∂
−
n i k l i i i ia
a
x
y
x
y
y
1 2 2)
;
(
)
;
(
1
a
a
σ
powinna być bliska zeru, a w każdymrazie mała w porównaniu z pierwszym składnikiem
∑
=
∂
∂
∂
∂
n i l i k i ia
x
y
a
x
y
1 2)
;
(
)
;
(
1
a
a
σ
.Okazuje się dodatkowo, że jeśli model (wartości
a
) jest źle dobrany albo dane zawierają wartości odstające, to uwzględnienie drugichpochodnych może prowadzić do destabilizacji procesu iteracji (braku zbieżności).
Metody estymacji parametrów odporne na odstępstwa od rozkładu normalnego.
Załóżmy, że błędy pomiarowe podlegają pewnemu rozkładowi, który nie jest normalny. 0,00 0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0 5 10 15 20
Niech
(
y
i,
y
(
x
i;
a
)
)
p
jest rozkładem gęstości prawdopodobieństwa mierzonej wartości
y
i. Dobierzmy dodatkowo pewną funkcjęρ
(
y
i,
y
(
x
i;
a
)
)
taką, że(
y
i,
y
(
x
i;
a
)
)
exp
[
(
y
i,
y
(
x
i;
a
)
)
]
p
=
−
ρ
Na przykład, dla rozkładu normalnego byłaby to funkcja
(
)
(
σ
π
)
σ
ρ
(
;
)
ln
2
2
1
)
;
(
,
2 i i i i i ix
y
y
x
y
y
+
−
=
a
a
.W takim przypadku, stosując metodę największej wiarygodności, funkcję wiarygodności moglibyśmy zapisać w następującej postaci:
(
)
[
]
{
}
∏
=−
=
n i i iy
x
y
y
P
1)
;
(
,
exp
ρ
a
δ
.Postępując dalej tak jak przy wprowadzaniu MNK zauważamy, że
maksymalizacji funkcji wiarygodności odpowiada minimalizacja wartości następującej sumy:
(
)
∑
= n i i iy
x
y
1)
;
(
,
a
ρ
.Często jest tak, że wartość funkcji
ρ
nie zależy niezależnie od obu swoich argumentów – wartości zmierzonejy
i i oczekiwanejy
(
x
i)
– ale raczej od ich różnicy (przynajmniej po przeskalowaniu pewnymczynnikiem wagowym
σ
i przypisanym każdemu punktowi). W takim przypadku o wyznaczanych estymatorach mówimy, że są lokalne, a problem sprowadza się do minimalizacji sumy:∑
=
−
n i i i iy
x
y
1)
;
(
σ
ρ
a
,gdzie
ρ
(z
)
jest funkcją tylko jednej zmiennejz
≡
[
y
i−
y
(
x
i)
]
σ
i . Wprowadźmy jeszcze oznaczeniedz
z
d
z
)
(
)
(
ρ
ψ
≡
.Wtedy odpowiednikiem układu m równań dla wyznaczenia parametrów
{ }
a
k staje się:∑
=
∂
∂
−
=
n i k i i i i ia
x
y
x
y
y
1)
;
(
)
(
1
0
a
σ
ψ
σ
k
=
1
,...,
m
.Dla specjalnego przypadku rozkładu normalnego
ψ
(
z
)
=
z
i układ równań jest taki sam jak dla MNK.Jeżeli błędy mają np., rozkład podwójny wykładniczy
(
−
)
∝
−
−
i i i i ix
y
y
x
y
y
P
σ
)
(
exp
)
(
, wtedyz
z
)
=
(
ρ
ψ
(
z
)
=
sgn(
z
)
Dla rozkładu podwójnego wykładniczego estymator największej wiarygodności jest otrzymywany przez minimalizację sumy
bezwzględnych odchyleń (ważonych). Ogony rozkładu, chociaż maleją
wykładniczo, to jednak dla każdej wartości odchylenia dają wartość większą niż funkcja rozkładu normalnego.
0,00 0,02 0,04 0,06 0,08 0,10 0,12 0,14 -15 -10 -5 0 5 10 15
Jeszcze bardziej rozległym rozkładem, który w niektórych przypadkach może być bardziej realistyczny, jest rozkład Lorentza (Cauchy’ego):
(
)
(
( ))
2 2 11
1
)
(
i i i y x y i iy
x
y
P
σ −+
∝
−
Dla rozkładu Lorentza
(
2)
2 11
ln
)
(
z
=
+
z
ρ
2 2 11
)
(
z
z
z
+
=
ψ
W równaniu∑
=
∂
∂
−
=
n i k i i i i ia
x
y
x
y
y
1)
;
(
)
(
1
0
a
σ
ψ
σ
wartość funkcji
ψ
pełni rolę swego rodzaju czynnika wagowego, którego wartość zależy od odchyłki
−
i i iy
x
y
σ
)
;
(
a
. Dla błędów o rozkładzie normalnym ta waga jest tym większa im większa odchyłka. Dla rozkładu podwójnego wykładniczego wagi są względnie jednakowe i pod uwagę brany jest tylko znak odchyłki. Wreszcie dla rozkładu Lorentza, znajbardziej wyrazistymi ogonami, waga najpierw rośnie, a następnie maleje ze wzrostem odchyłki tak, że punkty bardzo odchylone (wyniki naprawdę odstające) praktycznie nie są brane pod uwagę.
Dopasowanie linii prostej przez minimalizację bezwzględnych odchyłek
Przyjmujemy model w postaci:
b
ax
b
a
x
y
(
;
,
)
=
+
i zakładamy dalej, że niepewności wszystkich pomiarów są jednakowe, to znaczy wszystkie
σ
i=
σ
.Parametry
a
ib
wyznaczamy minimalizując sumę odchyłek bezwzględnych:∑
=−
−
n i i iax
b
y
1 .Wykorzystamy fakt, że dla zbioru punktów
c
i ich medianac
M jest wielkością minimalizującą sumę odchyleń bezwzględnych:∑
=−
n i M ic
c
1 .Dowód dla mediany:
(
)
∑
∑
∑
= = =−
−
=
−
=
−
n i M i n i M M i n i M i Mc
c
dc
c
c
d
c
c
dc
d
1 1 1)
sgn(
0
)
sgn(
1=
−
∑
= n i M ic
c
Wynika stąd, że dla ustalonego
a
wartościąb
, która minimalizuję sumę bezwzględnych odchyłek jest{
y
iax
i}
mediana
b
=
−
Różniczkując sumę ze względu na parametr
a
otrzymujemy warunek(
sgn(
)
)
0
1 1=
−
−
−
=
−
−
∂
∂
∑
∑
= = n i i i i n i i iax
b
x
y
ax
b
y
a
Podstawiając wynik otrzymany dla parametru
b
otrzymujemy równanie z jedną niewiadomąa
:{
}
(
)
0
sgn
1=
−
−
−
∑
= n i i i i i iy
ax
mediana
y
ax
x
,Przykład Model
x
y
=
10
+
2
,
5
normalny N(0;1) 90% ×2 równomierny PR(0,1) 10% ×20 i N(0,1) PR(0,1) εi Xi Yi 1 0,1000 0,5519 0,200 1 12,700 2 -0,1010 0,3616 -0,202 2 14,798 3 -1,3275 0,9921 -26,551 3 -9,051 4 -0,0445 0,2084 -0,089 4 19,911 5 0,1433 0,8761 0,287 5 22,787 6 0,7632 0,5023 1,526 6 26,526 7 0,6594 0,4973 1,319 7 28,819 8 0,1705 0,1077 0,341 8 30,341 9 0,2115 0,3413 0,423 9 32,923 10 0,2529 0,3927 0,506 10 35,506 -20 -10 0 10 20 30 40 0 2 4 6 8 10 12 MNK3912
,
3
=
a
b
=
2
,
8743
Minimalizacja sumy bezwzględnych odchyłek
2,5824
=
Numeryczne rozwiązanie równania