どちらもパラメーターの制約を許可しnewuoa
ないため、使用できません。uobyqa
から?lmerControl
(強調を追加)
ボックス制約を許可する任意の最小化関数を使用できます。
(1) 入力パラメーター 'fn' (最適化される関数)、'par' (開始パラメーター値)、'lower' (下限)、および 'control' ('control' 引数から渡される制御パラメーター) を受け取ります。
(2) (少なくとも) 要素 'par' (最適なパラメータ)、'fval' (最適な関数値)、'conv' (収束コード、収束が成功した場合はゼロに等しい) および (オプションで) を含むリストを返します。 ) 'メッセージ' (情報メッセージ、または収束失敗の説明)。
b
「bobyqa」の先頭にある は「バインドされた」(制約付きの場合) を表しu
、他のアルゴリズムの は同様に「制約なし」を表すと思います。このファイルをチェックアウトして、同じモデルをさまざまなオプティマイザーで (再) 適合するいくつかの機械を確認できます。
allFit <- system.file("utils", "allFit.R", package="lme4")
file.show(allFit)
上記のファイルに示されているように、ボックス制約を許可し、明示的な勾配関数を指定する必要がない (パッケージ内のほとんどの境界制約付きオプティマイザーに必要)という、私が現在知っているすべてのオプティマイザーのリストは、次のとおりです。optimx
- BOBYQA (
minqa
およびnloptr
パッケージの実装)
- Nelder-Mead (
lme4
、nloptr
、およびdfoptim
パッケージの実装)
nlminb
base R から (Bell Labs PORT ライブラリから)
L-BFGS-B
ベース R からoptimx
(Broyden-Fletcher-Goldfarb-Shanno、Nash 経由) 経由
に組み込まれているこれらに加えて、 のまたは サブプレックス オプティマイザをallFit.R
使用できます。を参照してください。パッケージにはサブプレックスの別の実装があります。他にも見逃しているものがあるかもしれません。COBYLA
nloptr
?nloptwrap
subplex