3

R でシミュレートされた最尤推定を実行するための関数を作成しましたが、これは非常にうまく機能します。

ただし、問題は、matlab の fminuc オプティマイザーのように、尤度値の推定と勾配の推定を同時に行うために、optim が同じ関数を呼び出さないことです。したがって、optim が勾配を更新するたびに、指定されたパラメーター ベクトルのシミュレーションを繰り返す必要があります。最後に、optim はパラメーターを更新するために loglik 関数を約 100 回呼び出し、さらに勾配を計算するために loglik 関数を 50 回呼び出しました。

たとえば、推定された尤度値と勾配を各ステップに保存するなど、50 の追加のシミュレーション ステップを回避するための洗練されたソリューションがあるかどうか疑問に思っています。次に、尤度関数が次に呼び出される前に、特定のパラメーター ベクトルの情報が既に利用可能かどうかがチェックされます。これは、optim と loglik 関数の間に追加の関数を挿入することで実行できます。しかし、それはちっぽけなようです。

良いアイデアはありますか?

乾杯、ベン

4

0 に答える 0