Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #28451
| Path | csiph.com!weretis.net!feeder4.news.weretis.net!ecngs!testfeeder.ecngs.de!81.171.118.62.MISMATCH!peer02.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail |
|---|---|
| From | bartekltg <bartekltg@gmail.com> |
| Newsgroups | pl.comp.programming, pl.sci.matematyka |
| Subject | Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów |
| Date | Tue, 5 Apr 2016 16:09:22 +0200 |
| Organization | ATMAN - ATM S.A. |
| Lines | 119 |
| Message-ID | <ne0guj$575$1@node2.news.atman.pl> (permalink) |
| References | <ndkmg7$l07$1@node2.news.atman.pl> |
| NNTP-Posting-Host | 89-73-81-145.dynamic.chello.pl |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8; format=flowed |
| Content-Transfer-Encoding | 8bit |
| X-Trace | node2.news.atman.pl 1459865363 5349 89.73.81.145 (5 Apr 2016 14:09:23 GMT) |
| X-Complaints-To | usenet@atman.pl |
| NNTP-Posting-Date | Tue, 5 Apr 2016 14:09:23 +0000 (UTC) |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
| In-Reply-To | <ndkmg7$l07$1@node2.news.atman.pl> |
| X-Received-Bytes | 4423 |
| X-Received-Body-CRC | 2282853719 |
| Xref | csiph.com pl.comp.programming:28451 pl.sci.matematyka:4466 |
Cross-posted to 2 groups.
Show key headers only | View raw
On 01.04.2016 04:30, Borneq wrote:
> Rysowałem punkty na płaszczyźnie i chciałem do tego dopasować prostą.
To albo nieprecyzyjne opisanie problemu, albo opisanie problemu
innego, niż starasz się rozwiązać.
Regresja liniowa jest estymatorem największej wiarygodności dla
modelu
Y_i = a*X_i + b + e_i
gdzie e_i jest błędem o rozkłądzie normalnym.
Czyli dopasowanie funkcji liniowej do wykresu punktów.
Dopasowanie prostej do punktów na płaszczyźnie (pelna symetria) robi
się przez SVD.
http://mst.mimuw.edu.pl/lecture.php?lecture=ona&part=Ch7
> Metodą najmniejszych kwadratów (np.
> http://www.algorytm.org/procedury-numeryczne/metoda-najmniejszych-kwadratow.html)
> Współczynnik a był w ogóle nie przystający do danych. Nie wiedziałem
> dlaczego, szukałem błędu a wszystko się zgadzało.
> W końcu odkryłem że miałem float a nie double.
Fuuuu.
:)
> Problemem było to , że
> odejmowaliśmy dwie bliskie sobie duże liczby a wynik był małą liczbą.
> Czy można zmienić wzorki tak, by zadanie było lepiej uwarunkowane?
Na dzień dobry zalecam nie używać serwisów dla licealistów;-)
Tyle materiałow w sieci leży.
http://www.mimuw.edu.pl/~pokar/StatystykaI/Ksiazki/NiemiroBook.pdf (9.2.1)
Czy nawet wiki:
https://en.wikipedia.org/wiki/Simple_linear_regression#Fitting_the_regression_line
a = sum[ (y- y_sr)(x- x_sr) ] / sum[ (x- x_sr)^2 ]
b = y_sr - a * x_sr
Dwuprzebiegowe... I co z tego:)
Wriancje (mianownik piwrwszego ułamka) da się policzyć w jednym przbiegu
https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
więc pewnie jakby pokombinować, da się poodbnie policzyć
korelacje x,y (licznik) ale to i tak jest ciut mniej dokładne niż
przez policzenie najpierw średniej.
Dodatkowo, jeśli danych masz naprawdę dużo, trzeba je posumować
ostrożnie. Sposoby są od odpowiedniego uporzadkowania
od najmniejszych, od najwiekszych, kopiec w porzadku wartosci
bezwzglednej i zawsze dwie najmniejsze, czy wrescei takie wynalazki:
https://en.wikipedia.org/wiki/Pairwise_summation
https://en.wikipedia.org/wiki/Kahan_summation_algorithm
albo po prostu użyj powiekszonej precyzji. Float128 jest już wszędzie.
Pamietaj, że nigdy nie dostaniesz lepszego względnego wyniku niż
precyzje danych * uwarunkowanie sumy ( sum |x_i| / sum x_i).
Co do przesuwania i reskalowania danych:
Wróćmy do prawdziwej, pełnej (chyba po polsku oficjalna nazwa to
wieloraka) regresji. Zwyłą regresję
y_i = b_1 x_i + b_0 + e_i
zapisujemy jako
Y = X b + e
Y to wektor [y_1;,y_2...]
b to wektor [b_1; b_0]
(oba stojące)
e_i to wektor błędów
X to maceirz
X = [x_1, 1 ;
x_2, 1;
x_3, 1;
...]
(kolumna x-ów i kolumna jedynek).
Wzorki z regresji proistej są równoważne rozwiązaniu
równanian normalnego:
X^t Y = X^t X b
X^t X = [ sum x_i^2 , sum x_i; sum x_i, n ]
X^t Y = [ sum y_i x_i, sum y_i ]
ponieważ do rozwiązania b potrzeba 'odwrócić' macierz X^t X,
b = (X^t X)^-1 X^t Y
pownaa mieć ona jak najmniejsze uwarunkowania
Przesunięcie x-ów na środek pomaga, bo maceirz jest diagonalna
sum x_i=0
X^t X = [ sum x_i^2 , 0; 0, n ]
Najlepsze uwarunkowanie (po prostu 1) będzie, gdy sum x_i^2 == n
(ale po przesunieciu do centrum nie wiem, czy to nawet ma jeszcze
znaczenie).
pzdr
bartekltg
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Jak dobrze uwarunkować metodę najmniejszych kwadratów Borneq <borneq@antyspam.hidden.pl> - 2016-04-01 04:30 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Borneq <borneq@antyspam.hidden.pl> - 2016-04-01 05:23 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-01 03:31 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Borneq <borneq@antyspam.hidden.pl> - 2016-04-01 12:51 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-01 04:38 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Borneq <borneq@antyspam.hidden.pl> - 2016-04-01 13:55 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-01 05:35 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Borneq <borneq@antyspam.hidden.pl> - 2016-04-01 14:37 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-01 06:19 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-03 20:36 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-03 12:17 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 00:00 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-04 04:42 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-04 04:57 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 18:54 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-04 12:46 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 21:55 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-04 13:08 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 21:59 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-04 13:09 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 22:08 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów RW <bloody_rabbit@gazeta.pl> - 2016-04-04 15:20 -0500
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-05 00:05 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów RW <bloody_rabbit@gazeta.pl> - 2016-04-05 14:56 -0500
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-05 23:07 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-06 00:59 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-06 09:09 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-06 04:39 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-07 23:29 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-08 09:18 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-08 20:37 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-09 09:19 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl> - 2016-04-07 10:05 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-07 23:28 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-08 09:07 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-08 20:36 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-09 09:20 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-18 00:53 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 18:31 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 18:35 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-04 18:40 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów peter <ToJestTo@nic.nie.wiem> - 2016-04-01 18:05 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów peter <ToJestTo@nic.nie.wiem> - 2016-04-01 17:58 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "J.F." <jfox_xnospamx@poczta.onet.pl> - 2016-04-02 23:50 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów "M.M." <mmarszik@gmail.com> - 2016-04-03 02:58 -0700
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-03 20:33 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów bartekltg <bartekltg@gmail.com> - 2016-04-05 16:09 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-05 20:26 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów bartekltg <bartekltg@gmail.com> - 2016-04-05 20:42 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów RW <bloody_rabbit@gazeta.pl> - 2016-04-05 14:54 -0500
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-06 00:55 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów bartekltg <bartekltg@gmail.com> - 2016-04-06 02:23 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów slawek <fake@fakeemail.com> - 2016-04-06 08:59 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-06 20:23 +0100
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów peter <ToJestTo@nic.nie.wiem> - 2016-04-06 22:24 +0200
Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów Roman W <bloody_rabbitREMOVETHIS@gazeta.pl> - 2016-04-07 23:24 +0100
csiph-web