Rでの特別な混合モデルのあてはめ-optim()の代替


8

Rで、SASのproc混合を使用して(STATA esでうまく実行する方法がいくつかあります)、つまりReitsma et al(2005)のいわゆる二変量モデルに適合するように、SASで実行できることをしたいと思います。このモデルは、分散がスタディに依存する特別な混合モデルです(以下を参照)。モデルを熟知している何人かの人々とグーグルして話をしても、同時に高速で簡単なアプローチ(つまり、優れた高レベルのモデルフィッティング関数)が得られませんでした。それにもかかわらず、Rには、高速で構築できる何かが存在します。

一言で言えば、次のような状況に直面しています。 (p1,p2)[01]2二変量法線をロジット変換されたペアに当てはめたいと考えています。比率は2x2テーブル(つまり、2項データ)から取得されるため、各ロジット変換された観測比率には、当てはめプロセスに含まれるべき分散推定値があります。s1s2。したがって、共分散行列がペアである2変量正規分布を当てはめたいとします。Σ 観察に依存する、すなわち

ロジットp1ロジットp2Nメートルあなた1メートルあなた2Σ+S

ここで、Sは次の対角行列です。 s1s2完全にデータに依存しますが、観測ごとに異なります。muとSigmaはすべての観測で同じです。

現在、optim()(BFGSを使用して)を呼び出して5つのパラメータを推定しています(μ1μ2、および3つのパラメータ Σ)。それにもかかわらず、これは非常に遅く、特にシミュレーションには適していません。また、私の目的の1つは、後でmuの回帰係数を導入し、パラメーターの数を増やすことです。

開始値を指定してフィッティングを高速化してみました。また、5つのパラメーターの勾配の計算についても考えました。の追加により可能性が非常に複雑になるためS、私はこの方法でエラーを導入するリスクが大きすぎると感じ、まだそれを試みなかったし、自分の計算をチェックする方法も見ていませんでした。

勾配の計算は通常価値がありますか?それらをどのようにチェックしますか?

私は以外にも他のオプティマイザを知っています。optim()つまりnlm()、CRANタスクビュー:最適化についても知っています。どれが試してみる価値がありますか?

optim()精度を落とす以外に、スピードアップのためにどんなトリックがありますか?

どんなヒントにも感謝します。



この質問への回答が役立つ場合があります。stats.stackexchange.com
Jason Morgan

@mbq:質問を移行していただきありがとうございます。また、他の質問をほのめかしていただきありがとうございます。
フィリップ2011

回答:


1

これはおそらくあなたが予想した解決策ではありませんが、このモデルをbrms(つまり、Stanへのインターフェースとして)に適合させることができると思います。これは、「分散モデル」と呼ばれるものです... https://cran.r-を参照してくださいproject.org/web/packages/brms/vignettes/brms_distreg.html

二項モデルを近似する方法を示す、ここの概要ビネットも参照してください。https://cran.r-project.org/web/packages/brms/vignettes/brms_overview.pdf

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.