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

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

1
複雑なモデルを大きなデータセットに繰り返し当てはめるときに計算効率を最適化するにはどうすればよいですか?
MCMCglmmR のパッケージを使用して混合効果モデルを実行すると、パフォーマンスの問題が発生します。コードは次のようになります。 MC1<-MCMCglmm(bull~1,random=~school,data=dt,family="categorical" , prior=list(R=list(V=1,fix=1), G=list(G1=list(V=1, nu=0))) , slice=T, nitt=iter, ,burnin=burn, verbose=F) データには約20,000の観測があり、それらは約200の学校に集中しています。実行する前に、未使用の変数をすべてデータフレームから削除し、他のすべてのオブジェクトをメモリから削除しました。私が抱えている問題は、反復を許容できないほど小さな数に減らしない限り、実行に非常に長い時間がかかることです。50,000回の反復により、5時間かかり、実行する多くの異なるモデルがあります。したがって、コードの実行を高速化する方法、または使用できる他のパッケージがあるかどうかを知りたいと思います。MCMCglmmランダム効果の信頼区間が必要なため、使用しています。 一方で、私は今年後半に新しいPCを手に入れたいと思っていましたが、少し運が良ければそれを前に出すことができるかもしれないので、新しいハードウェアに限られた金額を使うにはどうすればいいですか? 、CPUの高速化など。タスクマネージャーを見ると、RAMが問題であるとは思いません(物理的な使用量の50%を超えることはありません)。 。私の現在のセットアップは、Intel Core i5 2.66GHz、4GB RAM、7200rpm HDDです。追加のRAMを犠牲にして、できるだけ高速なCPUを取得することは合理的ですか?また、このような統計計算の問題に対するレベル3のCPUキャッシュサイズの影響についても疑問に思いましたか? アップデート:たSOメタに尋ねた私は、スーパーユーザーの質問およびポストを修正してくださいすることをお勧めされています。そのためには、MCMCglmmで「内部」で何が行われているかについて、より詳細に説明する必要があります。計算時間の大部分が最適化に費やされていると考えるのは正しいですか?つまり、いくつかの複雑な関数の最大値を見つけるということですか?行列の反転や他の線形代数演算もボトルネックの原因となる一般的な演算ですか?私がスーパーユーザーコミュニティに提供できるその他の情報は、最もありがたいことに受信されます。

