Szukanie współczynników nieliniowego równania z trzema niewiadomymi

Odpowiedz Nowy wątek
2011-10-18 16:43
Marcin
0

Witam,
Mam 3 argumenty, oraz wynik obliczeń oparty na tych 3 wartościach. W jaki sposób dobrać współczynniki, do równania z 3 niewiadomymi? Znam przedział wartości, oraz dysponuję wieloma tysiącami próbek (wartości i wynik).
pozdrawiam.

Pozostało 580 znaków

2011-10-18 17:37
0

Czyli chcesz znaleźć model, tj. funkcję postaci y = f(x_1, x_2, x_3) wiążącą zmienne wejściowe z wyjściowymi tak, aby móc później przewidywać jej wartości?

Jeśli tak, to możesz do tego użyć regresji nieliniowej.
Z wartości wejściowych budujesz macierz X o liczbie wierszy równej liczbie próbek z kolumnami np.: 1(1 w każdym wierszu), x1, x2, x12, x22, x1 * x2, z wyjściowych wektor y, szukasz wektora współczynników b.
W tym celu rozwiązujesz równanie b = (X<sup>T X)</sup>{-1} X^Ty
To równanie jest rozwiązaniem optymalnym zadania minimalizacji sumy kwadratów błędów. (Czyli różnic między modelowaną a rzeczywistą wartością y.)
Następnym etapem jest obliczenie wartości współczynnika korelacji wielowymiarowej R, założenie hipotezy o nieistotności modelu i sprawdzenie jej testem F Fishera Snedecora, tj. obliczenie wartości F i sprawdzenie czy jest większa niż krytyczna wartość F wyznaczona z tablic (albo obliczona ze wzoru) o K i N-K-1 stopniach swobody (N - liczba prób, K - liczba parametrów modelu). Jeżeli F > Fkr, to hipoteza jest odrzucana, więc model jest prawidłowy.
Jeśli nie, to odrzuca z modelu współczynniki, których wartość funkcji t jest mniejsza niż krytyczna wyznaczona na podstawie testu t Studenta o N-K-1 stopniach swobody.
Wartości t dla każdego współczynnika oblicza się z wzoru.:

t = \frac{|b_k|}{\frac{1}{N - K - 1}(y<sup>T y-b</sup>T X^T y)\sqrt{c_{kk}}}

Gdzie k, to numer współczynnika, a c_{kk} jest diagonalnym elementem macierzy (X<sup>T X)</sup>{-1}.

Jeśli nie chcesz tego robić samodzielnie, to pewno Matlab, Statistica albo Tanagra to potrafią.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 3x, ostatnio: somekind, 2011-10-18 18:20
Uzupełnie tylko dodatkową informacją, że macierz ((Xt X)^-1 Xt) nazywana jest pseudoodwrotnością Moore'a-Penrose'a. - ElevenEleven 2011-10-18 18:27
Dzięki za info, tego nie wiedziałem, a może się przydać. :) - somekind 2011-10-18 18:39

Pozostało 580 znaków

2011-10-18 17:53
0

a jakie to równanie?

Pozostało 580 znaków

2011-10-18 18:01
0

A wiesz jaka jest zależność między tymi współczynnikami i wartością wyjściową? Z tego co piszesz brzmi to jakbyś zakładał, że jest to zależność liniowa i chcesz rozwiązać zwykłe równanie, czy tak?

IMHO, jeśli pisze o próbkach i wyznaczaniu współczynników, to równania nie ma i chce je właśnie znaleźć. - somekind 2011-10-18 18:04

Pozostało 580 znaków

2011-10-18 18:20
Marcin
0

Dzięki somekind, spróbuję zrozumieć to co napisałeś i to przetestować. Czekam również na inne propozycje rozwiązania zagadki.

Pozostało 580 znaków

2011-10-18 18:24
0

Z tym że rozwiązanie somekinda jest czysto algebraiczne i może nie przystawać do rzeczywistości, gdy dane mają swoje fizyczne znaczenie. Gdy tak jest - model buduje się, biorąc pod uwagę jednostki fizyczne.


"Robienie w Javie moge porównac do spuszczania wody w kiblu za pomoca wiadra z wodą przyniesioną ze studni zza 7 gór, którą się dodatkowo samemu wykopało łyżeczką do słodzenia herbaty."
edytowany 1x, ostatnio: ElevenEleven, 2011-10-18 18:24

Pozostało 580 znaków

2011-10-18 18:25
0
Marcin napisał(a)

Dzięki somekind, spróbuję zrozumieć to co napisałeś i to przetestować. Czekam również na inne propozycje rozwiązania zagadki.

Jaśniejszy opis może jest tutaj: http://m6.mech.pk.edu.pl/~skoczyp/mp/MP_04_regresja.pdf lub tutaj: http://www.uz.zgora.pl/~ducinski/pliki/rn.pdf
A dobra książka w tym temacie: http://library.northsouth.edu[...]d%20Regression%20Analysis.pdf

Inne propozycje? Jeśli metody analityczne Ci się nie podobają, to regresję możesz przeprowadzić przy użyciu sieci neuronowej.

