Оценка наименьших квадратов в Python - PullRequest
11 голосов
/ 14 февраля 2012

Я пытаюсь выполнить ограниченную оценку наименьших квадратов с использованием Scipy, чтобы все коэффициенты находились в диапазоне (0,1) и суммировались до 1 (эта функция реализована в функции LSQLIN Matlab).1004 *

У кого-нибудь есть советы по настройке этого расчета с использованием Python / Scipy.Я считаю, что я должен использовать scipy.optimize.fmin_slsqp(), но я не совсем уверен, какие параметры я должен передать ему. [1]

Большое спасибо за помощь, Ник

[1]один пример в документации для fmin_slsqp немного сложен для анализа без ссылочного текста - и я новичок в использовании Scipy.

Ответы [ 3 ]

7 голосов
/ 31 марта 2012

scipy-optimize-leastsq-with-bound-constraints на SO дает leastsq_bounds, что leastsq с ограниченными ограничениями, такими как 0 <= x_i <= 1. Ограничение, равное 1, может быть добавлено таким же образом. <br> (Я обнаружил, что leastsq_bounds / MINPACK хорош для синтетических тестовых функций в 5d, 10d, 20d; сколько у вас переменных?)

2 голосов
/ 15 февраля 2012

Взгляните на этого урока , оно кажется довольно ясным.

0 голосов
/ 11 февраля 2016

Поскольку MATLAB lsqlin является ограниченным линейным решателем наименьших квадратов, вы можете проверить scipy.optimize.lsq_linear .

...