داغیدن (Burn-in) در MCMC

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

داغیدن (Burn-in)  یک اصطلاح محاوره‌ای بوده که "عمل دور ریختن تعدادی از تکرارها در ابتدای یک اجرای MCMC " را تشریح می‌نماید. مفهوم داغیدن به این موضوع اشاره دارد که " از جایی مانند x شبیه سازی شروع می‌گردد، سپس زنجیر مارکف را برای n مرحله اجرا می‌گردد. از این مقدار، تمامی داده‌ها را دور ریخته می‌شود. این همان دوره داغیدن (Burn-in period) می‌باشد. بعد از داغیدن، با استفاده از هر تکرار در محاسبات MCMC، اجرا به طور طبیعی ادامه می‌یابد.

 در واقع داغیدن به زمانی اشاره دارد، که زنجیر مارکف (MC) به توزیع تعادل (Equilibrium Distribution) خود دست می‌یابد؛ بالاخص این موضوع زمانی مصداق پیدا می‌کند که نقطه شروع نامناسب برای زنجیر انتخاب گردد. برای داغیدن یک زنجیر، \(n\) نمونه‌ی اول را دور ریخته، قبل از اینکه گردآوری نقاط شروع گردد.

نمونه ها با هم همبستگی دارند. حتی برای اجرای طولانی (زیاد)، نمونه ها به طور صحیح از توزیع \(P(x)\) تبعیت کنند؛ یک مجموعه از نمونه های نزدیک به هم، همبستگی دارند و به طور دقیق توزیع مورد نظر را منعکس نمی‌کنند. این بدین معناست که اگر قصدداریم یک مجموعه از نمونه‌های مستقل را داشته باشیم؛ می‌بایست اکثر نمونه‌ها را دور ریخته و تنها هر \(n\) اُمین نمونه را انتخاب می‌کنیم. این مقدار یعنی \(n\)، نوعاً از طریق آزمون خود همبستگی بین نمونه‌های مجاور بدست می‌آید. خودهمبستگی با افزایش پنهای جهش (Jumping Width) یعنی متوسط اندازه یک جهش، کاهش می‌یابد. اندازه‌ی پرش خیلی کوچک و یا خیلی بزرگ به یک مجموعه با همبستگی بالا منجر می‌گردد. از این رو یک تعداد خیلی زیاد از نمونه ها نیاز می باشد تا بتوان یک تخمین منطقی از خاصیت مورد نظر از توزیع را بدست آورد.

برای هر یک از اقدام های داغیدن و حذف خود همبستگی به ترتیب زیر در R اقدام می‌کنیم:

فرض کنید نمونه‌ها در نرم افزار R در بردار Y ذخیره شده است. و همچنین فرض کنید که عدد داغیدن برابر Burn می‌باشد. بر این اساس نمونه تصحیح شده بعد از داغیدن برابر

YBurn<-Y[-(1:Burn)]

می‌باشد. همچنین در صورتی که در نمونه جدید یعنی YBurn بخواهیم نمونه‌گیری سیستماتیک انجام دهیم؛ به طوری که هر نمونه در جایگاه \(n\) اُم برابر 20 انتخاب کنیم آنگاه از  هر یک از سه رابطه‌ی زیر استفاده می گردد:

 

 Ycorrected<-YBurn[rep(c(rep(F,19),T),trunc(length(YBurn)/20))]

 Ycorrected<-YBurn[1:(trunc(length(YBurn)/20))*20]

 Ycorrected<-YBurn[seq(20,(trunc(length(YBurn)/20))*20),by=20]

 

Tags: نرم افزارهای آماری مقالات رایگان

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید

دفاتر ما

تماس با ما آمادگی داریم تا با شبکه ای از همکاران و مشاوران در هر یک از شهرهای بزرگ (تهران-اصفهان-مشهد-زنجان-... )در کنار شما باشیم 

 با ما در تماس باشید

نظر کاربران

  • مهدی یار

    با تشکر از تمامی زحمات دست اندرکارن و زحمت کشان، برای همگی آرزوی سلامتی و بهروزی دارم
  • پری کرمی

    به کارهای خوبتون ادامه بدید. لطفا برای ارسال مطالب و درج اون قسمتی را تعبیه کنید
  • فاطمه بهرامی

    آقای تازیکه امیدوارم در کار خود موفق و پیروز باشد.
  • 1
  • 2
  • 3

آخرین نظرات

  • سلام خسته نباشید من فیلم اموزشی نرمافزار ایزی فیت رو خیلی ...

    ادامه مطلب ..و

     
  • احسنت بر شما. آموزش بسیار خوبی بود. * نتیجه گیری: مطابق نتایج ...

    ادامه مطلب ..و

آمار سایت