タグ付けされた質問 「mcmc」

マルコフ連鎖モンテカルロ(MCMC)は、定常分布がターゲット分布であるマルコフ連鎖から乱数を生成することにより、ターゲット分布からサンプルを生成するためのメソッドのクラスを指します。MCMCメソッドは通常、乱数を生成するためのより直接的なメソッド(たとえば、反転メソッド)が実行不可能な場合に使用されます。最初のMCMCメソッドはMetropolisアルゴリズムで、後にMetropolis-Hastingsアルゴリズムに変更されました。

5
Metropolis Hastingsアルゴリズム
マルコフ連鎖モンテカルロ法を研究する必要があります。具体的には、メトロポリスヘイスティングスアルゴリズムと、収束基準のようなそれについてすべて研究する必要があります。 簡単な用語を使用してこの議論を説明している本、紙、またはWebサイトを誰が私に処方することができますか?
11 references  mcmc 

2
PyMC初心者:適合モデルから実際にサンプリングする方法
私は非常に単純なモデルを試しています。精度がわかっていると想定し、平均を求めたいだけの場合に法線をフィッティングします。以下のコードは、正常に正しく適合しているようです。しかし、フィッティング後、モデルからサンプリングしたい、つまりdata変数に似た新しいデータを生成したい。trace("mean")平均変数のサンプルを取得するために使用できることを知っています。しかし、どうすればモデル自体から新しいサンプルを取得できますか? 私はドキュメント、例えばhttp://pymc-devs.github.io/pymc/database.html#accessing-sampled-dataを見てきました。鉱山災害などのかなりの数の例と、確率的プログラミングのノートブックからのいくつかも見てきましたが、これについては触れられていません。私(多かれ少なかれMCMCの初心者)は、フィットしたモデルからのサンプリングがポイントであると期待していました!何が欠けていますか? from pymc import * data = np.array([-1, 0, 4, 0, 2, -2, 1, 0, 0, 2, 1, -3, -1, 0, 0, 1, 0, 1]) mean = Uniform("mean", -4, 4) precision = 2.0**-2 obs = Normal("obs", mean, precision, value=data, observed=True) model = Model( {"mean": mean, "obs": obs}) mcmc = …
11 mcmc  pymc 

2
最尤パラメーターは事後分布から逸脱しています
推定したいいくつかのモデルパラメーター与えられた場合、データ確率に対する尤度関数があります。パラメータの平坦な事前分布を仮定すると、尤度は事後確率に比例します。MCMCメソッドを使用して、この確率をサンプリングします。L(d|θ)L(d|θ)\mathcal{L}(d | \theta)dddθ∈RNθ∈RN\theta \in \mathbf{R}^N 結果の収束チェーンを見ると、最尤パラメーターが事後分布と一致していないことがわかります。例えば、パラメータの1つに取り残さ事後確率分布があるかもしれないの値が、最尤点である、MCMCサンプラーが通過するほぼ最大値です。θ0∼N(μ=0,σ2=1)θ0∼N(μ=0,σ2=1)\theta_0 \sim N(\mu=0, \sigma^2=1)θ0θ0\theta_0θML0≈4θ0ML≈4\theta_0^{ML} \approx 4θ0θ0\theta_0 これは実例であり、実際の結果ではありません。実際の分布ははるかに複雑ですが、一部のMLパラメーターは、それぞれの事後分布に同様にありそうもないp値を持っています。一部のパラメーターが制限されていることに注意してください(例:); 境界内では、事前分布は常に均一です。0≤θ1≤10≤θ1≤10 \leq \theta_1 \leq 1 私の質問は: そのような逸脱自体が問題なのでしょうか?明らかに、MLパラメーターが周辺化された事後分布のそれぞれの最大値と正確に一致することは期待していませんが、直感的には、それらが尾の奥にあるはずがないように感じます。この偏差は結果を自動的に無効にしますか? これが必ずしも問題であるかどうかに関係なく、データ分析のある段階で特定の病理の兆候である可能性がありますか?たとえば、このような偏差が不適切に収束したチェーン、不適切なモデル、またはパラメータの過度に厳しい境界によって引き起こされる可能性があるかどうかについて、一般的な説明をすることはできますか?



