Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #28396 > unrolled thread

Jak dobrze uwarunkować metodę najmniejszych kwadratów

Started byBorneq <borneq@antyspam.hidden.pl>
First post2016-04-01 04:30 +0200
Last post2016-04-07 23:24 +0100
Articles 20 on this page of 56 — 9 participants

Back to article view | Back to pl.comp.programming


Contents

  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

Page 1 of 3  [1] 2 3  Next page →


#28396 — Jak dobrze uwarunkować metodę najmniejszych kwadratów

FromBorneq <borneq@antyspam.hidden.pl>
Date2016-04-01 04:30 +0200
SubjectJak dobrze uwarunkować metodę najmniejszych kwadratów
Message-ID<ndkmg7$l07$1@node2.news.atman.pl>
Rysowałem punkty na płaszczyźnie i chciałem do tego dopasować prostą.
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. 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?

[toc] | [next] | [standalone]


#28397

FromBorneq <borneq@antyspam.hidden.pl>
Date2016-04-01 05:23 +0200
Message-ID<ndkpju$n3k$1@node2.news.atman.pl>
In reply to#28396
W dniu 01.04.2016 o 04:30, Borneq pisze:
> 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?

Dla danych x i y czasem zbiory tych wartości skupiają się w wąskim 
przedziale, np. gdy mam wagi dla chudnięcia z jednego miesiąca, wtedy 
waga skupia się wokół np. 100 kg a dnie wokół liczby 42000 (gdy 
przedstawimy datę jako liczbę dni od roku 1900).
Gdy odejmiemy od x-ów wartość 42000 a od y-ów 100 wtedy te liczby się 
zmniejszą. Jest to jeden ze sposobów; jak to można uogólnić, np. dla 
przypadku gdy 99% punków jest skupionych a jeden (np. pierwszy) gdzieś 
daleko i nie opłaca się odejmować według tego punktu ale według 99% 
pozostałych?

[toc] | [prev] | [next] | [standalone]


#28398

From"M.M." <mmarszik@gmail.com>
Date2016-04-01 03:31 -0700
Message-ID<2bf51dcb-e566-4586-88b7-eecf9e07bac6@googlegroups.com>
In reply to#28397
On Friday, April 1, 2016 at 5:23:43 AM UTC+2, Borneq wrote:
> W dniu 01.04.2016 o 04:30, Borneq pisze:
> > 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?
> 
> Dla danych x i y czasem zbiory tych wartości skupiają się w wąskim 
> przedziale, np. gdy mam wagi dla chudnięcia z jednego miesiąca, wtedy 
> waga skupia się wokół np. 100 kg a dnie wokół liczby 42000 (gdy 
> przedstawimy datę jako liczbę dni od roku 1900).
> Gdy odejmiemy od x-ów wartość 42000 a od y-ów 100 wtedy te liczby się 
> zmniejszą. Jest to jeden ze sposobów; jak to można uogólnić, np. dla 
> przypadku gdy 99% punków jest skupionych a jeden (np. pierwszy) gdzieś 
> daleko i nie opłaca się odejmować według tego punktu ale według 99% 
> pozostałych?

Proponuję (na początek) przeskalować wartości w każdej kolumnie do
przedziału 0-1.

Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28399

FromBorneq <borneq@antyspam.hidden.pl>
Date2016-04-01 12:51 +0200
Message-ID<ndljs4$bq4$1@node1.news.atman.pl>
In reply to#28398
W dniu 01.04.2016 o 12:31, M.M. pisze:
> Proponuję (na początek) przeskalować wartości w każdej kolumnie do
> przedziału 0-1.

Ja myślałem  o tym, by od współrzędnych x (może wystarczą same x) odjąć 
średnią x. Tu niestety będziemy mieli dwa przebiegi, ale dość mała 
modyfikacja potem wyniku.

[toc] | [prev] | [next] | [standalone]


#28400

