Wednesday, August 27, 2008

پیشرفت های متدولوژیک در سیستم داینامیکس

فکر می کنم حامد بود که چند وقت پیش پرسیده بود پیشرفت های متدولوژیک دهه های اخیر سیستم داینامیکس چیست. فکر می کنم بعدش هم موضوع جذابتری پیش آمد یا طبق معمول موبایلش زنگ زد(!) و نتوانستیم موضوع را باز کنیم. اما به نظر تمرین ذهنی خوبی می آید. من تا جایی که الان به ذهنم می رسد می نویسم ولی دوستانی که اطلاعات بهتری دارند تکمیل کنند. ضمن این که من خودم به همه این ها مسلط نیستم.
1- فرآیند مدل سازی
a. مدل سازی گروهی
کارهایی در مورد فرآیند توسعه مدل ها انجام شده است که عموما حول ایده group model building مطرح می شود. مقاله های خیلی زیادی در این باب نوشته شد و فرآیند در شرایط مختلف طراحی و تست شده است و هدف این است که بتوان از یک سری جلسه لوپ های علت و معلولی را استخراج کرد. ایده اولیه آن توسط یک روانشناس اجتماعی که سیستم داینامیکس چندانی هم نمی داند زده شد. هنوز این ایده مخالفان اساسی دارد و شاید بتوان این طور تقسیم بندی کرد که گروه MIT (مثلا ریپنینگ و فارستر) جزء مخالفان هستند و گروه آلبانی (ریچاردسون و اندرسون) مبدع این شیوه و جزء مبلغان آن هستند.
b. فرآیند تبدیل داده کیفی به مدل های دینامیکی
عموما کارهای کیفی اگر همراه با کد کردن "داده" نباشد غیرسیستماتیک محسوب می شود و نتایج شک برانگیز است. به زبان ساده شما اگر بگویید من این تئوری را می گویم برای این که در مصاحبه ها و مشاهده ها این را مشاهده کردم دلیل کافی ای بر ادعا نیست. بلکه باید داده های کیفی خود را به روش های سیستماتیک کد گذاری کنید و نشان بدهید که چنین تم و مفهومی از آن استخراج می شود. این روش ها هم عموما مکتوب است (مثلا روش استراس و کوربن). در سیستم داینامیکس جدیدا روش های کد گذاری پیشنهاد شده است که بتوان از داده های مکتوب مثلا یک صورت جلسه به لوپ های علت و معلولی رسید. دو گروه در حال حاضر روی این مسئله کار می کنند اما چیزی چاپ نشده است.
c. مدیریت مدل سازی
توسعه شیوه هایی که بتوان در آن مدل های بزرگ را به کارهای کوچک برای تیم های مختلف تقسیم کرد و بعد به توان مدل های کوچک را merge کرد و مدل بزرگ ساخت. این کارها محدود و بیشتر تکنولوژی محور است.

2- تحلیل حساسیت
کارهای زیادی در مورد تحلیل حساسیت مدل ها انجام شده و در همین راستا هم نرم افزار "ونسیم" برای حمایت از این ایده ها توسعه داده شده است. با "ونسیم" های dss که بچه های ایرانی از آن بی نصیبند می توان حساسیت مدل به پارمترهای مختلف سنجید و بازه هایی که 50 درصد، 80 درصد، ... مواقع جواب در آن جاست را به راحتی تعیین کرد. کارهای یامان بارلاس در این زمینه مشهور است.

3- کالیبریشن و امپتیمیزیشن
گاهی برخی از پارامترهای موجود در مدل را نمی توان به راحتی کمی کرد. اما در عوض داده های آماری خوبی در مورد تغییرات نهایی رفتار سیستم در حالت های مختلف در دست است. روش های مورد نیاز برای کالیبره کردن مدل در جهت replicate داده ها توسعه داده شده و "ونسیم" قادر به انجام آن هاست. از معروف ها روهلیو در این زمینه کار کرده است. این فعالیت ها به دلیل این که ورود داده های کمی را به مدل های سیستم داینامیکس تسهیل کرده از استقبال خوبی برخوردار شده است. طبیعتا در این قسمت ها به آمار و استفاده از جداول آماری می رسیم.
یک شرکت مشاوره دارویی را می شناسیم که مدلی را فروخته است و در حال حاضر کارش کالیبره کردن پریودیک مدل با استفاده از داده های حاصل از survey های پریودیک است. و پولی به جیب می زند ها!
اضافه بر این روش های bootstrapping برای بهبود مدل ها توسعه داده شده است.