1
Metropolis-Hastingsアルゴリズムを使用したMCMC:提案の選択
3パラメータ関数の積分を評価するためにシミュレーションを行う必要があります。これは、非常に複雑な式を持つと言います。MCMC法を使用して計算し、Metropolis-Hastingsアルゴリズムを実装してとして分布する値を生成するように求められ、提案分布として3変量正規を使用することが提案されました。それに関するいくつかの例を読んで、いくつかは固定パラメータ法線を使用し、変数平均で使用するものを見ました。ここで、は最後に受け入れられた値ですに従って分配される。私は両方のアプローチについていくつか疑問があります:f N (μ 、σ )N (X 、σ )X fffffffN(μ 、σ)N(μ,σ)N(\mu, \sigma)N(X、σ)N(X,σ)N(X, \sigma)バツXXfff 1)最後に受け入れられた値を提案分布の新しい平均として選択する意味は何ですか?私の直感は、私たちの値がとして分散された値に近くなり、受け入れられる可能性が高くなることを保証するはずだと述べています。しかし、それは私たちのサンプルを集中しすぎていませんか?さらにサンプルを取得すると、チェーンが静止することが保証されますか?fff 2)固定パラメーター(は分析が本当に難しいため)を選択するのは非常に難しく、アルゴリズムを開始するために選択する必要がある最初のサンプルに依存しませんか?この場合、どちらが優れているかを見つけるための最良のアプローチは何でしょうか?fff これらのアプローチの1つは他のアプローチよりも優れていますか、それともケースによって異なりますか? 私の疑問が明確になり、いくつかの文学が提供されたらうれしいと思います(テーマについていくつかの論文を読んだことがありますが、もっと多い方がいいです!) 前もって感謝します!

2
一般化正規分布の提案分布
私は、確率密度関数を持つ一般化された正規分布(wikipediaエントリー)を使用して、植物の分散をモデル化しています。 b2 Γ (1 / B )e− (da)bb2aΓ(1/b)e−(da)b \frac{b}{2a\Gamma(1/b)} e^{-(\frac{d}{a})^b} ここで、は移動距離、はスケールパラメーター、は形状パラメーターです。平均移動距離は、この分布の標準偏差によって与えられます。dddaaabbb a2Γ (3 / b )Γ (1 / b )−−−−−−−−√a2Γ(3/b)Γ(1/b) \sqrt{\frac{a^2 \Gamma(3/b)}{\Gamma(1/b)}} これは、場合は指数関数型、場合はガウス型、場合はレプトリック分布を可能にするため便利です。この分布は、一般的には非常にまれであり、したがって情報を見つけるのが難しいにもかかわらず、植物散布に関する文献で定期的に発生します。b = 1b=1b=1b = 2b=2b=2b &lt; 1b&lt;1b<1 最も興味深いパラメータはと平均分散距離です。bbb 私は推定しようとしていると MCMCを使用して、私はサンプルの提案値への効率的な方法を考え出すのに苦労しています。これまでのところ、私はMetropolis-Hastingsを使用し、および均一分布から描画しました。約200〜400メートルの後方平均分散距離が得られます。これは生物学的に意味があります。ただし、収束は非常に遅く、パラメーター空間全体を調査しているとは思いません。aaabbb0 &lt; a &lt; 4000&lt;a&lt;4000 < a < 400 0 &lt; b &lt; 30&lt;b&lt;3 0 < b<3 とプロポーザル分布をより適切に作成するのは難しいことです。なぜなら、それらは、それ自体にはあまり意味がなく、互いに依存しているためです。平均分散距離は、明確な生物学的な意味を持っていますが、与えられた平均分散距離は無限に多くの組み合わせによって説明できると。このようにとの後方に相関しています。aaabbbaaabbbaaabbb これまでのところ、Metropolis …

