با کمک ساکوراد، برگ تازه‌ی کتاب زندگی‌ات را ورق بزن...

روش بوت استرپ

پیاده سازی روش بوت استرپ

امروزه روش بوت استرپ به عنوان رویکرد ارتقای قابلیت یافته های اماری به شدت مورد توجه محققان مختلف است. هدف این مقاله بررسی روش شناسی ان به طور مختصر و ارائه راههای محاسبه ان در نرم افزار R است. بوت استرپ روشی ساده اما قوی از روش شبیه سازی مونت کارلو است که برای تعیین دقت اماری یا براوردکردن توزیع از روی اماره های نمونه است. در واقع یک نوع نمونه گیری است که با تبدیل از یک نمونه به دست می اید؛ نمونه گیری درون یک نمونه.

حتما بخوانید: تعیین حجم نمونه ازمون One-sample t-test

 

اصل برابری بوت استرپ نشان می دهد که براوردگر نمونه گرفته شده با روش بوت استرپ، برابر است با براورد نمونه ی اصلی. روش بوت استرپ دارای دو پیش فرض است:

• نمونه شما، نمونه معتبری از جمعیت است.
• بوت استرپ نمونه ای را با جایگزینی از نمونه اصلی خواهد گرفت به طوری که هر نمونه گرفته شده با این روش مستقل، ولی دارای توزیع برابرند. به عبارت دیگر؛ نمونه های گرفته شده با روش بوت استرپ دارای توزیع جمعیت برابرند ولی هر نمونه، مستقل از نمونه های دیگر است.

در اینجا مثال هایی از نمونه مسائلی که شما می توانید با روش بوت استرپ انها را حل کنید، اورده شده:

• فرض کنید شما تعدادی داده نمونه دارید اما نمونه شما انقدر کوچک است که شما نمی توانید درباره توزیع نمونه تان با اطمینان سخن بگویید و در نتیجه شما نمی توانید دامنه میان چارکی و یا واریانس و یا دیگر پارامتر های جمعیت تان را براورد کنید.
• شما دو نمونه که توزیع ان ها ناشناخته است به نام های Yو X دارید و می خواهید توزیع نسبت Z=X/Y را بشناسید وبعضی از اماره های مفید Z مانند میانگین و انحراف معیار را نیز بشناسید.
• شما دو نمونه A وB دارید و می خواهید امتحان کنید که ایا ان ها از یک جمعیت یکسان هستند یا نه؟
• شما مدل رگرسیونی Y=a+bX دارید و می خواهید یک فاصله اطمینان برای پارامترهای a وb بدست اورید.

بوت استراپ ناپارامتری در R: در نرم افزار R استفاده از بسته های اماری boot کار را برای انجام بازنمونه گیری بوت استرپ و روشهای شبیه سازی مشابه راحت می کند. می توانید یک اماره را (مثل میانه) یا یک بردار مثل (وزن های رگرسیون) با روش بوت استراپ به دست بیاورید.این قسمت به شما می گوید چه طور با بوت استراپ ناپارامتری اساسی شروع به کار کنید.
تابع اصلی بوت استراپ ()boot با ساختار زیر است:

bootobject <- boot(data= , statistic= , R=, …)

که در ان:

