روش شبيه سازي بوت استرپ (بازنمونه گيري)
موضوع : آشنایی با نمونه گیری BOOTSTRAP
تهیه کننده : محمد ابراهیم جعفری
استاد راهنما:استاد پاک گوهر
مقدمه:
Bootstrapروشی ساده اما درعین حال قوی ازروش نمونه گیری montecarlo است که برای تعیین دقت آماری یابرآوردکردن توزیع ازروی آماره های نمونه است.
دراینجا مقدماتی دررابطه با موضوعاتی مانند اینکه :Bootstrap چیست؟وهمچنین روش های عملی انجام گام به گام Bootstrap با استفاده از برنامه های ساده اکسل را بیان می کنیم.باید یادآورشویم که روش bootstrap روشی گول زننده وغیرعلمی نیست بلکه درحقیقت یک روش علمی مفید است.
Bootstrap چیست؟Bootstrap نمونه گیری ای است که با تبدیل از یک نمونه به دست می آید. یا به عبارت دیگرBootstrap نمونه گیری ای است درون یک نمونه.روش Bootstrap با تکیه بر نمونه شخصی انجام می شود که اغلب ،آن نمونه شخصی تنها منبعی است که یک محقق برای تحقیق دارد واین براهمیت روش Bootstrao می افزاید.
اصل برابری Bootstrap این را بیان می کند که برآوردگر نمونه گرفته شده با روش Bootstrap برابر است با برآورد نمونه اصلی.کلیات روش Bootstrap درنمودار زیر نشان داده شده است
فرض کنید شما می خواهید دقت آماری داده های نمونه خود را( آماره های نمونه ) تعیین کنید،شما می توانیدN تا نمونه Bootstrap را گرفته(که به آن بازنمونه گیری نیز می گویند) و آماره های هرنمونه را حساب کنید.مقادیر آماره های نمونه Bootstrap برای ارزیابی دقت آماره های نمونه اصلی استفاده می شود.
روش Bootstrap دارای دو پیش فرض است:
1-نمونه شما نمونه معتبری از جمعیت است.
2-Bootstrap نمونه ای را با جایگزینی از نمونه اصلی خواهد گرفت به طوری که هر نمونه گرفته شده با این روش مستقل ولی دارای توزیع برابرند.به عبارت دیگر نمونه های گرفته شده با روش Bootstrap دارای توزیع جمعیت برابرند ولی هر نمونه مستقل از نمونه های دیگر است.
مثال هایی از کاربرد Bootstrap:
در اینجا مثال هایی از نمونه مسائلی که شما می توانید با روش Bootstrap آنها را حل کنید آورده شده:
1-فرض کنید شما تعدادی داده نمونه دارید اما نمونه شما آنقدر کوچک است که شما نمی توانید درباره توزیع نمونه تان با اطمینان سخن بگویید ودر نتیجه شما نمی توانید دامنه میان چارکی ویاواریانس ویا دیگر پارامتر های جمعیت تان را برآورد کنید.
2-شما دو نمونه که توزیع آن ها ناشناخته است به نام های Yو X دارید و می خواهید توزیع نسبت Z=X/Y را بشناسید وبعضی از آماره های مفید Z مانند میانگین و انحراف معیار را نیز بشناسید.
3-شما دو نمونه AوB دارید و می خواهید امتحان کنید که آیا آن ها از جمعیت یکسان هستند یا نه ؟
4-شما مدل رگرسیونی Y=a+bX دارید و می خواهید یک فاصله اطمینان برای پارامترهای aوb بدست آورید.
راهنمای روش Bootstrao:
همانطورکه درمقدمه آمدروش نمونه گیری Bootstrap نمونه گیری با جایگذاری است.اما چگونه باید آن را انجام داد؟
فرض کنیدنمونه شما فقط شامل 5 مشاهده است.شما مشاهدات خود را برروی 5 توپ با نام های:AوBوCوDوE کدگذاری می کنید.هر5 توپ را درون سبد گذاشته،سپس از این 5 توپ به طور تصادفی یک توپ را از سبد بیرون می آورید و نام آن را ثبت می کنید.بعد از این که نام آن توپ را ثبت کردید،توپ را به درون سبد بر می گردانید.شما باید حتما آن توپ را قبل از بیرون آوردن تصادفی توپ دیگری به درون سبد برگردانید.
این همان نمونه گیری با جایگذاری است.حال کاربیرون آوردن تصادفی توپ ها و برگرداندن آن ها به سبد و ثبت نام آن ها را صدبار تکرار کنید.برچسب های ثبت شده ، که صد برچسب می باشد را نمونه Bootstrap می نامند.
مشاهدات ثبت شده شما ممکن است به شکل زیر باشد:
.......A،B،C،C،D،E،E،D........
توجه داشته باشید،به علت اینکه شما توپ ها را با جایگذاری بیرون می آورید،نمونه گیری Bootstrap مکررا تکرار خواهد شد.این بود کلیاتی راجع به روش Bootstrap .
روش نمونه گیری Bootstrap با نرم افزار اکسل:
فرض کنید ما 30 داده نمونه اصلی داریم که از یک مشاهده،آزمایش یا پرسشنامه گرفتیم.همانطور که در شکل زیر می بینید این داده ها را در چند سطرقرار می دهیم
بعد به شکل زیر عمل می کنیم:
1-ناحیه نمونه اصلی را انتخاب کرده وسپس از منوی insert ،name و ازname ،define راانتخاب کرده وسپس Sample را برای نمونه اصلی می نویسیم و سپس برروی دکمه OK کلیک می کنیم.
2-دریکی از سلول های زیر نمونه اصلی مثل B10 می نویسیم:
=INDEX(Sample,Rows(Sample)*RAND()+1,Columns(Sample)*RAND()+1)
کلمه Sample در فرمول بالا به نام معین شده برای نمونه اصلی در مرحله 1 اشاره می کند.
این یک نمونه گیری تصادفی با جایگذاری (بازنمونه گیری) از نمونه اصلی است.ما اولین نمونه تصادفی Bootstrap راساخته ایم.
3-سلولB10 را به سلول های B10 تاK210 کپی می کنیم(یا هرمقداردیگری که می خواهید).به این ترتیب به یک نمونه بزرگ Bootstrap می رسیم.اگر ما هرسطر را به تنهایی به عنوان یک نمونه در نظر بگیریم آنگاه ما به همین سادگی دارای 201 نمونه که هر نمونه شامل 10 داده است،هستیم.
4-مرحله نهایی تخمین زدن آماره های Bootstrap است.شما می توانید آماره های مورد نظر خود را استخراج کنید.
ما در اینجا فقط میانگین،میانه،دامنه میان چارکی وانحراف استاندارد را می آوریم.
برای این کارروبروی نمونه Bootstrap در یک سلول خالی به صورت زیرعمل می کنیم:
1-برای به دست آوردن میانگین می نویسیم(درسلولL10):=AVERAGE(B10:K10)
2-برای به دست آوردن میانه می نویسیم(درسلولM10):=MEDIAN(B10:K10)
3-برای به دست آوردن دامنه میان چارکی می نویسیم(درسلولN10):=QUARTILE(B10:K10)
4-و بالاخره برای به دست آوردن انحراف استاندارد می نویسیم(درسلولO10):=STDEV(B10:K10)
وسپس آماره های بالا را به دیگرسطرهای نمونه Bootstrap کپی می کنیم.
مراحل ساخت نمونه Bootstrap رادر شکل های زیر مشاهده می کنید:
فاصله اطمینان در نمونه گیری Bootstrap :برای رسیدن به فاصله اطمینان(1-2a) درصدی برای یک آماره Bootstrap به روش زیر عمل می کنیم:
Cl=[(N(1-a))*,(Na)*]
که در آن (N(1-a))* معرف (N(1-a)) امین مقدار است.
دراکسل برای به دست آوردن K امین مقدار بعد از مرتب کردن داده ها ،از تابع SMALL استفاده می کنیم.
به خاطر داشته باشید که در فرمول بالا توزیع نمونه ضرورتاّ توزیع نرمال نیست.
شما نمی توانیدبرای به دست آوردن فاصله اطمینان برای a ی مساوی .05 از فرمولcl=[X+1.6456] استفاده کنید زیرا این فرمول برای توزیع نرمال است و تنها اگر داده های شما از توزیع نرمال آمده باشند آنوقت دو فرمول بالا تقریباّ برابر می شوند.
نمودار توزیع فراوانی:
برای رسم نمودار ما می توانیم دسته هایی را ساخته و فراوانی هر دسته را به دست آوریم.برای مثال این کار را برای آماره میانگین نمونهBootstrap انجام می دهیم.نظر به اینکه داده های نمونه بین صفر و صد هستند ما ده دسته درست می کنیم.فرض کنید ما مقادیر معرف هر دسته را در سلول های R10 تا R19 قرار دهیم ومیانگین های دسته های مختلف نمونه در سلول های M10 تا M210 باشند،برای رسم نمودار توزیع فراوانی برای میانگین به صورت زیر عمل می کنیم:
1-می نویسیم(در سلول S10): =Frequency(M10:M210;R10:R19)
2-زمانی که نشانگر موس در سلول S10 است،ناحیه S10 تا S19 را به وسیله موس انتخاب می کنیم.
3-کلید F2 را فشار می دهیم.جدولی مانند شکل زیر را مشاهده می کنید:
4-کلید های CTRL-SHIFT وENTER را با هم فشار می دهیم و به این وسیله به فراوانی هر دسته می رسیم:
5-حالا می توانیم فراوانی های دسته ها را با هم جمع کرده و سپس احتمال متناسب هر دسته را تخمین بزنیم وبعد نمودار دسته ها و احتمال ها را رسم کنیم مانند شکل زیر:
شما فقط مطابق نمونه خود می توانید پارامترها را برآورد کنید.به طور مثال در اینجا برآوردگر آماری میانگین نمونه است. با استفاده از نمونه گیری Bootstrap شما می توانید علاوه بر برآورد آماری پارامترها، توزیع برآوردگر وآماره هایی مانند فاصله اطمینان، واریانس وغیره را نیز بشناسید.
نمونه و جمعیت چیست؟
وقتی ما چیزهایی را اندازه می گیریم وداده های خود را به دست می آوریم،آنچه ما به دست آورده ایم را نمونه ای از کل جمعیت داده ها می گویند.به طور مثال شما پرسشنامه ای راجع به محصول یک شرکت دارید ودرآن سؤالات زیادی را طرح کرده اید ،به خصوص اینکه آیا مردم علاقه ای به خرید محصول جدید دارند یا نه؟.اگر شما بتوانید پرسشنامه خود رادر بین تمامی شهروندان شهر پخش کنید،وهمه آنها به سؤالات شما پاسخ دهند،آنگاه شما به جمعیت دست پیدا کرده اید.اما در واقع پاسخ دادن میلیون ها نفرازمردم به پرسشنامه ها کاری عملی نیست.
آنچه شما می توانید انجام دهید این است که چند نمونه تصادفی از صد،یا هزار نفرازافراد جامعه بگیرید با این فرض که نمونه شما تصویر معتبری ازکل جمعیت را نشان دهد.با استفاده از نمونه ای که گرفته اید شما می توانید مقادیر واقعی جمعیت را برآورد کنید.
چه چیزهایی را می توان ازتوزیع فراوانی به دست آورد؟
یکی از چیزهایی که شما مایلید از نمونه تان به دست آورید ،توزیع نمونه است.چون نمونه شما نماینده جمعیت است، بنابراین توزیع نمونه جمعیت را توصیف می کند.این روش تخمین را آماراستنباطی می گویند.
ازتوزیع نمونه موارد زیر را می توان به دست آورد:
1-آماره ای برای تخمین جزئیات نمونه (وهمچنین جامعه)
2-فاصله اطمینان
3-آزمون فرض
جزئیات آماری هر کدام از آماره هایی مانند مجموع داده ها،معیارهای گرایش به مرکز مانند میانگین،میانه ومد ویا معیارهای پراکندگی مانند دامنه میان چارکی،واریانس،دامنه وانحراف استاندارد ویا بعضی نسبت ها مانند ضریب تغییرات و غیره را شامل می شود.
فاصله اطمینان به فاصله ای اطلاق می شود که با احتمال بالا جزئیات آماری (که دربالا تعریف شد)را دربرمی گیرد.
به طور مثال شما می توانید بگویید که فاصله اطمینان شما برای یک آماره بین 37.5 و38.5 ،البته با درجه ای از خطا که غیرقابل گریز و لازمه شانس تصادفی است می باشد.
همچنین شما می توانید بعضی از فرض های آماری،مثل این که میانگین یک نمونه برابر یا کمتر از مقداری خاص است یا نه ویا این که دو نمونه از جمعیت یکسان آمده اند یا نه را امتحان کنید.
حالت ناپارامتری Bootstrap
مشکل هنگامی به وجود می آید که شما توزیع جمعیت را نشناسید.اگر نمونه شما خیلی کوچک باشد،به طوری که شما نتوانید توزیع نمونه تان را با بعضی از توزیع های علمی تطبیق دهید،اغلب برای سادگی توزیع جمعیت را تحت توزیع نرمال فرض می کنند.چه موقع این فرض ممکن است درست نباشد؟آیا می توان توزیع را از نمونه ای که توزیع جمعیت آن ناشناخته است برآورد کرد؟جواب این سؤال مثبت است.چند آزمایش ناپارامتری به انضمام آزمایش تبدیل ،آزمایش
Rank(wilcoxon) وBootstrap وجود دارند که به وسیله آنها می توان این کار را انجام داد.
با استفاده از روش Bootstrap شما می توانید علاوه بر برآورد توزیع نمونه ،توزیع برآوردگر را نیز به دست آورید.
نقاط قوت و ضعف نمونه گیری Bootstrap :
1-(نقطه ضعف)روش Bootstrap دقیق نیست و برای نمونه های بزرگ ترجیحاّ آزمایش تبدیل (Permutation test) بهتر از Bootstrap است.
2-(نقطه قوت)Bootstrapفرض های خیلی ضعیف را نیز در نظر می گیرد .در جاهایی که آزمایش تبدیل کفایت
نمی کند می توان از روش Bootstrap استفاده کرد.
3-(نقطه قوت)از روش Bootstrap می توان هم درزمانی که توزیع نمونه مشخص است وهم زمانی که توزیع نمونه مشخص نیست استفاده کرد.
نکته :آزمایش تبدیل(Permutation test) مانند Bootstrap باز نمونه گیری از نمونه اصلی است،اما بر خلاف Bootstrap تصادفی نیست ،در عوض همه تبدیلات ممکن یک نمونه را در نظر می گیرد.
درزیر کتاب هایی که در یادگیری Bootstrap مفید می باشند را ذکر می کنیم:
1-Bradley Efron وRobert Tibshirani ،1993،مقدمه ای برBootstrap ،chapmanوHall ،نیویورک.
2-Bradley Efron ،1982،the jackknife,the Bootstrap ودیگر روش های باز نمونه گیری ،SIAM ،فیلادلفیا
منابع online
1-SusanHolmes(Stanford)lecture notes(html)
2-julianL,Simon online book"Resampling:The New Statistics"
3-Tim Hesterberg Bootstrap and permutation test
4-Kardi Teknomo's Bootstrap Sampling tutorial
5-David C,Howell Bootstrap sampling and randomization
6-john Fox- Bootstrapping regression model (using s-plus)
نخست آنکه پاک گوهر يعني پاک نژاد. اصیل . مَحض . پاکزاد: