Slice sampling for multivariate distribution?
3 ビュー (過去 30 日間)
古いコメントを表示
How to write a joint probability density function for the slice sampler? I have 15 dimensions [x1, x2, x3,..., x15] for the PDF, and the first 12 dimensions can be specified by certain bounded uniform priors, and the last 3 dimensions can be specified by Beta(2,20). If I independently slice sample the 13 dimensions, I can use:
Posterior{1} = slicesample(x0(1), nsamples, 'pdf', @(x) unifpdf(x,0,200)); Posterior{2} = slicesample(x0(2), nsamples, 'pdf', @(x) unifpdf(x,-0.1,0.1)); etc. for the first 12 dimensions, where x0 is the set of initial values.
And Posterior{i} = slicesample(x0(i), nsamples, 'pdf', @(x) betapdf(x,2,20)); for the last 3 "Beta" dimensions, where i = 13, 14, 15.
However, I wonder if I can write a joint PDF to draw slice samples from the joint PDF directly. For example, I want 44000 samples. I am just puzzled about how to write the @ function for the PDF using so many dimensions.
0 件のコメント
回答 (1 件)
Piyush Mehta
2019 年 7 月 12 日
Yinan,
I struck with the same problem. Were you were able to figure out solution? I have only twodimensions.
Thank you.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!