4- تحلیل رفتار
شما پس از شبیه سازی مدل های بزرگ و دیدن نتایج هنوز ممکن است نتوانید بگویید که کدام لوپ در چه بازه زمانی در سیستم dominant بوده است. ایده اصلی "تحلیل رفتار" این است که لوپ های دامیننت را در بازه های مختلف زمانی تشخیص بدهد و به user در توسعه سیاست ها کمک کند. یامان بارلاس و شاگردانش در ترکیه، و محمد مجتهدزاده و باب ابرلاین در این زمینه ها کار کرده اند.

5- ترکیب مدل های agent based و سیستم داینامیکس
مدل های agent based در مقایسه با سیستم داینامیکس مدل های disaggregate محسوب می شوند. شما وقتی می خواهید مسئله شیوع بیماری را مدل کنید برای هر فرد یک متغیر جدا تعریف می کنید. چنین شیوه از مدل سازی زمانی که فرض aggregation در سیستم داینامیکس زیر سوال برود (مثلا رفتار جمعیت شما توزیع عجیبی داشته باشد) جواب بهتری می تواند بدهد. ضمن این که مخاطبنان در مقابله با این گونه مدل ها احساس راحت تری دارند! کارهایی که انجام شده در جهت ترکیب شیوه های مدل سازی، استفاده از لوپ در مدل های agent based، و ... می شود.

6- بهبود مدل سازی ها با مطرح کردن اشکالات مدل های کلاسیک (مثلا نحوه استفاده از نویز در مدل ها)، ایده های جدید در مدل سازی و فرمولاسیون، بهبود امکانات نرم افزاری، توسعه مولکولهای مدل سازی (این ها مدل های کوچکی هستند که افراد به صورت زیاد استفاده می کنند. مثلا هنوز نوشتن فرمول resource allocation در خیلی از موقعیت ها کار سختی است. برای خیلی از این موارد پک های آماده ای وجود دارد)

هر کدام از این ها گروه ها شامل مقالات خیلی زیاد و نظرات متفاوتی است. الان مورد های 1.a، 2 و 3 بیشتر مورد توجه هستند. اضافه بر این ها کارهای زیادی هم در زمینه مشکلات مردم در یادگیری مفاهیمی مثل accumulation و لوپ انجام می شود که من جزء کارهای متدولوژیک نمی گذارم.

اما به هر حال بر شمردن همه این نکات به معنای این نیست که همه در مدل سازی ها از این روش ها استفاده می کنند. فکر می کنم مشابهش در اقتصاد سنجی هم وجود داشت که استاد تست های متعددی را شرح می داد و بعد می گفت البته من ندیده ام که کسی از این تست استفاده کند!

4 comments:

Anonymous said...

سلام نوید داداش
ببخشید تو رو خدا از بس اونور سرمون شلوغه کمتر فرصت پیش میاد اینور بیاییم.
ما شا ا... نیوشا خانم هم به اینجور مباحث خیلی مسلط اند و من که از ایشون دارم حرف یاد میگیرم

Anonymous said...

سلام
آقا چه عجب. بالاخره از سیستم داینامیک نوشتی. راستش من این وبلاگو با نیت خواندن مطالب جدید در مورد سیستم داینامیک سر می زنم.
یه سوالی هم داشتم: اون وبلاگ قبلی ات رو چه جوری میشه به آرشیوش دست پیدا کرد. فکر می کنم مشکل داره.

Anonymous said...

نوید عزیز
خواندن وبلاگت چه بخش هایی که موضوع های عمومی می نویسی چه بخشای سیستم داینامیکی است خیلی برام جالبه.
این پست آخری که خیلی عالی بود. تمام جسته گریخته های ذهنم رو در مورد این زمینه به یه شکل عالی طبقه بندی کرد.

یه ویژگی دیگه که نوشته هات داره که منو سر شوق میاره که برم بیشتر بخونم و مطالعه کنم.

panagulis said...

salam
man donbal e software Beer Game migardam.
shoma mitoonin komaki konin?
M.Baygi87@yahoo.com