выбор размера шага при установке под питон - PullRequest
0 голосов
/ 25 мая 2018

Как вы, возможно, знаете, модуль lmfit в python удобен для расширения возможностей функций scipy.optimize.

Однако я не нахожу что-то, что мне кажется необходимым: возможность выбирать размеры шагов(используется для частичных выводов, вычисления chi2 в пространстве параметров и т. д.).Раньше я играл с шагами, когда подходил под IDL, и я очень удивлен, что я не нахожу это под python.

Кажется очевидным, что шаги по умолчанию, которые очень малы, могут привести кконстанта chi2 при примерке грубой модели ... и поэтому неудобна.

Итак, мой вопрос: как выбрать шаги при подгонке под python?

1 Ответ

0 голосов
/ 25 мая 2018
Минимизатор

lmfit может обернуть несколько оптимизаторов из scipy.optimize.К сожалению, нет единого интерфейса с различными решателями, особенно для таких опций, как размеры шагов, допуски и условия остановки.Это отчасти потому, что алгоритмы на самом деле разные, а отчасти потому, что scipy.optimize само по себе оборачивает много старого кода.

Тем не менее, решатель по умолчанию с lmfit - scipy.optimize.leastsq, или MINPACK-1, что оченьпохож на (очень хороший, насколько я помню) пакет MPFIT для IDL.Как и в случае с этими кодами, вы можете указать начальный шаг, используемый для вычисления частных производных, с помощью epsfcn.

. Чтобы сделать это с помощью lmfit, зависит от того, как вы используете lmfit.Один из способов сделать это -

result = lmfit.minimize(objective_function, params, args=(x, data),
                        epsfcn=0.001)

Для более подробного ответа, пожалуйста, дайте более подробный вопрос.

...