From"M.M." <mmarszik@gmail.com>
Date2016-04-01 04:38 -0700
Message-ID<423306eb-235a-425d-ada4-a0f469be06f5@googlegroups.com>
In reply to#28399
On Friday, April 1, 2016 at 12:51:49 PM UTC+2, Borneq wrote:
> W dniu 01.04.2016 o 12:31, M.M. pisze:
> > Proponuję (na początek) przeskalować wartości w każdej kolumnie do
> > przedziału 0-1.
> 
> Ja myślałem  o tym, by od współrzędnych x (może wystarczą same x) odjąć 
> średnią x. Tu niestety będziemy mieli dwa przebiegi, ale dość mała 
> modyfikacja potem wyniku.

W jakim celu stosujesz aproksymację multiliniową?
Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28401

FromBorneq <borneq@antyspam.hidden.pl>
Date2016-04-01 13:55 +0200
Message-ID<ndlnjs$lnm$1@node2.news.atman.pl>
In reply to#28400
W dniu 01.04.2016 o 13:38, M.M. pisze:
> W jakim celu stosujesz aproksymację multiliniową?

Jaką multiliniową? Chće aby nie odejmować od jednej dużej liczby drugą 
podobną, uzyskując małą resztę

Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28402

From"M.M." <mmarszik@gmail.com>
Date2016-04-01 05:35 -0700
Message-ID<0c1e3223-b507-4e61-892c-3a3b3288a47a@googlegroups.com>
In reply to#28401
On Friday, April 1, 2016 at 1:55:41 PM UTC+2, Borneq wrote:
> W dniu 01.04.2016 o 13:38, M.M. pisze:
> > W jakim celu stosujesz aproksymację multiliniową?
> 
> Jaką multiliniową? Chće aby nie odejmować od jednej dużej liczby drugą 
> podobną, uzyskując małą resztę
> 
> Pozdrawiam


Sorki, nie kumam. 
Czy masz zbyt duży błąd w wyniku odejmowania?

a - b = c +- error ?

Może zwiększyć precyzję? Kompilator gcc (od niedawna) ma duże i wydajne typy
zmiennoprzecinkowe. 

Odejmowań jest wiele czy jedno? W przypadku wielu dodawań, można posortować 
liczby od najmniejszych (co do wartości bezwzględnej), no i dodawać od w
takiej kolejności - czasami to to zwiększa dokładność. Może jakoś ten
trik da się w Twoim przypadku zastosować?

Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28403

FromBorneq <borneq@antyspam.hidden.pl>
Date2016-04-01 14:37 +0200
Message-ID<ndlq31$oi8$1@node2.news.atman.pl>
In reply to#28402
W dniu 01.04.2016 o 14:35, M.M. pisze:
> Sorki, nie kumam.
> Czy masz zbyt duży błąd w wyniku odejmowania?
>
> a - b = c +- error ?
>
> Może zwiększyć precyzję? Kompilator gcc (od niedawna) ma duże i wydajne typy
> zmiennoprzecinkowe.

Gdy zwiększyłem do double - działa (choć można wyobrazić sobie złośliwy 
przykład gdzie nawet double nie będzie działało)
Ale mi chodzi o zmianę algorytmu a raczej wzorków na takie, gdzie 
dokładność wyniku nie zależy tak bardzo od precyzji typów 
zmiennoprzecinkowych;

[toc] | [prev] | [next] | [standalone]


#28404

From"M.M." <mmarszik@gmail.com>
Date2016-04-01 06:19 -0700
Message-ID<47e5f9dc-9633-4db7-b5b0-c191881529c5@googlegroups.com>
In reply to#28403
On Friday, April 1, 2016 at 2:37:55 PM UTC+2, Borneq wrote:
> W dniu 01.04.2016 o 14:35, M.M. pisze:
> > Sorki, nie kumam.
> > Czy masz zbyt duży błąd w wyniku odejmowania?
> >
> > a - b = c +- error ?
> >
> > Może zwiększyć precyzję? Kompilator gcc (od niedawna) ma duże i wydajne typy
> > zmiennoprzecinkowe.
> 
> Gdy zwiększyłem do double - działa (choć można wyobrazić sobie złośliwy 
> przykład gdzie nawet double nie będzie działało)
> Ale mi chodzi o zmianę algorytmu a raczej wzorków na takie, gdzie 
> dokładność wyniku nie zależy tak bardzo od precyzji typów 
> zmiennoprzecinkowych;