1
事後分布の孤立した極大値を処理できるモンテカルロ/ MCMCサンプラーが実装されていますか?
私は現在、複数のODEで構成されるモデルのパラメーターを推定するためにベイジアンアプローチを使用しています。推定するパラメーターが15個あるので、私のサンプリング空間は15次元であり、事後分布を検索したところ、非常に低い確率の大きな領域によって非常に分離された多くの極大値があるようです。 1つのチェーンが1つの極大値から「ジャンプ」し、誤って他の最大値の1つにヒットすることはほとんどないため、これは私のモンテカルロチェーンの混合問題につながります。 この問題を扱った論文を見つけるのは簡単なので(下記参照)、この分野には多くの研究があるようですが、実際の実装を見つけるのは難しいです。私は分子動力学に関連するパッケージのみを見つけましたが、ベイジアン推論は見つけませんでした。(MC)MCサンプラーの実装で、孤立した極大値を処理できるものはありますか? 私のODEモデルが記述されているため、Matlabでの作業を余儀なくされています。Matlabに関する提案は大歓迎です;-)。ただし、他の言語の "キラーアプリ"がある場合は、PIを切り替えて;-)を説得できます。 私は現在、HaarioやLaineなどによって書かれた遅延拒絶/適応モンテカルロサンプラーを使用しています。、それは私がこれまでに見つけた唯一のサンプラーでもあり、標準のMetropolis-Hastingsアルゴリズムよりも洗練されています 注目すべきアプローチは次のようです。 EDIT 2017-Mar-07に更新しました 開始点が異なる複数の類似したチェーン チェーン間の適応。複数の独立したチェーンによって生成されたプールされたサンプルの経験的共分散行列を使用して、チェーンの提案分布の共分散行列を更新します。(1) 焼戻しが異なる複数のチェーン 和らげる: ある種の「温度」が後部の景観を変化させ、鎖の混合が起こりやすくなるようです。(これについてはまだあまり詳しくありません)(1)調整の目的は、事後確率分布によって形成される(高次元の)確率ランドスケープを平坦化することです。これは通常、事後確率を累乗にすることによって達成されます。ここで、事後ランドスケープは平坦化されます(3、p.298)。つまり、状態の事後確率を計算する代わりに、データが与えられると、調整された事後確率が計算されます。T &gt; 1つのp (θ | D )θ D1 / T1/T1/TT&gt; 1T&gt;1T>1P (θ | D )p(θ∣D)p(\theta\mid D)θθ\thetaDDD p(θ∣D)1/T∝(p(D∣θ)⋅p(θ))1/Tp(θ∣D)1/T∝(p(D∣θ)⋅p(θ))1/Tp(\theta\mid D)^{1/T} \propto \left( p(D\mid\theta)\cdot p(\theta)\right)^{1/T} 高いが選択されると、確率ランドスケープのフラットで幅広いピークになります。したがって、値が大きいほど、サンプラーが1つの極大値から別の極大値に切り替わる確率が高くなります。ただし、は、場合に検索される事後分布ではありません 。したがって、その分布のサンプルのチェーンを使用して、後でからのサンプリングを有効にする必要があります。T P (θ | D )1 / T T ≠ 1つのP (θ | D …

1
パレート平滑化重要度サンプリング(PSIS-LOO)の失敗を防ぐ
私は最近、以下の論文で説明されているパレート平滑化重要度サンプリングのリーブワンアウト相互検証(PSIS-LOO)の使用を開始しました。 Vehtari、A.および&Gelman、A.(2015)。パレート平滑化重要度サンプリング。arXivプレプリント(リンク)。 Vehtari、A.、Gelman、A.、およびGabry、J.(2016)。Leave-one-out交差検証とWAICを使用した実用的なベイズモデル評価。arXivプレプリント(リンク) これは、MCMCを1回実行するだけでLOO-CVを実行できるため、サンプル外のモデル評価に対する非常に魅力的なアプローチを表しており、WAICなどの既存の情報基準よりも優れているとされています。 PSIS-LOOには、近似が信頼できるかどうか、つまり、重要度の経験的分布の裾にフィットするパレート分布の推定指数(データポイントごとに1つの重み)によって与えられるかどうかを診断する機能があります。つまり、推定重量場合、悪いことが発生する可能性があります。k^ik^i\hat{k}_ik^i≳0.7k^i≳0.7\hat{k}_i \gtrsim 0.7 悲しいことに、この方法を私の問題に適用したところ、関心のあるモデルの大部分で、\ hat {k} _i \ gg 0.7の大部分が見つかりましたk^i≫0.7k^i≫0.7\hat{k}_i \gg 0.7。当然のことながら、報告されたLOOの対数尤度の一部は、明らかに他のデータセットと比較して無意味でした。ダブルチェックとして、私は従来の(そして時間のかかる)10分割交差検証を実行しましたが、実際に上記のケースでは、PSIS-LOOがひどく間違った結果を与えていたことがわかりました(良い面では、結果は10と非常によく一致しました)すべてのk^i≪0.7k^i≪0.7\hat{k}_i \ll 0.7)のモデルのCVを折りたたみます。参考までに、Aki VehtariによるPSIS-LOOのMATLAB実装を使用しています。 多分私は、この方法を適用する私の現在の最初の問題がPSIS-LOOにとって「困難」であるという点で非常に不運なだけかもしれませんが、このケースは比較的一般的かもしれないと思います。私のような場合、Vehtary、Gelman&Gabryの論文は単に次のように述べています: PSIS推定値に有限の分散がある場合でも、場合、ユーザーは問題のあるについてから直接サンプリングすることを検討する必要があります倍交差を使用します検証、またはより堅牢なモデルを使用します。k^&gt;0.7k^&gt;0.7\hat{k} > 0.7p(θs|y−i)p(θs|y−i)p(\theta^s |y_{−i})iiikkk これらは明白ですが、時間がかかるか、追加の操作が必要であるため、実際には理想的なソリューションではありません(MCMC とモデルの評価はすべて操作に関するものですが、少ないほど優れています)。 PSIS-LOOの失敗を防ぐために事前に適用できる一般的な方法はありますか?暫定的なアイデアはいくつかありますが、人々が採用している実証的な解決策はすでにあるのでしょうか。

