-
Data: 2016-04-05 16:09:22
Temat: Re: Jak dobrze uwarunkować metodę najmniejszych kwadratów
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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/N
iemiroBook.pdf (9.2.1)
Czy nawet wiki:
https://en.wikipedia.org/wiki/Simple_linear_regressi
on#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_calcula
ting_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_algori
thm
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
Następne wpisy z tego wątku
- 05.04.16 20:26 slawek
- 05.04.16 20:42 bartekltg
- 05.04.16 21:54 RW
- 05.04.16 21:56 RW
- 05.04.16 23:07 slawek
- 06.04.16 01:55 Roman W
- 06.04.16 01:59 Roman W
- 06.04.16 02:23 bartekltg
- 06.04.16 08:59 slawek
- 06.04.16 09:09 slawek
- 06.04.16 13:39 M.M.
- 06.04.16 21:23 Roman W
- 06.04.16 22:24 peter
- 07.04.16 10:05 Tomasz Kaczanowski
- 08.04.16 00:24 Roman W
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 ROG
- 2025-07-03 OZE dały Polsce więcej prądu niż elektrownie węglowe
- 2025-07-03 Dlaczego nikt nie powiadamia służb!
- 2025-07-02 Jaka ładowarka sieciowa do Iphona?
- 2025-07-02 ,,The Plot to Get RFK" (,,Spisek, by pozbyć się RFK")
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Rozkaz 16-2025: 2025-06-19 Apelacja Do Wyroku Sądu Rej. w Sprawie IVRNs 295-23
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Inżynierowie... inżynierzy...
- 2025-07-02 Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 2025-07-02 Kto potrafi sprawdzić aku BMW 48V 10Ah Li-Ion do mini hybrydy, czy sprawny ?
- 2025-07-02 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-02 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-02 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-02 Warszawa => Inżynier oprogramowania .Net <=