問題タブ [quadprog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 巨大行列 (C++) (Visual Studio 2015) (QuadProg ライブラリ)
QuadProg++ ライブラリを使用しようとしています。問題は、私の CI 変数が非常に大きいことです。最大 40,000 * 20,000。このサイズでは、メモリが多すぎます (少なくとも 12GB .....)。2 つの質問があります。ショートにしてみましたが、できませんでした。2.- このサイズの問題を解決する方法を知っている人はいますか? 実際、この CI 変数は非常に単純で、すべて 1 の対角線とすべて -1 の他の対角線 (他のすべての値は 0) のみです。
別のライブラリを使用してこれらの問題を解決できる場合 (二次計画法の問題を解決する場合) も問題ではありません。どんな解決策でも大歓迎です よろしくお願いします
r - QuadProg でボックス制約を実装する方法
R 'Quadprog' パッケージに次の形式のボックス制約を組み込む機能があるかどうか疑問に思っていました: -L*1 <= v <= L*1
ここで、1 は 1 のベクトルで、L は定数です。最適化する変数は v です。基本的に、v のすべての個々の要素は、–lambda と lambda の間に制限される必要があります。
そうでない場合、この問題を回避するための他のパッケージはありますか?
助けてくれて本当にありがとうございます
r - R パッケージ Quadprog を使用して SVM を解くには?
二次計画法を解決するために Quadprog を実装する適切な方法は何だろうと思っていました。
次の質問があります(インターネットから取得)、次のhttp://cbio.ensmp.fr/~thocking/mines-course/2011-04-01-svm/svm-qp.pdfも見ていました
この問題を解決する適切な方法は何でしょうか? 上記のような質問を受けた場合、このチュートリアルは解決に役立ちますか? http://www.r-bloggers.com/solving-quadratic-progams-with-rs-quadprog-package/
r - R で制約付き二次計画法を解く
私は R が大好きですが、時々頭が痛くなります...
私は次の単純な二次最小化問題を持っています。これは、Excel で定式化してすぐに解決できます (画像をクリックして拡大)。
と
問題自体は非常に簡単です: の最適な組み合わせを(w1^2+w2^2)/2
見つけて最小化したいと考えています。w1
w2
b
Y*(w1*X1+w2*X2+b) >= 1
この種の問題を解決するためのパッケージがあることは知っていquadprog
ますが、直感的ではないため、問題を正しく指定することができません :-( 言いたくないのですが、これらのような最適化問題を指定するには Excel の方が適しているようです。 :-((((
私の質問
R (どのパッケージでも) で解決できるように上記の問題を正しく定式化する方法と、プログラムがw1
, w2
andの正しい値に到達するb
方法 (上の図でわかるように)。リンクを投稿するだけでなく、実際に機能するコードを提供してください。コードにコメントを付けて、なぜそのようなことをするのかが明確になるとよいでしょう。ありがとうございました!
必要なデータは次のとおりです。
補遺
一部の人々は、コードを提供するように私の要求に腹を立てました (単なるリンクではありません)。私はそれをお詫びし、これまでの回答で良いアプローチが見つからなかったという理由を述べました。そのより深い理由はb
、目的関数ではなく制約のみにあるという意味で、問題が異常であるということです。したがって、この質問はSOに適していると今でも思います。
r - R for MAC に quadprog パッケージをインストール中にエラーが発生しました
MacのRにquadprogパッケージをインストールしようとしていますが、このメッセージが表示され続けます:
- ソースパッケージ 'quadprog'をインストールしています ... ** パッケージ 'quadprog' は正常にアンパックされ、MD5 サムがチェックされました ** libs gfortran-4.8 -fPIC -g -O2 -c aind.f -o aind.o make: gfortran-4.8: いいえそのようなファイルまたはディレクトリの作成: *** [aind.o] エラー 1 エラー: パッケージ 'quadprog' のコンパイルに失敗しました</li>
- 「/Library/Frameworks/R.framework/Versions/3.2/Resources/library/quadprog」を削除</li>
インストールするにはどうすればよいか知っている人はいますか?
r - quadprog, R における solve.qp の出力の "value" コンポーネントの定義またはアルゴリズムについて
私は R のパッケージで使用solve.QP
しquadprog
て、古典的な平均分散最適化問題を解決しています。私の理解では、出力コンポーネントの「値」は、最適化されたポートフォリオの分散を意味し、オンラインで投稿された平均分散最適化の多くのコードもsqrt(sol$value)
、最適化されたポートフォリオの標準偏差であることを示しています。
ただし、solve.QP
単純な平均分散最適化を解決するために使用するsol$value
と、ポートフォリオ分散関数を使用して計算された値とは異なる負の値が返されますw%*%covariance%*%t(w)
。の定義やアルゴリズムをオンラインで検索しようとしましたsol$value
が、残念ながら詳細な説明は見つかりませんでした。R ドキュメントにquadprog
は、「値」は「スカラー、解における二次関数の値」であるとのみ記載されています。
に精通している人ならsolve.QP
、 の正確な定義またはアルゴリズムを教えてくれますsol$value
。そして、それについての私の理解、つまり最適化されたポートフォリオの分散が正しければ、 のsolve.QP
負の値を提供する考えられる理由は何ですかsol$value
?
r - ウェイト制約下でのポートフォリオ最適化
StackOverflow への貢献者からの多くの助けを借りて、シャープ レシオを最大化する 2 資産ポートフォリオの重みを導出する関数をまとめることができました。空売りは許可されず、重みの合計は 1 になります。ここでやりたいことは、資産 A がユーザー定義の重みの 10% を超えないように制限することです。例として、アセット A のウェイトを 54% 以上または 66% 以上 (つまり、60% +/- 10%) に制限したいと考えています。したがって、以下の例では、制約のない (0.243,0.7570) ではなく (0.54,0.66) の重みになります。これは bVect を微調整することで実行できると思いますが、どうすればよいかわかりません。どんな助けでも大歓迎です。