Какой алгоритм подгонки использует Mathematica в NonlinearModelFit[]?

Мне нужно знать алгоритмы, которые он использует, потому что я должен написать свою собственную программу. Левенберг-Марквардт на самом деле не делает того же. Есть ли список алгоритмов, из которого Mathematica выбирает, какой алгоритм использовать для конкретной задачи?

Спасибо.


person The Quantum Physicist    schedule 02.06.2012    source источник


Ответы (1)


Mathematica 8.x может использовать следующие алгоритмы для NonLinearModelFit[] для опции Method:

Возможные настройки метода включают "ConjugateGradient", "Gradient", "LevenbergMarquardt", "Newton", "NMinimize" и "QuasiNewton", по умолчанию Automatic.

См. документацию для дополнительных опций и т. д.

Обратите внимание, что NonLinearFit[] устарело; вместо этого вы должны использовать FindFit[].

person Massimo Cafaro    schedule 02.06.2012
comment
Большое спасибо за ваш ответ. Так вы говорите мне, что он определенно будет использовать один из этих алгоритмов? как он будет выбирать между ними? какой критерий? Я действительно не нашел достаточно информации в справке. - person The Quantum Physicist; 03.06.2012
comment
Да, автоматическая настройка для этой опции выбирает один из этих доступных алгоритмов. Однако никакой дополнительной информации о том, как на самом деле делается выбор, не дается. Однако вы можете выбрать алгоритм, который хотите использовать. - person Massimo Cafaro; 03.06.2012
comment
Чтобы выбрать конкретный метод, используйте опцию Method->MethodName. Например, вы можете использовать: NonlinearModelFit[данные, Log[a + b x^2], {a, b}, x, Method->NMinimize] - person Searke; 07.06.2012