2
MCMCは単一の値に収束しますか?
私は、jagsとrjagsパッケージを使用して階層モデルを適合させようとしています。私の結果変数はyです。これは一連のベルヌーイ試行です。すべてのスピーカーはのカテゴリPにおける成功の確率があり、私の分析にPとM.ベース:私は、2つのカテゴリの下で実行されている38人の被験者を持っとのカテゴリMの成功の確率θ P × θ メートルを。:私はまた、いくつかのコミュニティレベルのPとMのためのハイパーパラメータがあることを仮定しているμ Pおよびμ メートル。θpθp\theta_pθp×θmθp×θm\theta_p\times\theta_mμpμp\mu_pμmμm\mu_m だから、すべてのスピーカーのため: とθ メートル〜BのE T (μ メートル × κ メートル、(1 - μ メートル)× κ M)ここで、κ P及びκ Mθp∼beta(μp×κp,(1−μp)×κp)θp∼beta(μp×κp,(1−μp)×κp)\theta_p \sim beta(\mu_p\times\kappa_p, (1-\mu_p)\times\kappa_p)θm∼beta(μm×κm,(1−μm)×κm)θm∼beta(μm×κm,(1−μm)×κm)\theta_m \sim beta(\mu_m\times\kappa_m, (1-\mu_m)\times\kappa_m)κpκp\kappa_pκmκm\kappa_m分布のピークに達したかコントロールが周りにあるおよびμ メートル。μpμp\mu_pμmμm\mu_m また、、μ M〜BのE T (M、BのM)。μp∼beta(Ap,Bp)μp∼beta(Ap,Bp)\mu_p \sim beta(A_p, B_p)μm∼beta(Am,Bm)μm∼beta(Am,Bm)\mu_m \sim beta(A_m, B_m) これが私のジャグモデルです。 model{ ## y = N bernoulli trials ## Each …

2
MCMCメソッド-サンプルの書き込み?
でMCMCの方法、私は約読み続けるburn-in時間やサンプルの数"burn"。これは正確には何ですか?なぜ必要なのですか? 更新: MCMCが安定したら、安定したままですか?burn-in時間の概念は混合時間のそれとどのように関連していますか?
12 sampling  mcmc 

2
詳細なバランスを満たすMCMCは定常分布をもたらしますか?
遷移確率と定常分布πに対して、マルコフ連鎖はq (x | y )π (y )= q (y | x )π (x )、qqqππ\piq(x | y)π(y)= q(y| x)π(x )、q(x|y)π(y)=q(y|x)π(x),q(x|y)\pi(y)=q(y|x)\pi(x), これは、次のように言い換えると、より理にかなっています。 q(x | y)q(y| x)= π(x )π(y)。q(x|y)q(y|x)=π(x)π(y).\frac{q(x|y)}{q(y|x)}= \frac{\pi(x)}{\pi(y)}. 基本的に、状態から状態yへの遷移の確率は、それらの確率密度の比に比例するはずです。バツxxyyy

5
独立変数を標準化すると共線性が低下しますか?
私はベイズ/ MCMCで非常に良いテキストに出くわしました。ITは、独立変数の標準化によってMCMC(メトロポリス)アルゴリズムがより効率的になることを示唆していますが、(マルチ)共線性を低下させる可能性もあります。それは本当ですか?これは私が標準としてやるべきことです(申し訳ありません)。 Kruschke 2011、ベイズデータ分析の実施。(AP) 編集:たとえば > data(longley) > cor.test(longley$Unemployed, longley$Armed.Forces) Pearson's product-moment correlation data: longley$Unemployed and longley$Armed.Forces t = -0.6745, df = 14, p-value = 0.5109 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.6187113 0.3489766 sample estimates: cor -0.1774206 > standardise <- function(x) {(x-mean(x))/sd(x)} …

1
MCMC結果のトレースプロットが必要な理由
私はMCMCメソッドを使用して研究論文を読んでおり、それらのほとんどがトレースプロットを提供しているのがわかります。なぜモンテカルロマルコフチェーンでトレースプロットが必要なのですか?パラメータのトレースプロットは何を示していますか?

2
GibbsはMCMCメソッドをサンプリングしていますか?
私が理解している限り、それは(少なくとも、Wikipediaがそれを定義している方法です)。しかし、私はこの声明をエフロン*が見つけました(強調は追加されました)。 マルコフ連鎖モンテカルロ(MCMC)は、現代のベイジアン統計の大きな成功事例です。MCMCとその姉妹メソッド「ギブスサンプリング」を使用すると、分析式では複雑すぎる状況での事後分布の数値計算が可能になります。 そして今、私は混乱しています。これは用語のわずかな違いですか、それともギブスはMCMC以外のものをサンプリングしていますか? [*]:エフロン2011、「ブートストラップとマルコフチェーンモンテカルロ」
11 mcmc  gibbs 


1
ギブスサンプリングを導出する方法?
他の質問やギブスのサンプリングに関するウィキペディアを参照するのではないかと心配しているので、私は実際にこれを尋ねるのをためらっています。 条件付き確率与えられた場合: p (x | y )y = y 0 y = y 1 x = x 0 1p(x|y)p(x|y)p(x|y)p(x|y)x=x0x=x1y=y01434y=y12646p(x|y)y=y0y=y1x=x01426x=x13446 \begin{array}{c|c|c} p(x|y) & y = y_0 & y = y_1 \\ \hline x = x_0 & \tfrac{1}{4} & \tfrac{2}{6} \\ \hline x = x_1 & \tfrac{3}{4} & \tfrac{4}{6} \\ \end{array} そして、条件付き確率: …
11 sampling  mcmc  gibbs 

1
イジングモデルのギブスサンプリング
宿題の質問: 1次元イジングモデルを考えます。 してみましょう。は-1または+1のいずれかx=(x1,...xd)x=(x1,...xd)x = (x_1,...x_d)xixix_i π(x)∝e∑39i=1xixi+1π(x)∝e∑i=139xixi+1\pi(x) \propto e^{\sum_{i=1}^{39}x_ix_{i+1}} 目標分布からおおよそサンプルを生成するギブスサンプリングアルゴリズムを設計します。π(x)π(x)\pi(x) 私の試み: ベクトルを満たす値(-1または1)をランダムに選択します。したがって、おそらくです。これはです。x=(x1,...x40)x=(x1,...x40)x = (x_1,...x_{40})x=(−1,−1,1,1,1,−1,1,1,...,1)x=(−1,−1,1,1,1,−1,1,1,...,1)x = (-1, -1, 1, 1, 1, -1, 1, 1,...,1)x0x0x^0 したがって、次に進んで最初の反復を行う必要があります。の40の異なるxを個別に描画する必要があります。そう...x1x1x^1 からを描画しx11x11x_1^1π(x1|x02,...,x040)π(x1|x20,...,x400)\pi(x_1 | x_2^0,...,x_{40}^0) からを描画しx12x21x_2^1π(x2|x11,x03,...,x040)π(x2|x11,x30,...,x400)\pi(x_2 | x_1^1, x_3^0,...,x_{40}^0) からを描画しx13x31x_3^1π(x3|x11,x12,x04,...,x040)π(x3|x11,x21,x40,...,x400)\pi(x_3 | x_1^1, x_2^1, x_4^0,...,x_{40}^0) 等.. だから私をつまずかせる部分は、実際に条件付き分布からどのように引き出すかです。どのように遊びに来ますか?たぶん、1つのドローの例は、事を明らかにするでしょう。π(x)∝e∑39i=1xixi+1π(x)∝e∑i=139xixi+1\pi(x) \propto e^{\sum_{i=1}^{39}x_ix_{i+1}}

2
決定木空間とランダムフォレストのMCMCサンプリング
ランダムフォレストはの集まりである決定木ランダムに(そして時にはトレーニングデータを袋詰め)と、各ツリーを構築するためのいくつかの特徴のみを選択することで形成されます。どうやら彼らはよく学び、一般化しています。誰かが決定木空間のMCMCサンプリングを行ったか、ランダムフォレストと比較しましたか?MCMCを実行してすべてのサンプリングされたツリーを保存すると、計算コストが高くなる可能性があることはわかっていますが、計算コストではなく、このモデルの理論的な機能に興味があります。つまり、次のようなものです。 ランダムな決定木を構築します(恐らく恐ろしく実行されます) ようなものでツリーの尤度を計算するか、おそらくP p r i o r(T r e e )を追加します期間。P(Tr e e | D a t a )∝ P(D a t a | Tr e e )P(Tree|Data)αP(Data|Tree)P(Tree|Data) \propto P(Data|Tree)PP R I O R(Tr e e )Ppr私or(Tree)P_{prior}(Tree) ランダムなステップを選択してツリーを変更し、尤度基づいて選択します。P(Tr e e | D A T A )P(Tree|Data)P(Tree|Data) Nステップごとに、現在のツリーのコピーを保存します 大きなN * …

3
動的線形モデルのパラメーターの推定
私は(Rで)私は2つの持っているため、以下の非常に単純な動的な線形モデルを実装したい未知の時間変化のパラメータ(観測誤差の分散と状態誤差の分散ε 2 tで)。ε1tϵt1\epsilon^1_tε2tϵt2\epsilon^2_t Ytθt + 1==θt+ ϵ1tθt+ ϵ2tYt=θt+ϵt1θt+1=θt+ϵt2 \begin{matrix} Y_t & = & \theta_t + \epsilon^1_t\\ \theta_{t+1} & = & \theta_{t}+\epsilon^2_t \end{matrix} 先読みバイアスなしで、各時点でこれらのパラメーターを推定したいと思います。私が理解していることから、MCMC(先読みバイアスを回避するためにローリングウィンドウ上)またはパーティクルフィルター(またはシーケンシャルモンテカルロ-SMC)のいずれかを使用できます。 どちらの方法は、あなたが使用して、 これらの2つの方法の長所と短所は何ですか? おまけの質問:これらの方法では、パラメーターの変更速度をどのように選択しますか?大量のデータを使用してパラメーターを推定することと、少ないデータを使用してパラメーターの変更により迅速に反応することの間に取引があるため、ここに情報を入力する必要があると思いますか?
11 r  mcmc  dlm  particle-filter 

3
MCMCプログラムをデバッグするための標準的なテクニックはありますか?
MCMCプログラムのデバッグは非常に困難です。いくつかの問題が原因で問題が発生します。 (a)アルゴリズムの循環的性質 他のすべてのパラメーターを条件としてパラメーターを繰り返し描画します。したがって、実装が適切に機能していない場合、問題は反復サンプラーのどこにでもある可能性があるため、バグを特定することは困難です。 (b)正解は必ずしもわかっていない。 収束したかどうかを判断する方法はありません。これはある程度、シミュレートされたデータでコードをテストすることで軽減できます。 上記の問題に照らして、MCMCプログラムのデバッグに使用できる標準的な手法があるかどうか疑問に思いました。 編集する 自分のプログラムのデバッグに使用するアプローチを共有したかったのです。もちろん、私はPeterRが述べたすべてのことをします。それらとは別に、シミュレーションデータを使用して次のテストを実行します。 すべてのパラメーターを真の値から開始し、サンプラーが真の値から離れすぎているかどうかを確認します。 反復サンプラーにパラメーターを描画するかどうかを決定するフラグが、反復サンプラーの各パラメーターにあります。たとえば、フラグ「gen_param1」がtrueに設定されている場合、反復サンプラーで完全な条件から「param1」を描画します。これがfalseに設定されている場合、 'param1'はその真の値に設定されます。 サンプラーの作成が完了したら、次のレシピを使用してプログラムをテストします。 1つのパラメーターの生成フラグをtrueに設定し、他のすべてのフラグをfalseに設定して、true値に関して収束を評価します。 最初のパラメーターと組み合わせて別のパラメーターの生成フラグを設定し、再度収束を評価します。 上記の手順は私にとって非常に役に立ちました。
11 mcmc 

2
MCMCサンプラーにJeffreysまたはエントロピーベースの事前分布を使用することに対する推奨事項があるのはなぜですか?
上の彼らのwikiページ、スタン状態の開発者: 私たちが好きではないいくつかの原則:不変性、ジェフリーズ、エントロピー 代わりに、正規の配布に関する推奨事項がたくさんあります。これまでのところ、サンプリングに依存しないベイズ法を使用しており、は、二項尤度の良い選択でした。θ∼Beta(α=12,β=12)θ∼Beta(α=12,β=12)\theta \sim \text{Beta}\left(\alpha=\frac{1}{2},\beta=\frac{1}{2}\right)
11 bayesian  mcmc  prior  pymc  stan 

1
R / mgcv:なぜte()とti()テンソル積が異なる表面を生成するのですか?
のmgcvパッケージにRは、テンソル積の相互作用をフィッティングするための2つの関数がte()ありti()ます。私は2つの作業の基本的な分業を理解しています(非線形の相互作用を当てはめるか、この相互作用を主効果と相互作用に分解するか)。私が理解していないのは、なぜte(x1, x2)、そしてti(x1) + ti(x2) + ti(x1, x2)(わずかに)異なる結果を生成するのかということです。 MWE(から適応?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f + rnorm(n)*0.2 par(mfrow = c(2,2)) # …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 

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