আপনার রিগ্রেশন সহগের নমুনা বন্টন অনুমান করার জন্য বুটস্ট্র্যাপিং একটি পুনরায় মডেলিং পদ্ধতি এবং অতএব আপনার রিগ্রেশন সহগের মানক ত্রুটিগুলি / আত্মবিশ্বাসের অন্তরগুলি গণনা করুন। এই পোস্টে একটি সুন্দর ব্যাখ্যা আছে। আপনার কতগুলি প্রতিলিপি প্রয়োজন তা আলোচনার জন্য, এই পোস্টটি দেখুন।
- ননপ্যারমেট্রিক বুটস্ট্র্যাপের পুনরাবৃত্তিগুলি বারবার এবং এলোমেলোভাবে আপনার পর্যবেক্ষণগুলি প্রতিস্থাপনের সাথে আঁকেন (যেমন কিছু পর্যবেক্ষণ কেবল একবার টানা হয়, অন্যরা একাধিক বার এবং কিছু কখনও না), তারপরে লজিস্টিক রিগ্রেশন গণনা করে এবং সহগগুলি সংরক্ষণ করে। এটি পুনরাবৃত্তি হয়এনবার। সুতরাং আপনি 10'000 বিভিন্ন রিগ্রেশন সহগের সাথে শেষ করবেন। এই 10'000 সহগগুলি তখন তাদের আত্মবিশ্বাসের ভ্রমণকেন্দ্র গণনা করতে ব্যবহার করা যেতে পারে। সিউডো-এলোমেলো সংখ্যার জেনারেটর ব্যবহার করা হচ্ছে, প্রতিবার আপনার ঠিক একই ফলাফল হয়েছে কিনা তা নিশ্চিত করার জন্য আপনি কেবল একটি স্বেচ্ছাসেবী সংখ্যায় বীজ সেট করতে পারেন (নীচের উদাহরণ দেখুন)। সত্যিকারের স্থিতিশীল অনুমানের জন্য, আমি 1000 এরও বেশি প্রতিলিপিগুলি প্রস্তাব দেব, সম্ভবত 10'000। আপনি বেশ কয়েকবার বুটস্ট্র্যাপ চালাতে পারেন এবং দেখতে পান যে অনুমানগুলি 1000 বা 10'000 প্রতিলিপিগুলি করে কিনা তা অনেকটাই পরিবর্তন হয়। সরল ইংরাজীতে: আপনি রূপান্তরিত হওয়া অবধি আপনার প্রতিলিপিগুলি নেওয়া উচিত। যদি আপনার বুটস্ট্র্যাপের অনুমানগুলি আপনার অনুমান এবং পর্যবেক্ষিত, একক মডেলের মধ্যে পৃথক হয় তবে এটি ইঙ্গিত করতে পারে যে পর্যবেক্ষিত মডেলটি আপনার নমুনার কাঠামোটি যথাযথভাবে প্রতিফলিত করে না।
boot
R
উদাহরণস্বরূপ, "পক্ষপাত" রাখুন যা আপনার একক মডেলের রিগ্রেশন সহগ এবং বুটস্ট্র্যাপ নমুনাগুলির মধ্যবর্তী পার্থক্য।
- বুটস্ট্র্যাপটি সম্পাদন করার সময়, আপনি কোনও একক বুটস্ট্র্যাপ নমুনায় আগ্রহী নন, তবে 10'000 বুটস্ট্র্যাপ নমুনাগুলির উপরে পরিসংখ্যান বিতরণ (যেমন, রিগ্রেশন সহগ) in
- আমি বলব 10'000 1000 এর চেয়ে ভাল modern আধুনিক কম্পিউটারগুলির সাথে এটি কোনও সমস্যা হওয়ার দরকার নেই। নীচের উদাহরণে, 10'000 নমুনা আঁকতে আমার পিসিটি প্রায় 45 সেকেন্ড সময় নিয়েছিল। এটি অবশ্যই আপনার নমুনা আকারের সাথে পরিবর্তিত হয়। আপনার নমুনার আকারটি যত বড়, প্রতিটি পর্যবেক্ষণকে বিবেচনায় নেওয়া হয়েছে তা নিশ্চিত করার জন্য পুনরাবৃত্তির সংখ্যা আরও বেশি হওয়া উচিত।
- "প্রতিবারের ফলাফলগুলি পৃথক হয়" এর অর্থ কী? মনে রাখবেন যে প্রতিটি বুটস্ট্র্যাপ ধাপে পর্যবেক্ষণগুলি নতুন প্রতিস্থাপনের সাথে আঁকা হয়। অতএব, আপনি সম্ভবত কিছুটা আলাদা রিগ্রেশন সহগের সাথে শেষ হবেন কারণ আপনার পর্যবেক্ষণগুলি পৃথক। তবে আমি যেমন বলেছি: আপনি কোনও একক বুটস্ট্র্যাপের নমুনার ফলাফলের প্রতি আগ্রহী নন। যখন আপনার প্রতিরূপের সংখ্যা যথেষ্ট বেশি, বুটস্ট্র্যাপটি প্রতিবারের মতো একই আত্মবিশ্বাসের ব্যবধান এবং পয়েন্ট আনুমানিক উপস্থাপন করে।
এখানে একটি উদাহরণ দেওয়া হয়েছে R
:
library(boot)
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
head(mydata)
mydata$rank <- factor(mydata$rank)
my.mod <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
summary(my.mod)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.989979 1.139951 -3.500 0.000465 ***
gre 0.002264 0.001094 2.070 0.038465 *
gpa 0.804038 0.331819 2.423 0.015388 *
rank2 -0.675443 0.316490 -2.134 0.032829 *
rank3 -1.340204 0.345306 -3.881 0.000104 ***
rank4 -1.551464 0.417832 -3.713 0.000205 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# Set up the non-parametric bootstrap
logit.bootstrap <- function(data, indices) {
d <- data[indices, ]
fit <- glm(admit ~ gre + gpa + rank, data = d, family = "binomial")
return(coef(fit))
}
set.seed(12345) # seed for the RNG to ensure that you get exactly the same results as here
logit.boot <- boot(data=mydata, statistic=logit.bootstrap, R=10000) # 10'000 samples
logit.boot
Bootstrap Statistics :
original bias std. error
t1* -3.989979073 -7.217244e-02 1.165573039
t2* 0.002264426 4.054579e-05 0.001146039
t3* 0.804037549 1.440693e-02 0.354361032
t4* -0.675442928 -8.845389e-03 0.329099277
t5* -1.340203916 -1.977054e-02 0.359502576
t6* -1.551463677 -4.720579e-02 0.444998099
# Calculate confidence intervals (Bias corrected ="bca") for each coefficient
boot.ci(logit.boot, type="bca", index=1) # intercept
95% (-6.292, -1.738 )
boot.ci(logit.boot, type="bca", index=2) # gre
95% ( 0.0000, 0.0045 )
boot.ci(logit.boot, type="bca", index=3) # gpa
95% ( 0.1017, 1.4932 )
boot.ci(logit.boot, type="bca", index=4) # rank2
95% (-1.3170, -0.0369 )
boot.ci(logit.boot, type="bca", index=5) # rank3
95% (-2.040, -0.629 )
boot.ci(logit.boot, type="bca", index=6) # rank4
95% (-2.425, -0.698 )
বুটস্ট্র্যাপ-আউটপুটটি মূল রিগ্রেশন সহগ ("মূল") এবং তাদের পক্ষপাত প্রদর্শন করে, যা মূল সহগ এবং বুটস্ট্র্যাপযুক্ত পার্থক্য। এটি স্ট্যান্ডার্ড ত্রুটিগুলিও দেয়। মনে রাখবেন যে তারা মূল স্ট্যান্ডার্ড ত্রুটির চেয়ে কিছুটা বড়।
আত্মবিশ্বাসের অন্তর থেকে, পক্ষপাত সংশোধন ("বিসিএ") সাধারণত পছন্দ করা হয়। এটি মূল স্কেলে আত্মবিশ্বাসের ব্যবধান দেয়। প্রতিকূল অনুপাতের জন্য আস্থার ব্যবধানের জন্য, আত্মবিশ্বাসের সীমাটি কেবলমাত্র বাড়িয়ে দিন।