در آمار، بوت استرپینگ (به انگلیسی: Bootstrapping) یک متد کامپیوتری است برای نسبت دادن معیار دقت به تخمینهای داده ی نمونه (Efron وTibshirani 1994). دراین تکنیک تنها با یک روش خیلی ساده میتوان تقریبا هر آماره ای از توزیع داده های نمونه را تخمین زد. به طور عمومی این روش از روشهای بازنمونه گیری به حساب می آید.
بوت استرپینگ در واقع تخمین ویژگی های (مثل واریانس)یک تخمین زننده است با استفاده از اندازه گیری همین ویژگیها در یک توزیع تقریبی از کل داده های نمونه.یک انتخاب استاندارد برای توزیع تقریبی، توزیع تجربی داده های مشاهده شده است. در حالتی که بتوان فرض کرد مجموعه ای از مشاهده ها از جمعیتی مستقل و به طور مساوی توزیع شده می باشد، بوت استرپینگ میتواند با ساخت تعدای بازنمونه پیاده سازی شود، که هرکدام از این بازنمونه های در واقع نمونه هایی رندم با جایگذاری از مجموعه داده های اصلی هستند.
همچنین از بوت استرپینگ میتوان در ساخت آزمون فرض آماری استفاده کرد. از این روش معمولا به عنوان جایگزینی برای متدهای استنباطی بر پایه فرضهای پارامتری هنگامی که در مورد این فرضها شک داشته باشیم استفاده میشود.یا مواردی که استنباط پارامتری غیر ممکن باشد یا برای محاسبه ی خطای استاندار فرمول محاسباتی پیچیده شود از بوت استرپینگ استفاده میکنیم.
فواید
یک فایده بزرگ بوت استرپینگ سادگی آن است. این روش برای تخمین خطای استاندارد و بازه ی اطمینان برای تخمین زننده های پیچیده ی پارامترهای توزیع، مثل نقطه های صدکی (percentile points)، نسبتها، کسر برتری (odds ratio)و ضرایب همبستگی سر راست است. بعلاوه روش مناسبی برای کنترل و بررسی پایداری نتایج است.
مضرات
به دلیل اینکه بوت استرپینگ تحت برخی شرایط به طور مجانبی ثابت است، تضمین نمونه-متناهی عمومی را فراهم نمیکند. بعلاوه، گرایش به این دارد که خیلی خوشبینانه عمل کند. ظاهر ساده ی این روش ممکن است پیشفرضهای مهم برای آنالیز بوت استرپ (مثل فرض مستقل بودن نمونه ها) را پنهان کند در حالی که در روشهای دیگر این پیشفرضها به صورت رسم بیان میشوند.
توصیف غیر رسمی
بوت استرپینگ این امکان را برای یک نفر فراهم می سازد که تعداد زیادی نسخه ی جایگزین از یک آماره را که به طور معمول از یک نمونه محاسبه میشود را جمع آوری کند. به عنوان مثال، فرض کنید که ما علاقه مند به جمع آوری اطلاعات در مورد قد افراد در جهان هستیم. به دلیل اینکه نمیتوانیم کل جمعیت را اندازه گیری کنیم، تنها یک از قسمت کوچک نمونه برداری می کنیم. از این نمونه فقط یک آماره قابل محاسبه است، مثلا یک میانگین یا یک انحراف معیار. در نتیجه نمیتوانیم متوجه شویم که آماره ها چه قدر و در چه بازه ای تغییر میکنند. اما هنگامی که از بوت استرپ استفاده کنیم ما به صورت تصادفی یک نمونه ی n تایی از N تا داده ی نمونه بر می داریم، به طوریکه هر نفر حد اکثر t بار میتواند انتخاب شود. با چندین بار انجام این کار در واقع تعداد زیادی مجموعه ی داده میسازیم که برای هرکدام میتوانیم یک آماره حساب کنیم. بنابراین به این روش یک تخمین از توزیع آماره به دست می آید. نکته ی مهم در این روش ساختن نسخه جایگزین از داده هایی است که ممکن است ما دیده باشیم.
موارد کاربر روش بوت استرپینگ
آدر (Adèr) و همکارانش (در سال 2008) روش بوت استرپ را برای به کار گیری در موارد زیر توصیه کردند:
چه تعداد نمونه بوت استرپ کافی است؟
- وقتی که توزیع یک آماره ی مورد نظر ناشناخته یا پیچیده است.
- وقتی که اندازه ی نمونه برای یک استنباط آماری سرراست ناکافی است.
- وقتی که محاسبات توانی لازم است انجام شود، اما نمونه ی پایلوت کوچکی در اختیار داریم.
تعداد نمونه های توصیه شده برای این روش با افزایش توان محاسباتی کامپیوترها به تدریج افزایش یافته است. اگر نتایج واقعا مهم اند باید تا جایی که توان محاسباتی مامپیوتر و محدودیت زمان اجازه میدهد باید تعداد نمونه ها را زیاد کرد. افزایش تعداد نمونه ها باعث افزایش اطلاعات در داده های اصلی نمیشود بلکه فقط اثر خطای نمونه برداری تصادفی را کاهش میدهد.
انواع طرح های بوت استرپ
در مسائل یک متغیری، معمولا قابل قبول است که بازنمونه گیری از مشاهده ها با جایگذاری باشد.در نمونه های کوچک ممکن است یک روش بوت استرپ پارامتری ترجیح داده شود. برای مسائل دیگر یک بوت استرپ نرم احتمالا ترجیح داده خواهد شد.
برای مسائل رگرسیون جایگزین های مختلفی موجودند.
بازنمونه گیری
بوت استرپ به طور کلی برای تقریب توزیع آماره ها مفید است، بدون استفاده از روشهای معمول تئوری مثل تستهای آماری z-statistic, t-statistic . از بوت استرپ معمولا وقتی استفاده میشود که هیچ روش معمول و تحلیلی ای برای کمک به تخمین توزیع آماره های مورد نظر وجود ندارد. حداقل دو روش برای این نوع نمونه گیری وجود دارد:
بوت استرپ نرم
- الگوریتم مونت کارلو که برای استفاده در اینجا بسیار ساده نیز هست. ابتدا با جایگذاری از داده ها بازنمونه گیری میکنیم، اندازه ی بازنمونه باید برابر اندازه ی مجموعه داده ی اصلی باشد. سپس آماره ی مورد نظر با استفاده از بازنمونه به دست آمده از مرحله ی اول محاسبه میشود و اینکار چندین بار تکرار میشود تا جواب دقیقتری به دست آید.
- روش دقیق نیز شبیه مونت کارلو است با این تفائت که در این روش تمام بازنمونه های ممکن از مجموعه ی داده ها محاسبه میشوند. تعداد بازنمونه ها برابر می شود با که در آن n اندازه مجموعه داده های اولیه است.
در این حالت تعداد کمی از نویزهای تصادفی با مرکز صفر (معمولا دارای توزیع نرمال) به هر بازنمونه اضافه میشوند. این معادل نمونه برداری از یک تخمین kernel density از داده ها است.
بوت استرپ پارامتری
در این حات یک مدل پارامتری به داده ها برازش میشود، معمولا با استفاده از درستنمایی ماکزیمم، و نمونه های اعداد تصادفی از این مدل برازش شده بیرون کشیده میشوند. معمولا نمونه های بیرون کشیده شده اندازه ای برابر با اندازه داده ها اصلی دارند. سپس کمیت یا تخمین آماره ی مورد نظر از این داده ها بدست می آید. و همانند دیگر روشهای بوت استرپ این کار چندین بار تکرار میشود. استفاده از بوت استرپ در این گونه موارد منجر به روشهایی میشود که متفائت اند با روشهای استنباط آماری پایه برای همین مدل.
بازنمونه گیری باقیمانده ها
روش دیگر بوت استرپینگ در مسائل رگرسیون بازنمونه گیری از باقیمانده ها است. این روش به شکل زیر است:
را بازیابی کن.
- مدل را برازش کن و مقادیر و باقیمانده ها .
بوت استرپ پروسه گوسی رگرسیون
- به ازای هر جفت, (xi, yi), که در آن xi متغیر توضیحی است، یک بازنمونه تصادفی باقیمانده اضافه کن ،، به جواب متغیر yi.به بیان دیگر متغیرهای ساختگی جواب را که در آن j متغیر تصادفی انتخاب شده از لیست (1, …, n) است به ازای هر i.
- مدل را مجددا برازش کن با استفاده از متغیرهای ساختگی y*i و بازیابی کمیتهای مورد نظر
- مراحل 2و 3 را به تعدادی که از نظر آماری معنی دار باشد تکرار کنید.
وقتی مه داده ها یه صورت موقت با هم همبستگی دارند، بوت استرپ مستقیم همبستگی های ذاتی را از بین میبرد. این متد از رگرسیون گوسی استفاده میکند تا یک مدل احتمالاتی را برازش کند. پروسه های گوسی متدهایی از بایزین هستند اما در اینجا استفاده میشوند تا یک روش پارامتریک بوت استرپ بسازند، که به سادگی به داده های مستقل از زمان اجازه ی میدهد به حساب آورده شوند.
بوت استرپ ریسکی (wild)
هر باقیمانده به صورت تصادفی در یک متغیر تصادفی با میانگین صفر و واریانس 1 ضرب میشود. در این متد فرض بر این است که توزیع درست باقی مانده متقارن است و میتوانند فوایدی برای نمونه گیری ساده روی نمونه های کوچک داشته باشد.[۱]
بوت استرپ بلاک متحرک
در این روش n-b+1 بلاک دارای اشتراک و هرکدام به طول b به صورت روبه رو ساخته میشوند: مشاهده های 1 تا b میشوند بلاک 1، مشاهده های 2 تا b+1 میشوند بلاک2 و به همین ترتیب. سپس از این بلاکها n/b باک به صورت تصادفی همراه با جایگذاری انتخاب میشوند. سپس مرتب کردن این n/b بلاک به همان ترتیبی که برداشته شده اند مشاهده های بوت استرپ را میدهد. این نوع روش با داده های وابسته نیز کار میکند اگرچه مشاهده ها دیگر با ساختن، ایستا نخواهند بود.اما نشان داده شده است که متغیر بودن طول بلاک از این مشکل جلوگیری میکند.[۲]
انتخاب آماره- گردان
در مواقعی که لازم است اطلاعات زیادی از منبع داده استخراج شود، اینکه چه تخمینی یا کدام آماره ای مورد نظر بوت استرپینگ است باید مورد توجه قرار گیرد. فرض کنید استنباط میانگین تعدادی مشاهده مورد نیاز است. در این صورت دو امکان موجود است:
تایج متفاوت خواهند بود و نتایج شبیه سازی نشان میدهند که روش دوم بهتر است. این روش به نوعی میتواند از روش پارامتریک استاندارد برای توزیع های نرمال منتج شود البته کمی عمومی تر. ایده این است که از یک کمیت محوری(pivotal quantity) استفاده شود، یا اینکه آماره ای که تقریبا محوری باشد پیدا شود. همچنین بد نیست که نگاهی بهAncillary statistic هم انداخته شود.
- تولید نمونه های بوت استرپ از میانگین نمونه ای برای ساخت فاصله ی اطمینانی برای میانگین
- تولید نمونه های بوت استرپ از آماره ی جدید (میانگین تقسیم بر انحراف معیار نمونه)، ساخت یک فاصله ی اطمینان برای این، سپس فاصله ی اطمینان نهایی برای میانگین از ضرب کردن نقاط انتهایی از فاصله ی اطمینان اولیه در انحراف معیار نمونه ای از نمونه ی اصلی به دست می آید.
نتیجه گیری فاصله های اطمینان از توزیع بوت استرپ
راه های زیادی برای استفاده از توزیع بوت استرپ در محاسبه فاصله ی اطمینان برای آماره های شبیه سازی شده وجود دارند و هیچ متدی وجود ندارد که برای تمام مسائل بهترین جواب را بدهد. انتخاب بین سادگی و عمومیت و هدف متدهای تنظیم شده مختلف است که می کوشند برای پوشش بیشتر.
تاثیر اریبی و فقدان تقارن روی فاصله های اطمینان بوت استرپمتدهایی برای فاصله اطمینانهای بوت استرپ
- اریبی: وقتی که میانگین توزیع بوت استرپ را با آماره ی متناظر از توزیع اصلی مقایسه میکنیم، در واقع در حال بررسی کردن اریبی هستیم. تا زمانی که توزیع بوت استرپ اریب نباشد و شکلش متقارن باشد درصد فاصله اطمینان راه خوبی برای تخمین زدن است. اریبی در توزیع بوت استرپ منجر به اریبی در تخمین فاصله اطمینان میشود.
- فقدان تقارن در توزیع بوت استرپ موجب به وجود آمدن مسئله ی دیگری نیز میشود و آن این است که چگونه باید عدم تقارن توزیع در فاصله اطمینان بازتاب داده شود؟
این متدها شامل متدهای زیر میباشند:
مثالهایی از کاربردها ی بوت استرپ
- بوت استرپ بر حسب درصد
- بوت استرپ پایه ای
- بوت استرپ استیودنت شده
- بوت استرپ اریب-درست شده
- بوت استرپ تسریع شده
کاربردهایی مربوط به تست Mediation
بوت استرپینگ یکی از مشهورترین متدهای آزمایش meidation است [۳]. زیرا نیاز به فرض نرمال بودن ندارد و بعلاوه از آن میتوان در مواردی که اندازه ی نمونه کوچک است استفاده کرد (N < 20).
بوت استرپ نرم شده
بوت استرپینگ روشی است که معمولا برای تقریب فاصله اطمینان ها برای میانه استفاده میشود. اگرچه میانه یک آماره گسسته است، و این حقیقت خودش را در توزیع بوت استرپ نشان میدهد.
برای هموار کردن گسستگی میانه، ما میتوانیم مقدار کمی از N(0, σ2) نویز تصادفی را در هر نمونه بوت استرپ وارد کنیم. برای نمونه ای با اندازه ی n انتخاب میکنیم . هیستوگرام های توزیع بوت استرپ و توزیع هموار شده ی بوت استرپ در زیر مشخص اند. توزیع بوت استرپ بسیار دندانه دار است زیرا میانه تنها مقادیر کمی را میتواند بپذیرد. اما توزیع بوت اترپ نرم شده بر این مشکل غلبه میکند.
اگرچه توزیع بوت استرپ میانه زشت و به صورت شهودی اشتباه به نظر میرسد، فاصله های اطمینانی که به دست میدهد در این مثال بد نیستند.
رابطه با دیگر راههای استنباط
رابطه با دیگر روشهای بازنمونه گیری
بوت استرپ متمایز شده است از:
برای اطلاعات بیشتر به Resampling مراجعه شود.
- پروسه ی جک نایف (jackknife)، استفاده شده برای تخمین اریبی آماره های نمونه و برای تخمین واریانس.
- وارسی اعتبار (cross-validation)، که در آن پارامترها (مثل وزنهای رگرسیون) در یک زیرنمونه تخمین زده میشوند و به زیرنمونه ها تسری داده میشوند.