1
MCMCでの高い自己相関の管理
私は、RとJAGSを使用したメタ分析のためのやや複雑な階層ベイズモデルを構築しています。ビットを簡略化、モデルの2つの主要なレベルが有する α J = Σ H γ H (J ) + ε J Y I jがあるIこの場合、エンドポイントの目を観察( 、研究における対非GM作物の収量GM)jは、α jは、研究のための効果であるJ、γy私はj= αj+ ϵ私yij=αj+ϵi y_{ij} = \alpha_j + \epsilon_i αj= ∑hγh (j )+ ϵjαj=∑hγh(j)+ϵj\alpha_j = \sum_h \gamma_{h(j)} + \epsilon_jy私はjyijy_{ij}私iijjjαjαj\alpha_jjjjγγ\gammaSは関数の家族によって様々な研究レベルの変数(などの研究が行われた国の経済発展状況、作物種、勉強法、)のための効果インデックス化されている、およびε sがエラー項です。ことを注意γ sがダミー変数の係数はありません。代わりに、さまざまな研究レベルの値に対して異なるγ変数があります。例えば、あるγ D 、E 、V 、E 、L 、O 、P 、I 、N 、G、発展途上国とのためのγ のD 、E のV …

2
バーンイン後のMCMC反復を密度推定に使用できますか?
バーンイン後、ヒストグラムのプロットやカーネル密度推定などによる密度推定にMCMC反復を直接使用できますか?私の懸念は、MCMCの反復が独立しているとは限らないことです。 MCMCの反復にさらに間引きを適用するとどうなるでしょうか。私の懸念は、MCMCの反復がせいぜい無相関であり、まだ独立していないことです。 経験的分布関数を真の分布関数の推定として使用するために私が学んだ根拠は、Glivenko–Cantelliの定理に基づいています。ここで、経験的分布関数はiidサンプルに基づいて計算されます。ヒストグラム、またはカーネル密度推定を密度推定として使用する理由(漸近的な結果?)がいくつかあるように見えましたが、それらを思い出すことはできません。

2
メトロポリス・ヘイスティングスとギブスサンプリングを取り入れた教科書
私はMetropolis-HastingsとGibbsのサンプリングに関してかなり良い実務経験を持っていますが、これらのアルゴリズムについてより良い数学的な理解を得たいと思っています。これらのサンプラーの正確性を証明する優れた教科書や記事は何ですか(より多くのアルゴリズムもすばらしいでしょう)。

