به کمک نیاز دارید؟

خدمات تخصصی

جستجو
این کادر جستجو را ببندید.
روش بوت استرپ

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

امروزه روش بوت استرپ به عنوان رويكرد ارتقاي قابليت يافته هاي آماري به شدت مورد توجه محققان مختلف است. هدف اين مقاله بررسي روش شناسي آن به طور مختصر و ارائه راههاي محاسبه آن در نرم افزار 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= )

روش بوت استراپ برای یک آماره ی تنها: مثال زیر فاصله اطمینان 95% را برای R^2 در رگرسیون خطی مایل در هر گالن (mpg) را بر وزن اتومبیل (wt) و جابجایی (disp) بررسی می کند. منبع داده ها mtcars می باشد. فاصله اطمینان از روش بوت استراپ بر اساس 1000 تکرار به دست آمد.

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 تنها یک فاصله اطمینان به ما می دهد. تابع آماره ها می تواند به صورت یک بردار نیز باشد. در مثال بعد، ما یک فاصله اطمینان 95% برای سه مدل رگرسیون (جلوگیری، وزن خودرو، جابجایی) خواهیم یافت. در این حالت یک شاخص پارامتری را به ()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) را می گیرد و 5 نوع متفاوت از فاصله اطمینان دو طرفه را تولید می کند. شامل: اولین تخمین نرمال، فاصله بوت استراپ اصلی، فاصله بوت استراپ استیودنت، فاصله درصدی بوت استراپ، فاصله درصدی. می توانید برای کسب اطلاعات جزییتر از (help(boot و (help(boot.ci و (help(plot.boot استفاده کنید.

 

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

 

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

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

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

دستور Group By

از دستور Group By در اسکیوال برای دسته بندی يک ستون بر حسب مقادير مشابه فيلدهای يک ستون ديگر استفاده می شود. در هنگام استفاده

ادامه مطلب »

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

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

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

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

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

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

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

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

کانال یوتیوب

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

کانال تلگرام

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

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

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

راهنمای گام به گام تا دریافت مشاوره

گام اول

انتخاب حوزه تخصصی مدنظر

گام دوم

بررسی رزومه مشاوران مرتبط

گام سوم

انتخاب مشاور با تخصص مدنظر

گام چهارم

تکمیل فرم و ثبت درخواست

گام پنجم

پرداخت حق‌الزحمه مشاور

گام ششم

تماس با شما برای تعیین وقت

گام هفتم

برقراری ارتباط شما با مشاور