Aktualizacja: Pierwotne pytanie brzmi: Czy istnieje funkcja R przy użyciu tego samego algorytmu zaimplementowanego w funkcji "lsqnonlin" w programie Matlab? Jednak odpowiedź jest bardziej związana z przeszukiwaniem funkcji w R. Myślę, że odpowiedź jest ogólnie bardzo pomocna dla użytkowników R. Tak więc zredagowałem tytuł, ale zadałem ponownie oryginalne pytanie: W R, jak wykonać nieliniową najmniejszą optymalizację kwadratową, która wymaga rozwiązania równań różniczkowych?
Wykonuję nieliniowe optymalizacje najmniejszych kwadratów i odkryłem, że funkcja matlab lsqnonlin
działa lepiej niż wszystkie algorytmy optymalizacji, które wypróbowałem w R (w tym algorytmy w funkcji optimx
, nlm
, nlminb
, solnp
itp.) w tym sensie, że jest szybszy i znalazł "bardziej poprawne" rozwiązanie.
Jednak nie znalazłem implementacji"Algorytm odbijający zaufanie" w R, który jest używany w Matlabie. Czy ktoś wie, czy jest już implementacja? Czy zawsze jest prawdą, że algorytm "odbicia obszaru zaufania" jest lepszym algorytmem dla tego rodzaju optymalizacji?
Odpowiedzi:
5 dla odpowiedzi № 1Brzmi jak lsqnonlin
w pracma
pakiet jest tym, czego szukasz.
Polecam zainstalowanie sos
pakiet dla R. Jego celem jest pomóc ci odpowiedzieć na pytania typu "Czy istnieje funkcja, która to robi?". findFn
w tym pakiecie przeszuka to, co jest w CRAN dla terminu, który podasz.
library(sos)
findFn("lsqnonlin")