Linearyzacja z wymuszeniem stałego punktu.
- fajfi
- Posty: 185
- Rejestracja: 28 sty 2004 00:00
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Wrocław
Linearyzacja z wymuszeniem stałego punktu.
Cześć,
mam następujący problem:
Otrzymałem pewne dane pomiarowe, które z grubsza układają się wokół prostej. Aby otrzymać tę prostą użyłem funkcji "linear fit".
Wygląda to bardzo ładnie, ale wiadomo, że z definicji moja prosta powinna przechodzić przez punkt (0;0). Po fitowaniu prosta przechodzi odrobinę obok tego punktu.
Czy da się jakoś wymusić, aby prosta przechodziła dokładnie przez ten punkt?
Pozdrawiam
Fajfi
mam następujący problem:
Otrzymałem pewne dane pomiarowe, które z grubsza układają się wokół prostej. Aby otrzymać tę prostą użyłem funkcji "linear fit".
Wygląda to bardzo ładnie, ale wiadomo, że z definicji moja prosta powinna przechodzić przez punkt (0;0). Po fitowaniu prosta przechodzi odrobinę obok tego punktu.
Czy da się jakoś wymusić, aby prosta przechodziła dokładnie przez ten punkt?
Pozdrawiam
Fajfi
- fajfi
- Posty: 185
- Rejestracja: 28 sty 2004 00:00
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Wrocław
Re: Linearyzacja z wymuszeniem stałego punktu.
Tak - z definicji.
Chodziło mi o odpowiednie zmodyfikowanie wartości otrzymanych na wyjściu "Best linear fit"
I chyba wpadłem na pomysł: wystarczy od wartości z "best linear fit" odjąć stałą "intercept"
Pozdrawiam
Chodziło mi o odpowiednie zmodyfikowanie wartości otrzymanych na wyjściu "Best linear fit"
I chyba wpadłem na pomysł: wystarczy od wartości z "best linear fit" odjąć stałą "intercept"
Pozdrawiam
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Linearyzacja z wymuszeniem stałego punktu.
y=a*x+b
a to slope, b to intercept
a to slope, b to intercept
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Linearyzacja z wymuszeniem stałego punktu.
Odjęcie wyrazu wolnego od gotowego dopasowania to nie jest najlepszy sposób - do "dobrego" dopasowania wprowadzasz jakąś stałą, co je psuje. Lepszym rozwiązaniem jest ograniczenie z góry wyrazu wolnego, na co Linear Fit nam pozwala. W załączniku przykład, jak to zrobić i czemu tak jest lepiej.
- Załączniki
-
- linearfit.vi
- LV2010
- (16.83 KiB) Pobrany 398 razy
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Re: Linearyzacja z wymuszeniem stałego punktu.
A to zależy. Kolega napisał, że prosta przechodzi "odrobinkę obok zera". Odjęcie b sprawi, że nachylenie pozostanie jak było. Ograniczenie go sprawi, że nachylenie się zmieni - co prawda suma kwadratów różnic (czy czym tam jest sterowana dana metoda) będzie najmniejsza, ale "na oko" może już nie być tak ładnie. Jeżeli zależność fizyczna mówi, że prosta ma przechodzić przez 0, to znaczy że faktycznie istotnym parametrem jest jej nachylenie. To że pomiary nie przechodzą przez 0 może świadczyć o wielu różnych rzeczach, ale jeżeli są (subiektywnie) blisko przecięcia się z zerem, to ja bym jednak odjął wyraz wolny. Otrzymane nachylenie będzie wtedy bliższe fizycznemu sensowi, niż matematycznej minimalizacji jakiegoś wydumanego parametru (bo takim jest suma kwadratów różnic).PiDi pisze:Odjęcie wyrazu wolnego od gotowego dopasowania to nie jest najlepszy sposób - do "dobrego" dopasowania wprowadzasz jakąś stałą, co je psuje. Lepszym rozwiązaniem jest ograniczenie z góry wyrazu wolnego, na co Linear Fit nam pozwala. W załączniku przykład, jak to zrobić i czemu tak jest lepiej.
Jest jeszcze inne rozwiązanie - można dodać punkt (0,0) do pomiarów i przypisać mu dużą wagę. Manipulując tą wagą można regulować to jak bardzo algorytm "ściąga" do (0,0). Na koniec i tak trzeba odjąć b, ale mamy większą kontrolę.
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Linearyzacja z wymuszeniem stałego punktu.
Właśnie dlatego, że b wychodzi małe (no tak, w sumie co ma na myśli fajfi, mówiąc: małe), sugeruję zmianę nachylenia prostej. Jeśli b wychodziłoby duże, to wskazywałoby na jakiś błąd systematyczny pomiaru i wtedy taka poprawka miałaby fizyczne uzasadnienie. Małe b wynika raczej po prostu z faktu, że losowe zakłócenie jest losowe przy nieskończonej liczbie próbek, a przy skończonej - już nie do końca. W załączniku przykład - wraz ze wzrostem liczby próbek wyraz wolny dopasowania dąży do zera, przy czym amplituda zakłócenia na tę tendencję nie wpływa.
Oczywiście nie można nigdy wykluczyć, że faktycznie winę za niezerowe b ponosi jakiś stały błąd. Dlatego moje uwagi są raczej zaznaczeniem innej możliwości, niż jakąś absolutną prawdą, której będę bronił do ostatniego klawisza klawiatury ;)
Oczywiście nie można nigdy wykluczyć, że faktycznie winę za niezerowe b ponosi jakiś stały błąd. Dlatego moje uwagi są raczej zaznaczeniem innej możliwości, niż jakąś absolutną prawdą, której będę bronił do ostatniego klawisza klawiatury ;)
- Załączniki
-
- zaklocenie.vi
- (14.04 KiB) Pobrany 450 razy
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Linearyzacja z wymuszeniem stałego punktu.
Powiedzmy, że chcemy zmierzyć prędkość samochodu mierząc jego położenie w stałych odcinkach czasu. Wiemy, że położenie w chwili 0 wynosiło 0. Dla kolejnych sekund (od 1 w górę) otrzymujemy następujące pozycje w metrach: 2, 3, 4, 5, 6, 7. Dopasowujemy dane i otrzymujemy a=1, b=1. Prosta miała przechodzić przez 0, ale z jakiegoś powodu nie przechodzi. Pytanie: jaka jest PRAWDZIWA prędkość samochodu? 1 m/s, czy troszkę większa, wynikająca z dopasowania z b ograniczonym do 0?
- fajfi
- Posty: 185
- Rejestracja: 28 sty 2004 00:00
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Wrocław
Re: Linearyzacja z wymuszeniem stałego punktu.
Cześć!
He he, widzę, że niechcący wywołałem ciekawą dyskusję.
Zostałem przywołany do tablicy, więc służę przykładem, na którym widać "owo niewielkie odchylenie".
Kwadratami zaznaczono punkty pomiarowe, a linie ciągłe, to wyznaczone fitowanie. Dla jednego związku jest właściwie idealnie, odrobinę gorzej z drugim.
Odchylenie jest naprawdę nieduże i właściwie nie ma o co kruszyć kopii, ale może to się przydać na przyszłość.
Tutaj zastosowałbym rozwiązanie zaproponowane przez PiDiego czyli przypisał dużą wagę punktowi (0;0).
Dziękuję za cenne uwagi.
Fajfi
He he, widzę, że niechcący wywołałem ciekawą dyskusję.

Zostałem przywołany do tablicy, więc służę przykładem, na którym widać "owo niewielkie odchylenie".
Kwadratami zaznaczono punkty pomiarowe, a linie ciągłe, to wyznaczone fitowanie. Dla jednego związku jest właściwie idealnie, odrobinę gorzej z drugim.
Odchylenie jest naprawdę nieduże i właściwie nie ma o co kruszyć kopii, ale może to się przydać na przyszłość.
Tutaj zastosowałbym rozwiązanie zaproponowane przez PiDiego czyli przypisał dużą wagę punktowi (0;0).
Dziękuję za cenne uwagi.
Fajfi