Właśnie nie wiem na jakim etapie chcesz podjąć próbę zmiany wzorków.

Na etapie przygotowania danych:
 1) przeskalowanie
 2) odjęcie średniej
 3) normalizacja

Na etapie rozwiązywania równania:
 1) eliminacja gaussa z połowicznym lub pełnym wyborem 
    elementu podstawowego

Można zmodyfikować także wzór w aproksymacji multiliniowej (aproksymacja
wielomianem jest w gruncie rzeczy także aproksymacją multiliniową). Możesz
nie tylko minimalizować sumę kwadratów różnic, ale także sumę kwadratów
parametrów. Po uproszczeniu, minimalizacja sumy kwadratów różnic sprowadza
się do dodania (jakis) dodatnich liczb do głównej przekątnej.

Szczerze, to nie mam pojęcia czy w czymś pomogłem :)

Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28412

Fromslawek <fake@fakeemail.com>
Date2016-04-03 20:36 +0200
Message-ID<almarsoft.691967069041361417@news.v.pl>
In reply to#28399
On Fri, 1 Apr 2016 12:51:47 +0200, Borneq <borneq@antyspam.hidden.pl> 
wrote:
> Ja myślałem  o tym, by od współrzędnych x (może wystarczą same x) 
odjąć 
> średnią x. Tu niestety będziemy mieli dwa przebiegi, ale dość mała

Sensowne. Zadziała. 

"Jednoprzebiegowe" z reguły są do bani.

[toc] | [prev] | [next] | [standalone]


#28413

From"M.M." <mmarszik@gmail.com>
Date2016-04-03 12:17 -0700
Message-ID<d6b9a96b-ec40-481e-9c09-98a67f1f104d@googlegroups.com>
In reply to#28412
On Sunday, April 3, 2016 at 8:36:51 PM UTC+2, slawek wrote:
> On Fri, 1 Apr 2016 12:51:47 +0200, Borneq <borneq@antyspam.hidden.pl> 
> wrote:
> > Ja myślałem  o tym, by od współrzędnych x (może wystarczą same x) 
> odjąć 
> > średnią x. Tu niestety będziemy mieli dwa przebiegi, ale dość mała
> 
> Sensowne. Zadziała. 
> 
> "Jednoprzebiegowe" z reguły są do bani.

Dlaczego jednoprzebiegowe są do bani?
Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28414

Fromslawek <fake@fakeemail.com>
Date2016-04-04 00:00 +0200
Message-ID<almarsoft.2859898224588482168@news.v.pl>
In reply to#28413
On Sun, 3 Apr 2016 12:17:32 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
wrote:
> Dlaczego jednoprzebiegowe są do bani?

Bo są do bani.

Nie chce mi się, a mam jakieś 4 kg literatury na temat, napisany na 
Meritum program i na wpół napisany artykuł. Ok. Program na Meritum 
chyba gdzieś przepadł, demagnetyzacja i takie tam.

Ogólnie: aby algorytm był ok, to trzeba przeskalować dane wejściowe. 
A tego nie da się zrobić przed wyczytaniem danych i przeliczeniem 
tego i owego. Klasyczny problem demona Maxwella: aby działać trzeba 
pamiętać.

Do tego cała koncepcja regresji, jak i tzw. "metody naj. kwadratów" 
jest bardzo uboga. Dużo lepiej jest po prostu porządnie używać metody 
największej wiarygodności. 

