یک مزیت بزرگ از استن این است که از طیف وسیعی از تشخیص ها استفاده می کند تا به شما اجازه دهد بسیاری از مشکلات بالقوه را در مورد مدل خود مشاهده کنید - استن محافظه کار است و هشدارهایی را برای هرگونه مشکوک به وجود می آورد. در اینجا ما انواع هشدارها و نکات را طی می کنیم تا به شما در تشخیص و حل مشکلات مدل سازی اساسی کمک کنیم. اگر در تشخیص و حل مشکلات مربوط به مدل خودتان یا اگر در درک یا استفاده از برخی از نکات مشکل دارید ، نگران نباشید ، نگران نباشید ، خوشحال می شوید که از گفتمان استن بپرسید ، ما سعی خواهیم کرد کمک کنیم!
حل مسائل مربوط به مدل سازی به طور کلی سخت است و نیاز به درک برخی از تئوری های احتمالی و همیلتون مونت کارلو دارد ، به درک اصول آمار بیزی و مدل سازی برای منابع کلی تر مراجعه کنید.
برای راهنمایی در مورد هشدارهایی که هنگام تهیه مدل رخ می دهد ، به راهنمای کاربر STAN در مورد خطاها و هشدارها مراجعه کنید.
در بیشتر موارد ، هشدارها در واقع نشان دهنده مشکلات مهم مدل شما است. این بدان معنا نیست که هر بار که هشدار می دهید تخمین های مدل بی معنی است ، اما وقتی هشدارها را می بینید ، نباید به برآوردهای خود اعتماد کنید بدون اینکه ابتدا بفهمید هشدارها به چه معنی است.
با این حال ، در مراحل اولیه یک گردش کار مدل سازی ، ما اغلب نیازی به استنتاج کاملاً قابل اعتماد نداریم ، و یک خلفی تقریباً صحیح می تواند کافی باشد تا به ما اجازه دهیم که آیا مدل با استفاده از چک های پیش بینی خلفی معقول است یا خیر. اگر هشدارها به ندرت اتفاق بیفتد یا تشخیص ها فقط تا حدودی بالاتر از آستانه توصیه شده باشند ، اغلب قبل از بررسی هشدارها به تفصیل ، برخی از چک های بهداشتی خشن را انجام می دهد. این می تواند به جلوگیری از سرمایه گذاری زیادی در مورد اشکال زدایی مدلی که به هر حال به دلیل عدم تناسب با داده ها یا سایر مشکلات مفهومی دور ریخته می شود ، کمک کند.
مثال:
استن با شبیه سازی تکامل یک سیستم همیلتونیا ، از همیلتون مونت کارلو (HMC) برای کشف توزیع هدف - خلفی تعریف شده توسط یک برنامه STAN + داده - استفاده می کند. به منظور تقریب راه حل دقیق پویایی همیلتون ، ما باید یک اندازه پله را انتخاب کنیم که هر بار که سیستم را به جلو تکامل می دهیم ، چقدر حرکت می کنیم. اندازه مرحله وضوح نمونه را کنترل می کند.
برای مشکلات سخت ، انحنای خلفی می تواند بسیار متفاوت باشد و ویژگی های توزیع هدف وجود دارد که برای این وضوح بسیار کوچک است. به عنوان مثال ، اگر چگالی خلفی ورود به سیستم دارای مشتق مداوم در همه جا نباشد ، واگرایی به احتمال زیاد وجود دارد. در نتیجه نمونه این ویژگی ها را از دست می دهد و برآوردهای مغرضانه را باز می گرداند. خوشبختانه ، این عدم تطابق مقیاس به عنوان واگرایی که یک تشخیص عملی را ارائه می دهد ، تجلی می یابد.
در صورت تمایل به استنتاج کاملاً قابل اعتماد ، حتی تعداد کمی از واگرایی پس از گرم کردن نمی توان با خیال راحت نادیده گرفت. اما اگر فقط تعداد کمی از واگرایی دریافت می کنید و مقادیر خوب RHAT و ESS را بدست می آورید ، خلفی حاصل اغلب به اندازه کافی خوب است که به جلو حرکت کند. همچنین مواردی وجود دارد که تعداد کمی از واگرایی بدون هیچ الگویی در مکان های آنها می تواند مهم باشد که بی اهمیت باشد ، اما بدون بررسی دقیق مدل نمی توان با اطمینان فرض کرد.
مطالعه بیشتر در مورد واگرایی: - بحران هویت - بحث در مورد دلایل واگرایی ، تشخیص و درمان.* واگرایی های Taming در مدل های Stan یک شهود کمتر ریاضی اما امیدوارم در دسترس تر در مورد انتقال واگرا باشد.* مقدمه ای مفهومی با همیلتون مونت کارلو
مثال ها:
هشدار اول نشان می دهد که انحراف استاندارد (پارامتر مقیاس) توزیع عادی (در خط 24 در برنامه STAN) 0 است ، اما برای محاسبه مقدار عملکرد چگالی باید برای STAN مثبت باشد.
پیام دوم نشان می دهد که شیب هدف (همانطور که توسط تفاوت اتوماتیک استن محاسبه می شود) بی نهایت است و نشانگر مشکلات عددی در جایی در مدل است اما متأسفانه بدون اطلاعات واضح در مورد دقیقاً کجا.
انواع دیگر این هشدارها وجود دارد. پیامی مانند این لزوماً نشان نمی دهد که مشکلی در مدل شما وجود ندارد ، زیرا ممکن است که حتی در یک مدل صحیح مشخص و به طور کلی با رفتار خوب ، نادرستی عددی گاه به گاه دیده می شود ، به خصوص در هنگام گرم کردن (به عنوان مثال ، پارامتر مقیاس با صفر پایین ترمحدود هنوز هم می تواند از نظر عددی قابل تشخیص باشد). اگر چنین هشدارهایی فقط قبل از اولین تکرار اتفاق بیفتد ، نشانه این است که اولیه سازی مشکل ساز است. در این حالت تغییر مقادیر اولیه می تواند کمک کند اما در صورت عدم هشدارهای بیشتر لازم نیست. هشدارها پس از چند تکرار اول ممکن است نشان دهنده اشکالات یا موضوعات عددی در مدل باشد و اگر استثنائات بارها اتفاق بیفتد ، تحقیقات قطعاً ضروری است.
خواندن بیشتر در مورد دقت عددی قالب نقطه شناور مورد استفاده در محاسبه: - یادداشت های سخنرانی توسط Geyer (2020) "STAT 3701 یادداشت های سخنرانی: حساب های رایانه ای" نمونه هایی از کد را در RAT ارائه می دهد که رایج ترین موضوعات در حسابی با نقطه شناور استگردان ناخواسته به مرز محدودیت.
تشخیص همگرایی R-HAT (گاهی اوقات RHAT) تخمین های بین و درون زنجیره ای را برای پارامترهای مدل و سایر مقادیر مورد علاقه یکپارچه مقایسه می کند. اگر زنجیرها به خوبی مخلوط نشده اند (به طوری که تخمین های بین و درون زنجیره ای موافق نیستند) ، R-HAT بزرگتر از 1 استکلاه کمتر از 1. 01 است. در گردش کار اولیه ، R-HAT زیر 1. 1 اغلب کافی است.
Stan گزارش R-HAT را به عنوان حداکثر رتبه بندی شده رتبه بندی-HAT-HAT و رتبه بندی شده نرمال شده با-SPLIT-R-HAT ، که برای توزیع های ضخیم کار می کند و نسبت به تفاوت در مقیاس نیز حساس است.
High R-Hat به این معنی است که زنجیرها به خوبی مخلوط نشده اند و بنابراین دلیل خوبی برای فکر کردن در مورد آنها وجود ندارد ، زیرا آنها کاملاً نماینده خلفی هستند.
هنگامی که انتقال های واگرا در مدل وجود دارد ، High R-HAT اغلب فقط یکی دیگر از علائم هندسه مشکل ساز است که باعث واگرایی می شود. اگر هشدارهای "حداکثر treedipth" در کنار R-HAT بالا وجود داشته باشد ، معمولاً یک هندسه مشکل ساز خلفی را نشان می دهد که به سختی می توان از آن عبور کرد و اغلب در تلاش برای حل واگرایی ، یک عارضه جانبی در تنظیم Adapt_delta است. کلاه R بالا و بدون هشدارهای دیگر معمولاً با خلفی هایی که دارای چندین حالت جدا شده برای پارامترهای متخلف هستند ، همراه است ، اما همچنین می تواند در خلفی های غیرمعمول با هندسه دشوار ، در صورت همبستگی بالا ، یا در خلفی های نزدیک به نامناسب ایجاد شود.
R-HAT و ESS (به زیر مراجعه کنید) خلاصه های سریع مفید هستند ، اما برای نتایج نهایی ، بررسی خطای استاندارد مونت کارلو برای مقادیر مورد علاقه مفید است و آن را با دانش دامنه از دقت لازم و در صورت مقایسه مقایسه کنید. کم است ، سپس زنجیرهای طولانی تر را اجرا کنید تا نمونه های بیشتری از خلفی بدست آورید.
مطالعه بیشتر در مورد R-HAT:
تقریباً صحبت می کند ، اندازه نمونه مؤثر (ESS) مقدار مورد علاقه ، تعداد قرعه کشی مستقل را شامل می شود که تعداد اطلاعات مشابه نمونه وابسته به دست آمده توسط الگوریتم MCMC را نشان می دهد. هرچه ESS بالاتر باشد بهتر است. استن از تنظیم R-HAT برای استفاده از اطلاعات درون و بین زنجیره ای در محاسبه ESS استفاده می کند. به عنوان مثال ، در صورت توزیع چند حالته با حالت های جدا شده ، این منجر به تخمین ESS می شود که نزدیک به تعداد حالت های مجزا است که یافت می شود.
Bulk-ESS refers to the effective sample size based on the rank normalized draws. This does not directly compute the ESS relevant for computing the mean of the parameter, but instead computes a quantity that is well defined even if the chains do not have finite mean or variance. Overall bulk-ESS estimates the sampling efficiency for location summaries such as mean and median. Often smaller ESS would be sufficient for the desired estimation accuracy, but the estimation of ESS and convergence diagnostics themselves require higher ESS. For final results, we recommend requiring that the bulk-ESS is greater than 100 times the number of chains. For example, when ruing four chains, this corresponds to having a rank-normalized effective sample size of at least 400. In early workflow, ESS >20 اغلب کافی است.
Tail-ESS computes the minimum of the effective sample sizes (ESS) of the 5% and 95% quantiles. Tail-ESS can help diagnose problems due to different scales of the chains and slow mixing in the tails. If one or more chains has no draws below the 5% or above 95% quantiles computed from the all draws, there will be no direct way to assess that those chains are not completely failing, and thus NA (not available) can be reported for tail-ESS. >[Name = Paul] ما اخیراً این خط مشی را در خلفی تغییر دادیم زیرا ثابت در زنجیره ای بیش از حد محافظه کار بود و معلوم شد که NA را به OFT برگرداند
در بیشتر موارد ، ESS فله کم و Ess با HAT R-HAT همراه است و کلیه توصیه های مربوط به RHAT بزرگ اغلب در برخورد با ESS کم مفید است.
R-HAT و ESS خلاصه های سریع مفید هستند ، اما برای نتایج نهایی ، می توان خطای استاندارد مونت کارلو را برای مقادیر مورد علاقه نیز بررسی کرد و آن را با دانش دامنه از دقت مورد نیاز مقایسه کرد و در صورت لزوم از خلفی نمونه برداری کردبشر
خواندن بیشتر در ESS:
هشدارها در مورد ضربه زدن به حداکثر حداکثر ، به اندازه سایر هشدارها جدی نیست. در حالی که انتقال واگرا ، R-HAT بالا و ESS کم نگرانی اعتبار است ، اما ضربه زدن به حداکثر Treedipt یک نگرانی کارآیی است. پیکربندی No-U-Tu-Sampler (نوع HMC مورد استفاده Stan) شامل قرار دادن کلاه بر روی تعداد مراحل شبیه سازی است که در طول هر تکرار ارزیابی می کند (برای جزئیات بیشتر در این مورد ، فصل نمونه برداری همیلتونیان مونت کارلو را در کتابچه راهنمای STAN مشاهده کنید)بشراین از طریق یک پارامتر حداکثر عمق درخت MAX_TREEDEPTH کنترل می شود که در آن حداکثر تعداد مراحل 2^max_treedepth است. با رسیدن به حداکثر عمق درخت مجاز ، نشان می دهد که آجیل ممکن است زودرس خاتمه یابد تا از زمان اجرای بیش از حد طولانی جلوگیری شود.
اگر این تنها هشداری است که شما دریافت می کنید و تشخیص ESS و R-HAT شما خوب است ، احتمالاً نادیده گرفتن این هشدار بی خطر است ، اما پیدا کردن علت اصلی می تواند به یک مدل کارآمدتر منجر شود.
ما به طور کلی توصیه نمی کنیم حداکثر Treedepth. در عمل ، حداکثر حداکثر Treedepth که به دست آمده می تواند نشانه ای از اشتباه مدل باشد ، و افزایش حداکثر Treedepth می تواند منجر به این شود که فقط بیشتر طول بکشد تا مدلی را که نمی خواهید متناسب باشد ، قرار دهد.
مثال:
ممکن است هشدار دهنده ای را ببینید که می گوید تعدادی از زنجیرها دارای BFMI تخمین زده شده بودند که خیلی کم بود. این بدان معنی است که مرحله سازگاری زنجیرهای مارکوف به خوبی ظاهر نمی شود یا خلفی دارای دمهای ضخیم است که در شبیه سازی به خوبی مورد کاوش قرار نگرفته است. مانند سایر هشدارها ، اگر مقدار BFMI فقط کمی پایین تر از آستانه باشد ، خلفی احتمالاً برای بررسی های سلامتری مناسب است اما احتمالاً هنوز هم برای استنتاج نهایی خوب نیست.
توضیحات فنی مختصری از تشخیص را می توان در بخش 6. 1 مقدمه مفهومی برای همیلتون مونت کارلو یافت و یک حساب کاربری کامل در https://arxiv.org/abs/1604. 00695 آورده شده است.
تشخیص مشکلات به عنوان بخشی از گردش کار بزرگتر از ساخت مدل ، آزمایش و انتقاد/ارزیابی بهتر تصور می شود. بلوک های ساختمانی چنین گردش کار در مقاله گردش کار بیزی ما ارائه شده است.
برخی از رویکردها که می تواند برای اکثر انواع هشدارها مفید باشد. این یک راهنمای قطعی نیست و نمی تواند باشد - هر مورد به روش خاص خود مشکل ساز است و هیچ رویکردی وجود ندارد که همیشه کار کند.
اگر از Stan از طریق یک بسته یا رابط سطح بالاتر مانند RSTANARM یا BRMS استفاده می کنید ، گزینه های شما محدودتر است ، اما توصیه های کلی زیر هنوز هم اعمال می شود. علاوه بر این ممکن است بخواهید با مستندات بسته یا کد STAN اساسی مشورت کنید تا درک خوبی در مورد آنچه در زیر کاپوت اتفاق می افتد بدست آورید.
مدل خود را کاهش دهید. کوچکترین / کمترین مدل پیچیده و یک مجموعه داده (ترجیحاً شبیه سازی شده) را پیدا کنید که مشکلات را نشان می دهد. فقط بعد از حل و فصل شما پیچیدگی بیشتری را اضافه کنید یا حداقل همه موارد را با مدل کوچک درک کنید. اگر مدل شما دارای چندین مؤلفه است (به عنوان مثال ، یک پیش بینی کننده خطی برای پارامترها در یک مدل ODE) ، مدل های کوچک را بسازید و تست کنید که در آن هر یک از مؤلفه ها جدا هستند (برای مثال ، یک مدل خطی جداگانه و مدل ODE جداگانه با پارامترهای ثابت). برای رابط های سطح بالاتر ، این معمولاً به معنای از بین بردن شرایط پیش بینی کننده است.
داده های خود را کاهش دهید (اگر بزرگ باشد). تشخیص مدلی که مدت زمان زیادی برای جا دادن و پارامترهای زیادی دارد ، دشوار است ، بنابراین کار با زیر مجموعه مناسب از داده ها می تواند روند را سرعت بخشد. با این حال ، این یک شمشیر دو لبه است زیرا برخی از مشکلات می تواند با نداشتن داده های کافی ایجاد شود ، به ویژه متناسب بودن دامنه ها/رهگیری های مختلف برای کمتر از 3 دسته می تواند در صورت ضعیف بودن Priors مشکل ساز باشد.
از مقدمات قوی تر استفاده کنید. غالباً محاسبات همگرا آهسته است زیرا در تمام فضای پارامتر در حال حرکت است. یک قبلی معقول می تواند با کاهش دامنه عملکرد ، کارها را کنترل کند. از جمله یک قبلی معقول همیشه مشکلات محاسبات را حل نمی کند ، اما اغلب از بدترین مشکلات خلاص می شود.
Visualisations: در R برخی از توطئه های بسیار مفید توسط بسته Bayesplot (به عنوان مثال MCMC_PARCOORD ، MCMC_PAIRS ، MCMC_RANK_OVERLAY) و بسته Shinystan (که یک رابط کاربری گرافیکی تعاملی را فراهم می کند) ارائه شده است. در پایتون و جولیا بسته های Arviz و Arviz. jl عملکرد مشابهی را ارائه می دهند. تجسم متداول ، طرح جفت است که در آن مدل های خوب رفتار شده مجموعه ای از "حباب های گاوسی" را نشان می دهند در حالی که هر الگوی دیگری می تواند مشکلات را نشان دهد. بیشتر خواندن:
اطمینان حاصل کنید که تمام پارامترهای مدل شما به خوبی توسط مدل مطلع هستند. موقعیت های مشکل ساز معمولی زمانی است که تغییرات بزرگ در پارامترها می تواند به چگالی خلفی تقریباً یکسان (به عنوان مثال جداسازی کامل در یک رگرسیون لجستیک) و چندوجهی (بیشینه های محلی چندگانه توزیع های خلفی) منجر شود. بیشتر خواندن:
اگر محاسبات در مرحله گرم کردن بسیار کند باشد، گاهی اوقات می توان با انتخاب مقادیر اولیه معقول تر به جای استفاده از پیش فرض های Stan، که می تواند به قدری پراکنده باشد که برای مدل هایی با هندسه پیچیده، زنجیره ها در نواحی بی اهمیت فضای پارامتر گیر کنند، این مشکل را برطرف کرد..
به طور خاص برای واگرایی / حداکثر عمق درخت:
یک مجموعه داده شبیه سازی شده با مقادیر واقعی شناخته شده همه پارامترها ایجاد کنید. اگر خطاها در داده های شبیه سازی شده ناپدید می شوند و قسمت بعدی بیشتر پارامترهای «درست» شبیه سازی را پوشش می دهد، مدل شما ممکن است برای داده های مشاهده شده واقعی مناسب نباشد. اگر از یک رابط سطح بالاتر استفاده می کنید، نوشتن کد برای شبیه سازی داده ها راهی عالی برای آزمایش اینکه متوجه می شوید مدل واقعاً چه کاری انجام می دهد یا خیر است. بیشتر خواندن:
پارامترها را به بلوک داده منتقل کنید و آنها را روی مقادیر واقعی خود (از داده های شبیه سازی شده) تنظیم کنید. سپس آنها را یک به یک به بلوک پارامترها برگردانید. کدام پارامتر مشکلات را معرفی می کند؟
با استفاده از یک مجموعه داده شبیه سازی شده ، مقدمات محکم را با محوریت مقادیر پارامتر واقعی (شناخته شده از شبیه سازی) معرفی کنید. چقدر به Priors نیاز دارید که اجازه دهید مدل متناسب باشد؟برای شناسایی چند حالته مفید است.
کد خود را بررسی کنید. مشکلات تقریباً به احتمال زیاد نتیجه خطای برنامه نویسی است زیرا آنها یک مسئله واقعاً آماری هستند. این بیشتر برای استثنائات و طرد ها مهم است.
به طور خاص برای استثنائات/طرد ها: به نمونه کمک کنید تا از محدوده فضای پارامتر و عدم دقت عددی جلوگیری کند.
مقدمات آموزنده تری را معرفی کنید. اگر خلفی شما شامل مقادیری است که دلالت بر پیش بینی های کاملاً پوچ (به عنوان مثال 10 متر بلند انسان ، تقریباً صفر اختلاف بین موضوع در بقا ، ...) ، حذف آن توسط یک سخت تر ممکن است مفید باشد.
مقدمات خود را با توزیع خلفی مقایسه کنید. اگر این مدل به شدت در دمهای مقدماتی شما یا در مرزهای محدودیت های پارامتر در حال نمونه برداری است ، این یک علامت بد است ، نشان می دهد که مقدمات شما ممکن است به طور قابل توجهی در نمونه گیری تأثیر بگذارد. در اینجا ، تنظیم مقدمات گسترده تر گاهی اوقات می تواند کمک کند.
مدل خود را دوباره تنظیم کنید. خلفی ایده آل نزدیک به توزیع عادی مستقل در هر پارامتر است زیرا این امر منجر به انحنای ثابت می شود. هرگونه انحراف از این گوشه های تیز ، لبه ها ، لبه ها ، قوطی ها ، شکل موز ، همبستگی های محکم یا سایر بی نظمی ها اهداف بالقوه برای بازپرداخت را نشان می دهد. در تنظیم پیش فرض ، استن به طور خودکار هر پارامتر را با یک عامل ثابت در حین سازگاری نجات می دهد ، بنابراین مقیاس مطلق خلفی معمولاً بسیار مهم نیست. بخش اصلی بازپرداخت تغییر پارامترهای واقعی و محاسبه پارامترهای مورد علاقه خود در بلوک پارامترهای تبدیل شده است. بیشتر خواندن:
به طور خاص برای هشدارهای کم BFMI:
مخصوصاً برای هشدارهای Rhat، ESS، BFMI پایین: ممکن است سعی کنید تعداد دفعات گرم کردن یا نمونه برداری بیشتری را تنظیم کنید. افزایش تعداد تکرارها به ندرت برای رفع واگرایی ها/هشدارهای حداکثر عمق درخت مفید است.
حالت بهینه سازی (حداکثر احتمال جریمه شده) را به جای نمونه برداری (NUTS) اجرا کنید تا بررسی کنید که آیا مقادیر حاصل حداقل تقریباً معقول به نظر می رسند یا نه، سعی کنید دلیل آن را بیابید.
برای آزمایش محاسبات گرادیان، Stan را در حالت تشخیص (test_grad) اجرا کنید. این گاهی اوقات می تواند ناپایداری های عددی را در مدل شما تشخیص دهد.
ممکن است به دیدن اخطارهای زیاد از نرم افزارهای دیگری که استفاده می کنید عادت نداشته باشید، اما این بدان معنا نیست که Stan مشکلات بیشتری نسبت به نرم افزارهای دیگر دارد. تیم توسعه Stan برای اطلاع رسانی به کاربران در مورد هر موضوعی که به طور بالقوه می تواند مهم باشد اولویت بالایی دارد و Stan به جای پنهان کردن آنها از شما، همیشه در مورد مشکلاتی که با آن مواجه می شود به شما اطلاع می دهد.
مزیت بزرگ الگوریتم های مورد استفاده توسط Stan این است که آنها تشخیص های منحصر به فرد خاصی را امکان پذیر می کنند که هنگام استفاده از الگوریتم های دیگر در دسترس نیستند. این می تواند به هشدارهای بیشتری از طرف Stan منجر شود، اما این یک ویژگی است تا یک اشکال. گاهی اوقات زمانی که افراد مدلی را از برخی نرم افزارهای دیگر در Stan مجدداً پیاده سازی می کنند، هشدارهای غیرمنتظره ای دریافت می کنند و بررسی های بیشتر نشان می دهد که مشکل این است که Stan خیلی حساس نیست، بلکه مدل اصلی در واقع مدل قبلی را درست محاسبه نکرده است.
بهترین مکان برای کمک گرفتن از توسعه دهندگان و کاربران Stan در صورتی که در نصب مدل مشکل دارید، بازدید از تالار گفتمان Stan است.
به منظور کاهش هر دو کمک مورد نیاز شما و به ما اجازه می دهد تا در صورت نیاز به بهترین کمک کمک کنیم ، توصیه می شود: * برنامه های Stan را در یک پرونده مستقل با یک پسوند . stan قرار دهید. حتی اگر برخی از رابط های Stan اجازه می دهند مدل را به عنوان یک رشته مشخص کنند ، تعداد خط در پیام های هشدار و خطا فقط در صورت استفاده از یک فایل جداگانه معنی دار است.* با صرفه جویی در مدل و مقادیر اولیه در پرونده ها و دستورات RSTAN (سایر رابط های STAN) در اسکریپت ها ، قابلیت تکرارپذیری را حفظ کنید.* از کنترل نسخه مانند GIT در پرونده ها و اسکریپت های خود استفاده کنید تا سابقه تغییراتی را که ایجاد کرده اید داشته باشید.* شروع ساده! مدل خود را به صورت مراحل بسازید و در هر مرحله متناسب با آن را بررسی کنید ، فقط در صورت عدم وجود پرچم قرمز ، پیچیدگی را اضافه کنید. اگر با نوشتن یک مدل پیچیده شروع کنید ، می توان تشخیص داد که در کجا اشتباه می شود.< Pan> به منظور کاهش میزان کمک مورد نیاز شما و به ما اجازه می دهد تا در صورت نیاز به بهترین کمک کمک کنیم ، توصیه می شود: * برنامه های Stan را در یک پرونده مستقل با یک پسوند . Stan قرار دهید. حتی اگر برخی از رابط های Stan اجازه می دهند مدل را به عنوان یک رشته مشخص کنند ، تعداد خط در پیام های هشدار و خطا فقط در صورت استفاده از یک فایل جداگانه معنی دار است.* با صرفه جویی در مدل و مقادیر اولیه در پرونده ها و دستورات RSTAN (سایر رابط های STAN) در اسکریپت ها ، قابلیت تکرارپذیری را حفظ کنید.* از کنترل نسخه مانند GIT در پرونده ها و اسکریپت های خود استفاده کنید تا سابقه تغییراتی را که ایجاد کرده اید داشته باشید.* شروع ساده! مدل خود را به صورت مراحل بسازید و در هر مرحله متناسب با آن را بررسی کنید ، فقط در صورت عدم وجود پرچم قرمز ، پیچیدگی را اضافه کنید. اگر با نوشتن یک مدل پیچیده شروع کنید ، می توان تشخیص داد که در کجا اتفاق می افتدبه: * برنامه های Stan را در یک پرونده مستقل با یک پسوند . stan قرار دهید. حتی اگر برخی از رابط های Stan اجازه می دهند مدل را به عنوان یک رشته مشخص کنند ، تعداد خط در پیام های هشدار و خطا فقط در صورت استفاده از یک فایل جداگانه معنی دار است.* با صرفه جویی در مدل و مقادیر اولیه در پرونده ها و دستورات RSTAN (سایر رابط های STAN) در اسکریپت ها ، قابلیت تکرارپذیری را حفظ کنید.* از کنترل نسخه مانند GIT در پرونده ها و اسکریپت های خود استفاده کنید تا سابقه تغییراتی را که ایجاد کرده اید داشته باشید.* شروع ساده! مدل خود را به صورت مراحل بسازید و در هر مرحله متناسب با آن را بررسی کنید ، فقط در صورت عدم وجود پرچم قرمز ، پیچیدگی را اضافه کنید. اگر با نوشتن یک مدل پیچیده شروع کنید ، می توان تشخیص داد که در کجا اشتباه می شود.
فارکس حرفه ای...
برچسب :
نویسنده : مرتضی احباب
بازدید : <-PostHit->