問題タブ [rstan]
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.
r - STAN で最尤推定値の標準誤差を取得するにはどうすればよいですか?
私はStanで最尤最適化を使用していますが、残念ながらoptimizing()
関数は標準エラーを報告しません:
推定値 (または信頼区間 - 変位値) の標準誤差と、場合によっては p 値を取得するにはどうすればよいですか?
編集: @Ben Goodrichから親切にアドバイスされました:
しかし、これらの「制約のない」標準誤差は、実際のものとは大きく異なるようですstan()
。
r - スタンにシードを供給しても、同じチェーンが保証されるわけではありません
私は、2 つの非常に同等であるがわずかに異なるモデルの実行時間を比較しようとしていました。しかし、サンプリングされた乱数に基づいて、チェーンには常に非常に異なる時間がかかります。だから私はこれを修正しようとしました に同じseed
パラメータを提供しますstan()
。
同じモデルを2回実行してみました。残念ながら、同じシードであっても、プロセスが同じサンプルを生成するとは限らないことがわかりました! また、両方の実行でのチェーンの実行時間も大きく異なります。
シードがスタンで同じチェーンを保証しない可能性はありますか?
これはどのように保証できますか?
以下のオプションは、Stan (rstan バージョン 2.5.0) を実行するために使用されました。
cluster-computing - クラスターへの rstan のインストール
クラスターに rstan をインストールする場合、ビルドに使用するコアの数をどのように選択する必要がありますか (ドキュメントSys.setenv(MAKEFLAGS = "-j4"
で説明されている行で)。クラスター内の各ノードに 16 個のコアがある場合、値を 16 に設定する意味はありますか? ユーザーが MPI を使用して複数のノードで stan を実行したい場合はどうなりますか? それとも、どのような場合でも値を 4 にしておくのが最も理にかなっているでしょうか。ほとんどの人はとにかく 4 つ以下のチェーンを並行して実行するだけなのでしょうか? この設定に関するアドバイスをいただければ幸いです。
r - 混合パレート モデルと通常スタン モデルが機能しない
rstan を介して Stan を学習しようとしています (R に精通しているため)。シンプルな混合パレート モデルとノーマル モデルを実行してみました。(私が知る限り)正常にコンパイルされますが、サンプリングに失敗し、エラーが発生します:
"(-2, 2) 間の初期化は、100 回試行した後に失敗しました。初期値を指定するか、制約された値の範囲を縮小するか、モデルを再パラメータ化してください。
サンプラーの呼び出し中にエラーが発生しました。サンプリングは行われていません」
パラメーター化するさまざまな方法を試し、初期値を設定しようとしましたが、すべて役に立ちませんでした。
私のR + rstanコードは以下の通りです:
この例は JAGS で問題なく動作し (そのため、JAGS にもタグを付けました)、そのコードを投稿できます。
ちなみに、パレート分布を追加の正規分布に変更すると、正常に動作します (もちろん、ナンセンスな答えが得られます)。
私が間違っていることについての提案は大歓迎です! どういうわけか、スタンではなくJAGSを考えているのではないかと心配していますが、パレートモデルをスタンに当てはめる人々の例を見つけることができなかったので、私のアプローチを相互検証するのは困難でした.
r - Rバージョン3.1.3のRstan?
R のバージョンが新しすぎるため、Rstan を取得できません。
このバージョンの rstan をダウンロードする方法はありますか? rstan を使用するには、R のバージョンをダウングレードする必要がありますか?
r - カテゴリカル予測変数 rstan を表す方法は?
STANで使用するカテゴリ予測子をフォーマットする適切な方法は何ですか? カテゴリー予測子を通常の因子変数として入力できないようです。スタンが受け入れられるように通常のカテゴリー変数を変換する最も簡単な方法は何ですか?
たとえば、継続予測子とカテゴリ予測子があったとします。
次のようになります。
これを に入力するにはどのように準備すればよいrstan
ですか?
r - RでRstanをロードする際の問題
R 用の RStan をインストールしました。インストールは成功したようですが、パッケージをロードして使用すると、Rstan がインストールされていないことを示すエラー メッセージが表示され続けます。
Mac OS.X 10.7.5 を使用しています。最近、R を 3.1.3 にアップグレードし、R-studio をインターフェイスとして使用しています。Rstan のインストールについては、こちらの説明に従いました: https://github.com/stan-dev/rstan/wiki/RStan-Mac-OS-X-Prerequisite-Installation-Instructions
X コードとコマンド ライン ツール (Mac OS.X Lion) を Apple Developer からインストールしました。R が正しくインストールされているかどうかを確認すると、次のメッセージが表示されます。
Stan を R にインストールすると、次のメッセージが表示されます。
次に rstan: を読み込んでみると、Rstanlibrary(rstan)
というパッケージがないというメッセージが表示されます。
Rstan が私のために立候補しない理由を誰かが理解してくれることを願っています。
r - 単純な多変量線形モデルの Rstan コード
Christensen、Johnson、Branscum、および Hanson の Bayesian Ideas and Data Analysis: An Introduction for Scientists and Statisticians のサンプル モデルに適合させるために Rstan を使用しようとしています。著者は WinBUGS を使用しているため、多少の調整が必要です。データはここにあり、WinBUGS コードはこの投稿の最後にコピーされています。これは非常に単純なモデルですが、私は完全な初心者であり、エラーを回避する方法がわかりません。私のスタンコードは次のとおりです。
パーサーは次のエラーをスローします。
(私は思う) モデル ブロックの multi_normal 関数に不適切なデータ型を渡そうとしているとパーサーが言っていることは理解していますが、これがどこから来たのかわかりません。共分散行列の定義で何か間違ったことをしていると思いますが、複数の引数のデータ型が正しくないようです...
Stan コードをモデリングしている WinBUGS コード:
r - Rstudio MCMC の Rstan の実行時間が長すぎる (利用可能な CPU と RAM の使用が制限されている)
私は Rstan の世界の初心者ですが、論文には本当に必要です。私は実際にこのスクリプトと、同様の DS の推定時間を約 18 時間と報告している NYU の担当者からの同様のデータセットを使用しています。ただし、モデルを実行しようとすると、18 時間で 10% を超えることはありません。したがって、私が間違っていることと効率を改善する方法を理解するために、少し助けを求めます。
500 iter、100 のウォームアップ 2 チェーン モデルを 5 つのパラメーターで Bernoulli_logit 関数を使用して実行しています。No U Turn MC 手順でそのうちの 2 つを推定しようとしています。(各ステップで、ランダムな法線から各パラメーターを引き出し、yを推定して実際のデータと比較して、新しいパラメーターがデータにより適しているかどうかを確認します)
(n は約 10mln です) 私のデータは、0 と 1 の 10.000x1004 マトリックスです。まとめると、これはツイッターで政治家をフォローしている人々に関するマトリックスであり、彼らが誰をフォローしているかに基づいて、彼らの政治的考えを推定したいと思います。16 GB RAM を搭載した Win8 Professional、6 ビット、I7 クアッド コアで R x64 3.1.1 を使用して RStudio でモデルを実行します。パフォーマンスを確認すると、rsession は 14% の CPU と 6GB の RAM しか使用していませんが、さらに 7 GB が空いています。10.000x250 マトリックスにサブサンプリングしようとしているときに、代わりに 1.5GB 未満を使用することに気付きました。ただし、50x50 のデータセットで手順を試してみたところ、問題なく動作したので、手順に間違いはありません。Rsession は 8 つのスレッドを開きます。各コアでアクティビティが見られますが、完全に占有されているものはありません。PC が最大限に機能しないのはなぜなのか、ボトルネック、上限、またはそれを妨げる設定があるのではないかと考えています。R は 64 ビット (チェックしたばかり) であるため、Rstan は (インストールに問題があり、いくつかのパラメーターが台無しになっている可能性がありますが) である必要があります。
コンパイルするとこうなる
実行すると何時間も機能しますが、最初のチェーンの10%を超えることはありません(主に、PCが溶けそうになった後に中断したためです)。
そして、この設定があります:
手順を遅くしている原因を見つけるのを手伝ってください(そして、何も起こらない場合、より短い時間で妥当な結果を得るために何を操作できますか?).
よろしくお願いします。
ML
これがモデルです (Pablo Barbera, NYU より)