Zwykła regresja to stan sprzed około 1970. Zasadnicza wada? Jeden 
pitolniety punkt robi wiosnę romantyzmu i masz wtedy linię 
ortogonalną do tego co powinno być. Robust regression jest nieco 
lepsza. Jest jeszcze koncepcja misfit'ów.

Co ciekawe: lepsze metody są naprawdę lepsze, np. pozwalają 
zmniejszyć liczbę odwiertów (jeden kosztuje milion USD).

[toc] | [prev] | [next] | [standalone]


#28417

From"M.M." <mmarszik@gmail.com>
Date2016-04-04 04:42 -0700
Message-ID<adadc252-54c0-457d-af01-5f7244ccbc4f@googlegroups.com>
In reply to#28414
On Monday, April 4, 2016 at 12:01:19 AM UTC+2, slawek wrote:
> On Sun, 3 Apr 2016 12:17:32 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
> wrote:
> > Dlaczego jednoprzebiegowe są do bani?
> 
> Bo są do bani.
> 
> Nie chce mi się, a mam jakieś 4 kg literatury na temat, napisany na 
> Meritum program i na wpół napisany artykuł. Ok. Program na Meritum 
> chyba gdzieś przepadł, demagnetyzacja i takie tam.
Ok. Ja swoje jeszcze mam, ale to nic wnosi.




> Ogólnie: aby algorytm był ok, to trzeba przeskalować dane wejściowe. 
Wszystko zależy od danych. W tych problemach z jakimi ja się spotykałem,
rzadko trzeba było skalować dane. Żeby nie było: rozmawiamy o dopasowaniu
(dwóch lub więcej) współczynników liniowych.


> A tego nie da się zrobić przed wyczytaniem danych i przeliczeniem 
> tego i owego. Klasyczny problem demona Maxwella: aby działać trzeba 
> pamiętać.
No tak, tutaj muszę się zgodzić, do przeskalowania są potrzebne
dodatkowe przebiegi. Gdy pisałem że jednoprzebiegowa, to skalowania 
nie zaliczyłem do elementów metody o której rozmawiamy, może mój błąd, 
może nie - nieważne.


> Do tego cała koncepcja regresji, jak i tzw. "metody naj. kwadratów" 
> jest bardzo uboga. Dużo lepiej jest po prostu porządnie używać metody 
> największej wiarygodności. 
Dla mnie regresja oznacza próbę dopasowania jednej funkcji do drugiej.
W regresji jednostajnej po prostu inne kryterium obieramy sobie do
oceny niż w regresji najmniejszych kwadratów. Co to jest metoda 
największej wiarygodności - nie wiem, może jest tym samym co 
jednostajna?


> Zwykła regresja to stan sprzed około 1970. 
Tak bym nie argumentował, niektóre algorytmy sprzed 2tys lat mają
się nadal dobrze. Dopasowanie współczynników liniowych z błędem
średniokwadratowym ma szereg zalet. 


> Zasadnicza wada? Jeden 
> pitolniety punkt robi wiosnę romantyzmu i masz wtedy linię 
> ortogonalną do tego co powinno być. 
Można zastosować inną funkcję błędu, np pierwiastek drugiego stopnia:
( Sum_1^N  | uzyskany_i - pożądany_i ) ^ 0.5 ) / N
Lepiej omija duże odchylenia, ale wymaga iterowania i pewnie ma minima 
lokalne.


> Robust regression jest nieco 
> lepsza. Jest jeszcze koncepcja misfit'ów.
Nie znam, a może znam, ale nie wiem że te metody tak się nazywają.


> Co ciekawe: lepsze metody są naprawdę lepsze, np. pozwalają 
> zmniejszyć liczbę odwiertów (jeden kosztuje milion USD).

Dlatego zadałem na początku (mniej/więcej) takie pytanie: do
czego to jest potrzebne? Nikt nie napisał, że do odwiertów :D

Pozdrawiam


[toc] | [prev] | [next] | [standalone]


#28418

