Zgadzam się z Glen_b. W problemach regresji główny nacisk kładziony jest na parametry, a nie na zmienną niezależną lub predyktor, x. A potem można zdecydować, czy chce się zlinearyzować problem, stosując proste transformacje, czy kontynuować jako taki.
Problemy liniowe: policz liczbę parametrów w swoim problemie i sprawdź, czy wszystkie mają moc 1. Na przykład . Ta funkcja jest nieliniowa w . Ale w przypadku problemów z regresją nieliniowość w nie stanowi problemu. Trzeba sprawdzić, czy parametry są liniowe czy liniowe. W tym przypadku wszystkie , , , .. mają moc 1. Są więc liniowe.y=ax+bx2+cx3+dx2/3+e/x+fx−4/7xxabcf
Zauważ, że w , choć wygląda na to, że ma moc 1, ale po rozwinięciu
. Widać wyraźnie, że jest to parametr nieliniowy, ponieważ a ma moc większą niż 1. Ale problem ten można zlinearyzować, wywołując transformację logarytmiczną. Oznacza to, że problem regresji nieliniowej jest przekształcany w problem regresji liniowej.y=exp(ax)exp(ax)=1+ax/1!+(ax)2/2!+…
Podobnie, jest funkcją logistyczną. Ma trzy parametry, a mianowicie , i . Parametry i mają moc większą niż 1, a po rozwinięciu mnożą się z każdym inne przynoszą nieliniowość. Więc nie są one liniowe, ale mogą być również linearyzowane przy użyciu właściwego podstawienia, ustawiając najpierw a następnie wywołując funkcję logarytmiczną po obu stronach w celu linearyzacji.y=a/(1+bexp(cx)abcbc(a/y)−1=Y
Załóżmy teraz, że . Jest to znów nieliniowe w odniesieniu do parametrów. Ale nie można go zlinearyzować. Należy zastosować regresję nieliniową.y=a1/(1+b1exp(c1x))+a2/(1+b2exp(c2x))
Zasadniczo stosowanie strategii liniowej w celu rozwiązania problemu regresji nieliniowej nie jest dobrym pomysłem. Zatem rozwiązuj problemy liniowe (gdy wszystkie parametry mają moc 1), stosując regresję liniową i zastosuj regresję nieliniową, jeśli parametry są nieliniowe.
W twoim przypadku zastąp funkcję ważenia z powrotem w funkcji głównej. Parametr byłby jedynym parametrem o potędze 1. Wszystkie pozostałe parametry są nieliniowe ( ostatecznie mnoży się przez i (te dwa są parametrami nieliniowymi), co czyni go również nieliniowym. Dlatego jest to problem regresji nieliniowej .β 1 θ 1 θ 2β0β1θ1θ2
Zastosuj nieliniową technikę najmniejszych kwadratów, aby ją rozwiązać. Sprytnie wybieraj wartości początkowe i używaj podejścia wieloczęściowego, aby znaleźć globalne minima.
Ten film będzie pomocny (choć nie mówi o globalnym rozwiązaniu): http://www.youtube.com/watch?v=3Fd4ukzkxps
Korzystanie z nieliniowego solvera GRG w arkuszu kalkulacyjnym Excel (zainstaluj pakiet narzędzi solvera, przechodząc do opcji - Dodatki - Dodatki Excela, a następnie wybierając Dodatek Solver) i wywołując multistart na liście opcji, przepisując interwały parametrom i wymagające precyzja ograniczenia i zbieżność mają być małe, można uzyskać globalne rozwiązanie.
Jeśli korzystasz z Matlaba, użyj globalnego zestawu narzędzi optymalizacji. Posiada opcje wyszukiwania wielostartowego i globalnego. Niektóre kody są dostępne tutaj dla globalnego rozwiązania, tutaj
i
tutaj .
Jeśli używasz Mathematica, spójrz tutaj .
Jeśli używasz R, spróbuj tutaj .