ElevenEleven napisał(a)

Z tym że rozwiązanie somekinda jest czysto algebraiczne i może nie przystawać do rzeczywistości, gdy dane mają swoje fizyczne znaczenie. Gdy tak jest - model buduje się, biorąc pod uwagę jednostki fizyczne.

Hmm... Myślę, że nazwanie mnie autorem tego jest sporym nadużyciem. ;)
Żaden model nie będzie w pełni odwzorowywał rzeczywistości, taka jest już natura modeli, zawsze zakłada się też istnienie błędów w modelowanych wartościach.

Co masz na myśli pisząc o fizycznym znaczeniu i braniu pod uwagę jednostek? Czy to, że modele dla potrzeb fizycznych buduje się inaczej niż ekonometryczne czy biologiczne?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2011-10-18 18:29

Pozostało 580 znaków

2011-10-18 18:42
0
somekind napisał(a)

Co masz na myśli pisząc o fizycznym znaczeniu i braniu pod uwagę jednostek? Czy to, że modele dla potrzeb fizycznych buduje się inaczej niż ekonometryczne czy biologiczne?

To, że jeżeli wejście X1 jest w metrach, wejście X2 w sekundach, a wyjście w m/s, to model może być jedynie postaci AX1/X2, choćby liczbowo bardziej pasowało 3.965X1 + 2.72X1X2 + 4.54(X2)^2 - 10.31415


"Robienie w Javie moge porównac do spuszczania wody w kiblu za pomoca wiadra z wodą przyniesioną ze studni zza 7 gór, którą się dodatkowo samemu wykopało łyżeczką do słodzenia herbaty."
A dlaczego model nie może wyglądać tak: 3,965[1/s]X1+2,72[1/(s<sup>2)]X1*X2+4,54m/s</sup>2-10,31415[m/s]? - bogdans 2011-10-19 06:49
A czy w modelu algebraicznym masz osobno AX1[1/s], BX1[1/m], CX1[m/s] itd.? - ElevenEleven 2011-10-19 14:41
Moje pytanie było retoryczne. Jak szukam wzoru opisującego zależność siły oporu F od prędkości v, to wzór ma postać F=av+bv^2+..., gdzie współczynniki a,b,.. mają różne jednostki. Fizyka by się skrajnie uprościła, gdyby na podstawie jednostek miar można było z dokładnością do współczynnika ustalić wzór. - bogdans 2011-10-19 15:33

Pozostało 580 znaków

2011-10-18 18:53
0

@ElevenEleven, to wygląda sensownie na "zdrowy chłopski rozum", ale przekreśla możliwość znalezienia modeli wielu zjawisk, jeśli wymiary zmiennych nie pasują. Co wtedy?
A jeżeli przeprowadzisz analizę głównych składowych, to jakie masz jednostki? :)


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2011-10-18 18:53
0

Chcesz do tego skany skryptu? :-P Tydzień temu miałem na laborce MNK.


"(...) otherwise, the behavior is undefined".
Na laborce z czego? ;> - somekind 2011-10-18 19:19
Identyfikacja procesów, Techniki adaptacyjne, Programowanie systemów sterowania... My bardzo lubimy MNK. ;-) - Endrju 2011-10-18 19:27
Czad. :P Ale MNK to banał jest akurat. Poza tym nie zawsze jest dobra, a wyznaczanie modeli np. dla minimalnej wartości maksymalnego błędu jest ponoć znacznie trudniejsze. - somekind 2011-10-18 20:19

Pozostało 580 znaków

2011-10-18 19:04
0
somekind napisał(a)

@ElevenEleven, to wygląda sensownie na "zdrowy chłopski rozum", ale przekreśla możliwość znalezienia modeli wielu zjawisk, jeśli wymiary zmiennych nie pasują. Co wtedy?

Jeżeli zjawisko jest czysto fizyczne, to jednostki po prostu muszą pasować. Trzeba pierw wyprowadzić ogólny model, a potem jego współczynniki. Jeżeli dane się z modelem średnio zgadzają, można się zastanowić, czy znacznej ich części nie stanowią outliers (obserwacja odstająca - po angielsku lepiej brzmi ;)). Wtedy - całość opakować algorytmem ransac, lmeds lub pochodnym/podobnym. W najgorszym wypadku - wyjście zależy od jeszcze innego wejścia, z którego danych nie mamy (wtedy jesteśmy w ciemnej d**** ;)).
Nawet w zjawiskach "niezbyt fizycznych", trzeba weryfikować wyniki, które choćby były liczbowo poprawne, są abstrakcyjne, np. jeżeli cena papryki rośnie o 2zł/kg, a poparcie PiSu o 2pp., to w Warszawie ciśnienie rośnie o 40hPa.


"Robienie w Javie moge porównac do spuszczania wody w kiblu za pomoca wiadra z wodą przyniesioną ze studni zza 7 gór, którą się dodatkowo samemu wykopało łyżeczką do słodzenia herbaty."
edytowany 1x, ostatnio: ElevenEleven, 2011-10-18 19:08

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0