From"M.M." <mmarszik@gmail.com>
Date2016-04-04 04:57 -0700
Message-ID<1dc61968-1350-46f4-9cea-8364ea0d9f2f@googlegroups.com>
In reply to#28417
On Monday, April 4, 2016 at 1:42:22 PM UTC+2, M.M. wrote:
Errata
>( Sum_1^N  | uzyskany_i - pożądany_i ) ^ 0.5 ) / N 
( Sum_1^N  | uzyskany_i - pożądany_i | ^ 0.5 ) / N 
( Sum_1^N  abs( uzyskany_i - pożądany_i ) ^ 0.5 ) / N 

[toc] | [prev] | [next] | [standalone]


#28431

Fromslawek <fake@fakeemail.com>
Date2016-04-04 18:54 +0200
Message-ID<almarsoft.3784563730517651232@news.v.pl>
In reply to#28418
On Mon, 4 Apr 2016 04:57:56 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
wrote:
> ( Sum_1^N  abs( uzyskany_i - pożądany_i ) ^ 0.5 ) / N

Zwróć uwagę, że dobra metoda powinna być niezmiennicza wobec 
transformacji. Tzn. najlepsze dopasowanie nie może się zmieniać przy 
zamianie osi, przy obrocie itd. Zwykła regresja  tego nie potrafi, bo 
wagi są tylko w y.

Z kolei dopasowanie minimalizujące sumę odległości od prostej (w X i 
Y) nie ma uzasadnienia statystycznego.

Wprowadzenie wag dla X daje problem nieliniowy.

No i można próbować mediany zamiast sumy.

[toc] | [prev] | [next] | [standalone]


#28435

From"M.M." <mmarszik@gmail.com>
Date2016-04-04 12:46 -0700
Message-ID<3d670d6e-931e-4e10-a614-2da83c390a14@googlegroups.com>
In reply to#28431
On Monday, April 4, 2016 at 6:54:22 PM UTC+2, slawek wrote:
> On Mon, 4 Apr 2016 04:57:56 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
> wrote:
> > ( Sum_1^N  abs( uzyskany_i - pożądany_i ) ^ 0.5 ) / N
> 
> Zwróć uwagę, że dobra metoda powinna być niezmiennicza wobec 
> transformacji. Tzn. najlepsze dopasowanie nie może się zmieniać przy 
> zamianie osi, przy obrocie itd. Zwykła regresja  tego nie potrafi, bo 
> wagi są tylko w y.

O ile się nie mylę, odporna na transformacje będzie każda metoda, w której
funkcja błędu jest oparta nie na rzucie pionowym, ale na rzucie ortogonalnym.
Niestety rzut ortogonalny wymaga iterowania. Czyli znowu lepsza metoda
kosztem większego nakładu obliczeniowego. Rzut ortogonalny również/przynajmniej
nie ma minimów lokalnych, więc metoda w miarę wdzięczna.


> Z kolei dopasowanie minimalizujące sumę odległości od prostej (w X i 
> Y) nie ma uzasadnienia statystycznego.
Zależy od zadania. Jeśli mamy dużo danych, jeśli te dane są dokładne, ale
obarczone losowym-niewielkim szumem, jeśli znamy całym model i jeśli tylko
nie znamy współczynników liniowych - to co można zrobić lepszego, niż
właśnie ułożyć układ równań normalnych i rozwiązać? 

Pewnie zarzucisz mi, że powyżej opisałem rzadką sytuację, cóż, masz
rację. Ale ponadto, gdy nie wiemy z czym mamy do czynienia, to na 
początek też warto spróbować dobrać liniowe współczynniki metodą 
najmniejszych kwadratów. Warto choćby dlatego, że jest w miarę szybka i 
daje dobry punkt wyjścia dla dalszych przemyśleń. Więc są przynajmniej 
dwie sytuacje w których uzasadnienie użycia jest, choć nie zawsze jest 
to uzasadnienie statystyczne. 