3
MCMCを使用して高次元関数の期待値を評価する
私は最適化に関連する研究プロジェクトに取り組んでおり、最近この設定でMCMCを使用することを考えていました。残念ながら、私はMCMCメソッドにかなり慣れていないため、いくつか質問がありました。問題を説明し、質問をすることから始めます。 問題は、コスト関数の期待値を推定することになります。ここで、は、密度次元確率変数です。ω = (ω 1、ω 2、。。。ω H)時間F (ω )c(ω)c(ω)c(\omega)ω=(ω1,ω2,...ωh)ω=(ω1,ω2,...ωh)\omega = (\omega_1,\omega_2,...\omega_h)hhhf(ω)f(ω)f(\omega) 私たちの場合、閉じた形式のバージョンは存在しません。つまり、期待値を近似するにはモンテカルロ法を使用する必要があります。残念ながら、MCまたはQMCメソッドを使用して生成された推定値は、実際の設定で使用するには分散が大きすぎることがわかります。E [ c (ω )]c(ω)c(ω)c(\omega)E[c(ω)]E[c(ω)]E[c(\omega)] 低分散推定を生成するサンプルポイントを生成するために重要度サンプリング分布を使用する必要があったという1つのアイデア。私たちの場合、理想的な重要度のサンプリング分布、ほぼ比例している必要があります。どのように見て定数まで知られている、私は私が提案配布とともにMCMCを使用できるかどうかを疑問に思って、最終的にサンプルを生成するために。g (ω )c (ω )f (ω )g (ω )c (ω )f (ω )g (ω )E[c(ω)]E[c(ω)]E[c(\omega)]g(ω)g(ω)g(\omega)c(ω)f(ω)c(ω)f(ω)c(\omega)f(\omega)g(ω)g(ω)g(\omega)c(ω)f(ω)c(ω)f(ω)c(\omega)f(\omega)g(ω)g(ω)g(\omega) ここに私の質問は次のとおりです。 この設定でMCMCを使用できますか?もしそうなら、どのMCMC法が適切でしょうか?私はMATLABで作業しているので、MATLABが既に実装されているものを優先します。 MCMCのバーンイン期間を短縮するために使用できるテクニックはありますか?そして、どのように私は定常分布に達したことを知ることができますか?この場合、実際には、特定のを計算するのにかなりの時間がかかります。ωc(ω)c(ω)c(\omega)ωω\omega

5
経験的データからランダムな多変量値を生成する
私は、部分的に相関関係のある収益を持ついくつかの資産を評価するためのモンテカルロ関数に取り組んでいます。現在、私は共分散行列をrmvnorm()生成し、R の関数にフィードするだけです(相関ランダム値を生成します)。 ただし、資産のリターンの分布を見ると、通常は分布していません。 これは実際には2つの部分からなる質問です 。1)既知の分布のない実際のデータがある場合に、PDFまたはCDFの種類を推定するにはどうすればよいですか? 2)rmvnormのような相関値をどのように生成できますか?しかし、この未知の(そして非正規の)分布については? ありがとう! 分布が既知の分布に適合していないようです。パラメトリックと仮定してモンテカルロ推定に使用することは非常に危険だと思います。 私が見ることができるある種のブートストラップまたは「経験的なモンテカルロ」方法はありませんか?
10 mcmc  monte-carlo  pdf 

2
JAGSでの打ち切り/切り捨て
JAGSの検閲問題にどのように適合するかについて質問があります。 X値に測定誤差がある2変量混合法線を観察します。観測された打ち切り値の真の基礎となる「手段」をモデル化したいと思います。 ⌈xtrue+ϵ⌉=xobserved ϵ∼N(0,sd=.5)⌈xtrue+ϵ⌉=xobserved ϵ∼N(0,sd=.5)\begin{align*} \lceil x_{true}+\epsilon \rceil = x_{observed} \ \epsilon \sim N(0,sd=.5) \end{align*} これが私が今持っているものです: for (i in 1:n){ x[i,1:2]~dmnorm(mu[z[i],1:2], tau[z[i],1:2,1:2]) z[i]~dcat(prob[ ]) } Yにも測定誤差があります。私がしたいのは次のようなものです: for (i in 1:n){ x_obs[i] ~ dnorm(x_true[i],prec_x)I(x_true[i],) y_obs[i] ~ dnorm(y_true[i],prec_y) c(x_true[i]:y_true[i])~dmnorm(mu[ z [ i ],1:2], tau[z[i],1:2,1:2]) z[i]~dcat(prob[ ]) } #priors for measurement error e_x~dunif(.1,.9) …

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