Borneq
2020-12-01 17:06:39 UTC
Cytując Bartka:
Na dzień dobry, to, że funkcja y=a sqrt(x)+b jest nieliniowa nie ma
najmniejszego znaczenia. y (a nawet ściślej, wektor błędów - residuum)
ma być liniowe względem _parametrów_. a i b. To ona są istotne.
Powiedzmy, że mamy LZNK postaci
y = a* f(x1,x2,x3...) + b* g(x1,x2,x3...) + c*h(x1,x2,x3...) +e
I zestaw danych (y,x1,x2,x3...), k takich krotek.
Błąd pojedynczego pomiaru to
Zapiszmy to równanie tak:
Y = A v -E
gdzie Y - wektor y-ków
v - wektor [a,b,c..]
A - Macierz, w której w wierszu k znajduje się f(.),g(.),h(.) dla k-tego
zestawu danych.
Wektor błędów
E = Av -Y
To nic nowego, tylko oryginalne równania zapisane macierzowo. Chcemy aby
druga norma E była możliwie najmniejsza. Metod jest parę, dla
niewielkich danych wystarczy równane normalne - można udowodnić, że v
daje najmniejsze E, gdy v spełnia równania
A^tA v = A^tY
Jeśli mamy j różnych funkcji (2 w zadaniu, 3 w moim zapisie), to A^t A
(macierz transponowana * macierz) jest tylko j x j. A^tY to wektor
dlugości j., można rozwiązywać.
W zadaniu pierwszą funkcją jest sqrt(x), drugą 1(stała).
W wersji dla f liniowej y = at +1
Macierz A to kolumna wartośći t i kolumna jedynek.
Licząc A^t A i A^tY dostajemy szkolne wzorki.
Ale takie podejście daje wygodne narzędzie dla przypadków dowolnie wielu
funkcji od dowolnie wielu zmiennych. Byle współczynniki, którymi chcemy
manipulować, były liniowe. Więc nie y=a sin( x+b ), ale y=a sin(x) + b
cos(x).
Edit: wniosek, który należy wyciągnąć, to to, że w przypadku
y = a .... + b .... + c .....
te .... nie są dla nas istotne, nieważne, jakiej sa postaci, to tylko
numeryczne wielkości które ładuje się do liczbowej tabelki, mięsko jest
gdzie indziej, w wektorze [a,b,c].
===================
Zwłaszcza fragment
E = Av -Y
To nic nowego, tylko oryginalne równania zapisane macierzowo. Chcemy aby
druga norma E była możliwie najmniejsza. Metod jest parę, dla
niewielkich danych wystarczy równane normalne - można udowodnić, że v
daje najmniejsze E, gdy v spełnia równania
A^tA v = A^tY
Co gdy chcemy by zamiast drugiej normy E minimalizować trzecią , czwartą
i większą normę?
Jak obliczyć wektor v?
Jak się do tego zabrać? Gdyby było równanie, można by je obliczyć
wielowymiarowym Newtonem, być może jako punkt początkowy przyjmując
wynik dla minimalizacji drugiej normy.
Na dzień dobry, to, że funkcja y=a sqrt(x)+b jest nieliniowa nie ma
najmniejszego znaczenia. y (a nawet ściślej, wektor błędów - residuum)
ma być liniowe względem _parametrów_. a i b. To ona są istotne.
Powiedzmy, że mamy LZNK postaci
y = a* f(x1,x2,x3...) + b* g(x1,x2,x3...) + c*h(x1,x2,x3...) +e
I zestaw danych (y,x1,x2,x3...), k takich krotek.
Błąd pojedynczego pomiaru to
Zapiszmy to równanie tak:
Y = A v -E
gdzie Y - wektor y-ków
v - wektor [a,b,c..]
A - Macierz, w której w wierszu k znajduje się f(.),g(.),h(.) dla k-tego
zestawu danych.
Wektor błędów
E = Av -Y
To nic nowego, tylko oryginalne równania zapisane macierzowo. Chcemy aby
druga norma E była możliwie najmniejsza. Metod jest parę, dla
niewielkich danych wystarczy równane normalne - można udowodnić, że v
daje najmniejsze E, gdy v spełnia równania
A^tA v = A^tY
Jeśli mamy j różnych funkcji (2 w zadaniu, 3 w moim zapisie), to A^t A
(macierz transponowana * macierz) jest tylko j x j. A^tY to wektor
dlugości j., można rozwiązywać.
W zadaniu pierwszą funkcją jest sqrt(x), drugą 1(stała).
W wersji dla f liniowej y = at +1
Macierz A to kolumna wartośći t i kolumna jedynek.
Licząc A^t A i A^tY dostajemy szkolne wzorki.
Ale takie podejście daje wygodne narzędzie dla przypadków dowolnie wielu
funkcji od dowolnie wielu zmiennych. Byle współczynniki, którymi chcemy
manipulować, były liniowe. Więc nie y=a sin( x+b ), ale y=a sin(x) + b
cos(x).
Edit: wniosek, który należy wyciągnąć, to to, że w przypadku
y = a .... + b .... + c .....
te .... nie są dla nas istotne, nieważne, jakiej sa postaci, to tylko
numeryczne wielkości które ładuje się do liczbowej tabelki, mięsko jest
gdzie indziej, w wektorze [a,b,c].
===================
Zwłaszcza fragment
E = Av -Y
To nic nowego, tylko oryginalne równania zapisane macierzowo. Chcemy aby
druga norma E była możliwie najmniejsza. Metod jest parę, dla
niewielkich danych wystarczy równane normalne - można udowodnić, że v
daje najmniejsze E, gdy v spełnia równania
A^tA v = A^tY
Co gdy chcemy by zamiast drugiej normy E minimalizować trzecią , czwartą
i większą normę?
Jak obliczyć wektor v?
Jak się do tego zabrać? Gdyby było równanie, można by je obliczyć
wielowymiarowym Newtonem, być może jako punkt początkowy przyjmując
wynik dla minimalizacji drugiej normy.