2012-02-13 148 views
10

私はすべての係数が(0,1)の範囲にあり、合計が1(この機能はMatlabのLSQLIN関数で実装されています)の範囲にあるように、Scipyを使用して制約付き最小二乗推定を実行しようとしています。Pythonの制限付き最小二乗推定

Python/Scipyを使用してこの計算を設定するためのヒントがありますか?私はscipy.optimize.fmin_slsqp()を使用すべきだと信じていますが、どのパラメータを渡すべきか全面的にはわかりません。[1]助けのための

多くのおかげで、 ニック

私は、参照テキストなしで解析するために、[1] fmin_slsqpのドキュメント内の1つの例は少し難しい - と私はscipyのダウンロードを使用して新たなんです。

答えて

2

this tutorialをご覧ください。かなり明らかです。

7

scipy-optimize-leastsq-with-bound-constraintsにSO leastsq_boundsは、それらが1に合計制約が同様に添加することができるよう= X_I < = 1.0 < として結合制約を leastsqであり、得られます。
(私は20D、10D、5dに合成テスト機能の良いようにleastsq_bounds/MINPACKを発見しました。? あなたはどのように多くの変数を持っていない)

0

MATLABのlsqlinが有界線形最小二乗ソルバーであるので、あなたはscipy.optimize.lsq_linearをチェックしたいと思うでしょう。

+0

はい、ただし、線形制約式を追加するにはどうすればよいですか?ドキュメントでは、変数の境界を指定できるように見えます。 – Realhermit

関連する問題