W pracy Cichosza jest cały rozdział poświęcony 'reprezentacji rozszerzonej',
która zwiększa możliwości 'metody liniowej'. Czasami to daj dobre rezultaty.



> Wprowadzenie wag dla X daje problem nieliniowy.
Nie wiem o jakie wprowadzenie wag chodzi, jest sposób na dodanie
wag, który nie wpływa na utratę liniowości, ale pewnie masz na
myśli coś innego.


> No i można próbować mediany zamiast sumy.
Mediana to jest wartość która dzieli posortowany ciąg na pół. Jeśli
chodzi o to, aby sumę funkcji błędu zastąpić medianą, to... nigdy
nie stosowałem tego w praktyce. Wydaje się ryzykowne, bo zbiór
z małą medianą może mieć bardzo duże maksimum.


Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28437

Fromslawek <fake@fakeemail.com>
Date2016-04-04 21:55 +0200
Message-ID<almarsoft.5417224546887993928@news.v.pl>
In reply to#28435
On Mon, 4 Apr 2016 12:46:12 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
wrote:
> nie znamy współczynników liniowych - to co można zrobić lepszego,=
>  niż
> właśnie ułożyć układ równań normalnych i rozwiązać?

Marquardt, hessjan, takie tam.

[toc] | [prev] | [next] | [standalone]


#28441

From"M.M." <mmarszik@gmail.com>
Date2016-04-04 13:08 -0700
Message-ID<8cdca682-e408-40d4-9c8c-5efee706f82c@googlegroups.com>
In reply to#28437
On Monday, April 4, 2016 at 9:55:40 PM UTC+2, slawek wrote:
> On Mon, 4 Apr 2016 12:46:12 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
> wrote:
> > nie znamy współczynników liniowych - to co można zrobić lepszego,=
> >  niż
> > właśnie ułożyć układ równań normalnych i rozwiązać?
> 
> Marquardt, hessjan, takie tam.

Czyli proponujesz metody iteracyjnego rozwiązywania równań? Nie wiem
jak jest w ogóle. Osobiście lepsze wynik miałem gdy rozwiązywałem 
gaussem z pełnym wyborem elementu podstawowego, ale układałem 
(iteracyjnie) niepełne równanie, ale wiele razy małe równanie.

Pozdrawiam

[toc] | [prev] | [next] | [standalone]


#28439

Fromslawek <fake@fakeemail.com>
Date2016-04-04 21:59 +0200
Message-ID<almarsoft.270738444669332185@news.v.pl>
In reply to#28435
On Mon, 4 Apr 2016 12:46:12 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
wrote:
> O ile się nie mylę, odporna na transformacje będzie każda metoda, w=
>  której
> funkcja błędu jest oparta nie na rzucie pionowym, ale na rzucie 
ortogon=
> alnym.

Niekoniecznie... jeżeli dopuścimy transformacje nieliniowe.

[toc] | [prev] | [next] | [standalone]


#28443

From"M.M." <mmarszik@gmail.com>
Date2016-04-04 13:09 -0700
Message-ID<54bbbece-1e85-41ca-b246-53028493c546@googlegroups.com>
In reply to#28439
On Monday, April 4, 2016 at 9:59:53 PM UTC+2, slawek wrote:
> On Mon, 4 Apr 2016 12:46:12 -0700 (PDT), "M.M." <mmarszik@gmail.com> 
> wrote:
> > O ile się nie mylę, odporna na transformacje będzie każda metoda, w=
> >  której
> > funkcja błędu jest oparta nie na rzucie pionowym, ale na rzucie 
> ortogon=
> > alnym.
> 
> Niekoniecznie... jeżeli dopuścimy transformacje nieliniowe.

Hmmm... ale czy przy transformacjach nieliniowych jakakolwiek metoda
zawsze równie dobrze sobie poradzi?

Pozdrawiam

[toc] | [prev] | [next] | [standalone]


Page 1 of 3  [1] 2 3  Next page →

Back to top | Article view | pl.comp.programming


csiph-web