গিবস স্যাম্পলিংয়ে পূর্ণ শর্তাদি কোথা থেকে আসে?


15

মেট্রোপলিস-হেস্টিংস এবং গিবস স্যাম্পলিংয়ের মতো এমসিসিএমের অ্যালগরিদমগুলি যৌথ উত্তরোত্তর বিতরণগুলি থেকে নমুনার উপায়।

আমি মনে করি যে আমি মহানগর-হেসিংকে খুব সহজেই বুঝতে পেরেছি এবং বাস্তবায়ন করতে পারি - আপনি সহজভাবে কোনওভাবে প্রারম্ভিক পয়েন্টগুলি বেছে নিন এবং এলোমেলোভাবে 'প্যারামিটার স্পেসে চলুন', উত্তরের ঘনত্ব এবং প্রস্তাবের ঘনত্ব দ্বারা পরিচালিত। গিবস স্যাম্পলিংটি খুব অনুরূপ তবে আরও কার্যকর বলে মনে হচ্ছে যেহেতু এটি একবারে কেবলমাত্র একটি পরামিতি আপডেট করে অন্যকে ধ্রুবক হিসাবে ধরে রাখে, কার্যকরভাবে একটি অর্থোগোনাল ফ্যাশনে স্পেস চালিয়ে যায়।

এটি করার জন্য, আপনার * থেকে বিশ্লেষণী প্রতিটি প্যারামিটারের সম্পূর্ণ শর্তসাপেক্ষ দরকার। কিন্তু এই পূর্ণ শর্তাবলী কোথা থেকে আসে?

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
ডিনোমিনেটর পেতে আপনাকেউপরযৌথকেপ্রান্তিক করা দরকারx1। এটি অনেকগুলি পরামিতি বিশ্লেষণাত্মকভাবে করার মতো পুরো কাজের মতো মনে হয়, এবং যৌথ বিতরণ খুব 'সুন্দর' না হলে ট্র্যাকটেবল হতে পারে না। আমি বুঝতে পারি যে আপনি যদি পুরো মডেল জুড়ে সংযোগ ব্যবহার করেন তবে সম্পূর্ণ শর্তাদি সহজ হতে পারে তবে আরও সাধারণ পরিস্থিতির জন্য আরও ভাল উপায় হতে পারে।

গীবস স্যাম্পলিংয়ের সমস্ত উদাহরণ আমি অনলাইনে খেলনা উদাহরণগুলি দেখেছি (যেমন একটি মাল্টিভারিয়েট নরমাল থেকে স্যাম্পলিং, যেখানে শর্তাবলী কেবল নিজেরাই স্বাভাবিক থাকে), এবং এই সমস্যাটিকে ফাঁস করে দেয় বলে মনে হয়।

* Or do you need the full conditionals in analytical form at all? How do programs like winBUGS do it?


1
Gibbs sampling is usually less efficient than Metropolis-Hastings because it goes one dimension at a time...
Xi'an

Gibbs sampling is more efficient at each individual step, but may need an awful lot more steps to converge -- and end up less efficient for a good overall result.
Lutz Prechelt

উত্তর:


7

Yes, you are right, the conditional distribution needs to be found analytically, but I think there are lots of examples where the full conditional distribution is easy to find, and has a far simpler form than the joint distribution.

The intuition for this is as follows, in most "realistic" joint distributions P(X1,,Xn), most of the Xi's are generally conditionally independent of most of the other random variables. That is to say, some of the variables have local interactions, say Xi depends on Xi1 and Xi+1, but doesn't interact with everything, hence the conditional distributions should simplify significantly as Pr(Xi|X1,,Xi)=Pr(Xi|Xi1,Xi+1)


To add to this answer, you need not marginalize the other variables as originally stated in the question. All you need to do is to 're-organize' Pr(Xi|Xi1,Xi+1) such that you recognize the result as a known pdf and you are done. As long as you are able to re-organize the above everything else (i.e., all other constants, the integral in the denominator etc) will equal the appropriate constant for the pdf to integrate to 1.

3
They don't need to be found analytically. All full conditionals are proportional to the joint distribution, for instance. And that's all that's needed for Metropolis-Hastings.
Tristan

1
@Tristan of course. I am, however, talking about gibbs sampling.
gabgoh

1
They don't need to be found analytically for Gibbs Sampling. You just need to be able to sample, somehow, from the conditional; whether you can write down how to do this in a pretty analytic statement is not relevant.
guest

1
Actually, there is no need for an analytic full conditional: all that is required for Gibbs sampling to be implemented is the ability to simulate from the full conditionals.
Xi'an

11

I think you've missed the main advantage of algorithms like of Metropolis-Hastings. For Gibbs sampling, you will need to sample from the full conditionals. You are right, that is rarely easy to do. The main advantage of Metropolis-Hastings algorithms is that you can still sample one parameter at a time, but you only need to know the full conditionals up to proportionality. This is because the denominators cancel in the acceptance criteria function

The unnormalized full conditionals are often available. For instance, in your example P(x1|x2,...,xn)P(x1,...,xn), which you have. You don't need to do any integrals analytically. In most applications, a lot more will likely cancel too.

Programs like WinBugs/Jags typically take Metropolis-Hastings or slice sampling steps that only require the conditionals up to proportionality. These are easily available from the DAG. Given conjugacy, they also sometimes take straight Gibbs steps or fancy block stops.


1
Hey, thanks! I think that point about not needing the norming constant for metropolis-hastings is exactly the information I needed to make sense of all of this. I think, because the GS in WinBUGS stands for gibbs sampling, I was under the impression that gibbs superseded M-H and that the software was using gibbs exclusively.
cespinoza

3
The term Gibbs sampling is often used to imply that you sample one parameter at a time, even if you don't use the original idea of sampling directly from the full conditionals. All the software samples individual parameters or blocks of parameters in sequence, but the actual step type varies a lot depending on what works best.
Tristan

2
Almost whenever you can implement Gibbs, you can also implement Metropolis-Hastings alternatives. Higher efficiency comes from mixing both approaches.
Xi'an

This should imho be the accepted answer.
NoBackingDown
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.