2013-09-13 2 views

ответ

1

Поскольку вы задаете этот вопрос здесь, а не на math.stackexchange.com, я предполагаю, что вы просите о его численной оптимизации с помощью некоторого языка программирования.

Поскольку у вас есть очень нелинейная проблема, вы можете, например, использовать функцию fminsearch() в Matlab. Кроме того, вы можете взглянуть на Numerical Recipies, который описывает, как реализовать различные числовые алгоритмы в C++.

+0

спасибо. Я думаю, мне нужно перевести свой вопрос на math.stackexchange.com –

1

Для оптимизации нелинейных функций существует функция OPTIF9, и на ней есть вариация, которая обрабатывает constraints on the parameters. Это сложно, потому что всякий раз, когда он сталкивается с границей, это уменьшает размерность проблемы на 1. Другим подходом является преобразование параметров с помощью функции, такой как log или logit, которая неявно ограничена.

Лично я предпочитаю Метрополис-Гастингс. Это просто, и вы можете просто ввести большой штраф за параметры вне пределов. Поскольку вы минимизируете сумму квадратов с равным весовым коэффициентом для всех наблюдений, тривиально рассматривать его как пример максимизации гауссовского логарифмического правдоподобия, и MH хорош в этом.

Смежные вопросы