ডিরিচলেট বিতরণ থেকে অঙ্কন


25

ধরা যাক আমাদের ডাইমেনশনাল ভেক্টর প্যারামিটার দিয়ে একটি ডিরিচলেট বিতরণ রয়েছে । এই বিতরণ থেকে আমি কীভাবে একটি নমুনা (একটি মাত্রিক ভেক্টর) আঁকতে পারি ? আমার একটি (সম্ভবত) সহজ ব্যাখ্যা দরকার।Kα=[α1,α2,...,αK]K

উত্তর:


25

প্রথমে, স্বতন্ত্র এলোমেলো নমুনা প্রতিটি ঘনত্বের সাথে গামা বিতরণ থেকেy 1 , , y কেKy1,,yK

Gamma(αi,1)=yiαi1eyiΓ(αi),

এবং তারপর সেট

xi=yij=1Kyj.

এখন, একটি ডিরিচলেট বিতরণ অনুসরণ করবেx1,...,xK

Dirichlet বন্টন উইকিপিডিয়ার পৃষ্ঠা আপনি বলে ঠিক কিভাবে Dirichlet বন্টন থেকে নমুনা।

এছাড়াও, Rলাইব্রেরিতে MCMCpackডিরিচলেট বিতরণ থেকে এলোমেলো পরিবর্তনগুলি স্যাম্পল করার জন্য একটি ফাংশন রয়েছে।


2
ডিরিচলেট থেকে এলোমেলো প্রজন্মের জন্য ক্রিয়াকলাপ বাস্তবায়নের জন্য ক্র্যান.আর
টিম

2

একটি সাধারণ পদ্ধতি (সঠিক না হলেও) একটি ডেরিচলেট বিতরণ অঙ্কন করা পোলিয়া পোড়া পরীক্ষার সমতুল্য তা ব্যবহার করে consists (রঙিন বলের সেট থেকে আঁকুন এবং প্রতিবার যখন আপনি কোনও বল আঁকেন, আপনি একই রঙের দ্বিতীয় বল দিয়ে এটি আবার কলকে রেখে দেন)

আপনার ডিরিচলেট প্যারামিটারগুলি বিবেচনা করুন i এর উপরে অস্বাভাবিক বিতরণ হিসাবে।αi

তারপরে:

পুনরাবৃত্তি এন বার

-> বিতরণ ব্যবহার করে একটি আই আঁকুনαi

-> 1 থেকেαi

শেষ পুনরাবৃত্তি

আপনার বিতরণ পেতে সাধারণα

যদি আমি ভুল না হয়, তবে সেই পদ্ধতিটি সংক্ষিপ্তভাবে সঠিক। এন যেহেতু সসীম, তাই আপনি খুব সামান্য পূর্ব সম্ভাব্যতার সাথে কিছু বিতরণ আঁকবেন না (যখন আপনি খুব ছোট ফ্রিকোয়েন্সি সহ তাদের আঁকেন)। আমি অনুমান করি এটি N = K.10 এর সাথে বেশিরভাগ ক্ষেত্রে সন্তুষ্ট হতে পারে।


আমার সন্দেহ হয় এটিই উপায়টি np.random.dirichletবাস্তবায়িত হয়েছে, কারণ এটি নমুনাযুক্ত সম্ভাবনার ভেক্টরগুলিতে সঠিক শূন্য উত্পন্ন করে, যদিও এই ধরনের ভেক্টরগুলি কোনও ডিরিচলেট সমর্থনের সাথে সম্পর্কিত নয়। এটিই এখানে আমাকে পেয়েছে।
এলি করভিগো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.