تابع ()boot اماره را R بار فرا می خواند. هر بار، این یک مجموعه از شاخص های تصادفی را تولید می کند، با جایگذاری، از اعداد صحیح (1:nrow(data این شاخص ها در کنار تابع اماره برای انتخاب نمونه استفاده می شوند. اماره ها روی نمونه محاسبه شده و نتیجه در bootobject جمع اوری می شود.

 می توانید به این دو ارگومان از طریق bootobject$t0 و bootobject$t دست یابید.

هرگاه نمونه های بوت استراپ را تولید کردید، از (print(bootobject و (plot(bootobject برای امتحان نتیجه ها استفاده کنید. اگر نتیجه منطقی به نظر رسید، می توانید از ()boot.ci برای رسیدن به فواصل اطمینان برای اماره تان استفاده کنید. ساختار این تابع به صورت زیر است:

boot.ci(bootobject, conf=, type= )

روش بوت استراپ برای یک اماره ی تنها: مثال زیر فاصله اطمینان ۹۵% را برای R^۲ در رگرسیون خطی مایل در هر گالن (mpg) را بر وزن اتومبیل (wt) و جابجایی (disp) بررسی می کند. منبع داده ها mtcars می باشد. فاصله اطمینان از روش بوت استراپ بر اساس ۱۰۰۰ تکرار به دست امد.

Library(boot)
# Bootstrap 95% CI for R-Squared library(boot)

# function to obtain R-Squared from the data
rsq<-function(formula,data,indices){
d<-data[indices,]
#allows boot to select sample
fit<-lm(formula, data=d)
return(summary(fit) $r.square)
}
#bootstrapping with 1000 replications
results<-boot(data=mtcars,statistic=rsq, R=1000,formula=mpg~wt+disp)
#viewresults
results
plot(results)
#get 95% confidence interval
boot.ci(results, type=”bca”)

br />

بوت استراپ چندین اماره:
در مثال بالا، تابع خروجی تابع rsq یک عدد و تابع boot.ci تنها یک فاصله اطمینان به ما می دهد. تابع اماره ها می تواند به صورت یک بردار نیز باشد. در مثال بعد، ما یک فاصله اطمینان ۹۵% برای سه مدل رگرسیون (جلوگیری، وزن خودرو، جابجایی) خواهیم یافت. در این حالت یک شاخص پارامتری را به ()plot و ()boot.ci برای نشان دادن بهتر اینکه کدام ستون در bootobject$t در حال تجزیه و تحلیل شدن است، اضافه می کنیم.

# Bootstrap 95% CI for regression coefficients library(boot)
# function to obtain regression weights
bs <- function(formula, data, indices) {
d <- data[indices,] # allows boot to select sample
fit <- lm(formula, data=d)
return(coef(fit))
}
# bootstrapping with 1000 replications
results <- boot(data=mtcars, statistic=bs,
R=1000, formula=mpg~wt+disp)
# view results
results
plot(results, index=1) # intercept
plot(results, index=2) # wt
plot(results, index=3) # disp
# get 95% confidence intervals
boot.ci(results, type=”bca”, index=1) # intercept
boot.ci(results, type=”bca”, index=2) # wt
boot.ci(results, type=”bca”, index=3) # disp

تابع ()boot می تواند هم به صورت پارامتری و هم ناپارامتری نمونه گیری را انجام دهد. برای بوت استراپ ناپارامتری روش باز نمونه گیری شامل موارد عادی، متعادل، ضدونقیض دار و جایگشت هاست و بازنمونه های طبقه بندی شده پشتیبانی می شوند. همچنین اهمیت وزن بازنمونه گیری می تواند مشخص گردد.

تابع ()boot.ci عامل بوت استراپ(bootobject) را می گیرد و ۵ نوع متفاوت از فاصله اطمینان دو طرفه را تولید می کند. شامل: اولین تخمین نرمال، فاصله بوت استراپ اصلی، فاصله بوت استراپ استیودنت، فاصله درصدی بوت استراپ، فاصله درصدی. می توانید برای کسب اطلاعات جزییتر از (help(boot و (help(boot.ci و (help(plot.boot استفاده کنید.

 

با دریافت « مشاوره برنامه‌نویسی، وب و سئو » از کارشناسان جوان حرفه‌ای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درامد خود را تضمین کنید!

 

و اما کلام اخر…

روش بوت‌ استرپ ابزار قدرتمندی برای براورد پارامترها و محاسبه فاصله‌های اطمینان است. این روش به دلیل سادگی و عدم نیاز به فرضیات پیچیده توزیع، در بسیاری از زمینه‌های اماری و یادگیری ماشین کاربرد دارد.

تصویر دکتر علی قوامی
دکتر علی قوامی
دانش‌اموخته دکترای تخصصی (PhD) کارافرینی فناوری، بنیانگذار و مدیر گروه بین‌المللی کسب و کار ساکوراد با بیش از ۲۰ سال تجربه بعنوان کوچ، مدرس، مشاور و منتور در حوزه‌های مختلف راه‌اندازی و توسعه کسب‌وکار در 17 کشور جهان هستم. در تلاشم تا تجربیات ذی‌قیمت خود را با شما دوستان عزیزم به اشتراک گذارم.
پیشنهاد بر اساس سلیقه شما
دستور Drop

دستور Drop

دستور Drop در SQL برای حذف ابجکت‌های مختلف مانند جداول، ایندکس‌ها و پایگاه‌های داده استفاده می‌شود. این دستور به طور کامل ساختار و داده‌های مربوط

ادامه مطلب »

مسیریابی تحصیلی - شغلی (آنلاین)

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

سئوالات و نظرات ارزشمند خود را با ما مطرح کنید

دیدگاهتان را بنویسید

کلینیک مشاوره کسب و کار

ارائه‌ی خدمات کوچینگ، مشاوره و منتورینگ توسط برترین متخصصان جوان

هاست سنتر حرفه‌ای

طیف وسیعی از خدمات حرفه‌ای هاستینگ با تنوع و کیفیت کنترل شده

کانال یوتیوب

آموزش‌ها و نکات کلیدی ما را دنبال کنید

کانال تلگرام

اخبار و تخفیفات گروهی ما را دنبال کنید

صفحه اینستاگرام

آموزش‌ها و تخفیفات گروهی ما را دنبال کنید