এটি আংশিক @ শশীকান্ত ডেয়ার্ডির একটি প্রতিক্রিয়া (যেহেতু এটি কোনও মন্তব্যে মানাবে না) এবং আংশিকভাবে মূল পোস্টের প্রতিক্রিয়া।
ভবিষ্যদ্বাণী ব্যবধান কি তা মনে রাখবেন, এটি একটি বিরতি বা মানগুলির সেট যেখানে আমরা ভবিষ্যদ্বাণী করি যে ভবিষ্যতের পর্যবেক্ষণগুলি মিথ্যা বলবে। সাধারণত পূর্বাভাস ব্যবধানে 2 টি প্রধান টুকরা থাকে যা এর প্রস্থ নির্ধারণ করে, একটি টুকরো ভবিষ্যদ্বাণী করা গড় সম্পর্কে অনিশ্চয়তার প্রতিনিধিত্ব করে (বা অন্যান্য পরামিতি) এটি আত্মবিশ্বাসের অন্তর্বর্তী অংশ, এবং এই টুকরোটির চারপাশে পৃথক পর্যবেক্ষণের পরিবর্তনশীলতার প্রতিনিধিত্বকারী একটি টুকরো। আত্মবিশ্বাসের ব্যবধানটি কেন্দ্রীয় সীমাবদ্ধ তত্ত্বের কারণে পরী শক্তিশালী এবং এলোমেলো বনের ক্ষেত্রে, বুটস্ট্র্যাপিংও সহায়তা করে। ভবিষ্যদ্বাণী ব্যবস্থার পূর্বাভাসকারী ভেরিয়েবলগুলি প্রদান করে কীভাবে ডেটা বিতরণ করা হবে তা অনুমানের উপর সম্পূর্ণ নির্ভর করে, সিএলটি এবং বুটস্ট্র্যাপিংয়ের সেই অংশটির কোনও প্রভাব নেই।
পূর্বাভাস ব্যবধানটি আরও বিস্তৃত হওয়া উচিত যেখানে সংশ্লিষ্ট আত্মবিশ্বাসের ব্যবধানটি আরও বিস্তৃত হবে। অন্যান্য বিষয় যা পূর্বাভাস ব্যবধানের প্রস্থকে প্রভাবিত করবে তা হ'ল সমান বৈচিত্র্য সম্পর্কে অনুমান বা এটি, এটিকে এলোমেলো বন মডেল নয়, গবেষকের জ্ঞান থেকে আসতে হবে।
একটি পূর্বাভাস ব্যবধানটি একটি বিচ্ছিন্ন ফলাফলের জন্য অর্থবোধ করে না (আপনি একটি বিরতির পরিবর্তে পূর্বাভাস সেট করতে পারেন, তবে বেশিরভাগ সময় এটি খুব তথ্যমূলক হবে না)।
আমরা যথাযথ সত্য জানি যেখানে ডেটা অনুকরণ করে ভবিষ্যদ্বাণী ব্যবধানের চারপাশের কয়েকটি সমস্যা দেখতে পাই। নিম্নলিখিত তথ্য বিবেচনা করুন:
set.seed(1)
x1 <- rep(0:1, each=500)
x2 <- rep(0:1, each=250, length=1000)
y <- 10 + 5*x1 + 10*x2 - 3*x1*x2 + rnorm(1000)
এই নির্দিষ্ট ডেটা লিনিয়ার রিগ্রেশন সম্পর্কিত অনুমানগুলি অনুসরণ করে এবং এলোমেলোভাবে বন জোরদার জন্য মোটামুটি সোজা এগিয়ে। আমরা "সত্য" মডেলটি থেকে জানি যে উভয় ভবিষ্যদ্বাণীকারী যখন 0 হয় তবে এর গড় 10 হয়, আমরা আরও জানি যে পৃথক পয়েন্টগুলি 1 এর প্রমিত বিচ্যুতির সাথে একটি সাধারণ বিতরণকে অনুসরণ করে যা এর জন্য 95% পূর্বাভাস ব্যবধান নির্ভুল জ্ঞানের উপর ভিত্তি করে এই পয়েন্টগুলি 8 থেকে 12 পর্যন্ত হবে (আসলে 8.04 থেকে 11.96, তবে গোলটি এটিকে আরও সহজ রাখে)। যেকোন অনুমানক পূর্বাভাস ব্যবধান এর চেয়ে বৃহত্তর হওয়া উচিত (নিখুঁত তথ্য না থাকা ক্ষতিপূরণের জন্য প্রস্থ যুক্ত করে) এবং এই ব্যাপ্তিটি অন্তর্ভুক্ত করে।
রিগ্রেশন থেকে অন্তরগুলি দেখুন:
fit1 <- lm(y ~ x1 * x2)
newdat <- expand.grid(x1=0:1, x2=0:1)
(pred.lm.ci <- predict(fit1, newdat, interval='confidence'))
# fit lwr upr
# 1 10.02217 9.893664 10.15067
# 2 14.90927 14.780765 15.03778
# 3 20.02312 19.894613 20.15162
# 4 21.99885 21.870343 22.12735
(pred.lm.pi <- predict(fit1, newdat, interval='prediction'))
# fit lwr upr
# 1 10.02217 7.98626 12.05808
# 2 14.90927 12.87336 16.94518
# 3 20.02312 17.98721 22.05903
# 4 21.99885 19.96294 24.03476
আমরা দেখতে পাচ্ছি অনুমানের উপায়গুলির মধ্যে কিছুটা অনিশ্চয়তা রয়েছে (আত্মবিশ্বাসের ব্যবধান) এবং এটি আমাদের কাছে একটি পূর্বাভাস অন্তর দেয় যা বিস্তৃত (তবে অন্তর্ভুক্ত) 8 থেকে 12 পরিসীমা রয়েছে।
এখন আসুন পৃথক গাছের পৃথক পূর্বাভাসের উপর ভিত্তি করে বিরতিটি দেখুন (আমাদের এগুলি আরও বিস্তৃত হওয়া উচিত, যেহেতু এলোমেলো বনটি অনুমানগুলি (যা আমরা এই ডেটার জন্য সত্য হতে জানি) থেকে উপকার লাভ করে না):
library(randomForest)
fit2 <- randomForest(y ~ x1 + x2, ntree=1001)
pred.rf <- predict(fit2, newdat, predict.all=TRUE)
pred.rf.int <- apply(pred.rf$individual, 1, function(x) {
c(mean(x) + c(-1, 1) * sd(x),
quantile(x, c(0.025, 0.975)))
})
t(pred.rf.int)
# 2.5% 97.5%
# 1 9.785533 13.88629 9.920507 15.28662
# 2 13.017484 17.22297 12.330821 18.65796
# 3 16.764298 21.40525 14.749296 21.09071
# 4 19.494116 22.33632 18.245580 22.09904
অন্তরগুলি রিগ্রেশন পূর্বাভাস অন্তরগুলির চেয়ে বৃহত্তর, তবে তারা পুরো ব্যাপ্তিটি আবরণ করে না। এগুলিতে সত্যিকারের মূল্যবোধ অন্তর্ভুক্ত থাকে এবং তাই আত্মবিশ্বাসের অন্তর হিসাবে বৈধ হতে পারে তবে তারা কেবল ভবিষ্যদ্বাণী করছে যেখানে অর্থ (পূর্বাভাস দেওয়া মান) কোথায় আছে, তার অর্থের চারপাশে বিতরণের কোনও যুক্ত টুকরো নেই। প্রথম ক্ষেত্রে যেখানে x1 এবং x2 উভয় 0 অন্তরগুলি 9.7 এর নীচে যায় না, এটি 8 এর নিচে চলে যাওয়া সত্য ভবিষ্যদ্বাণী ব্যবধানের চেয়ে খুব আলাদা is যদি আমরা নতুন ডেটা পয়েন্ট উত্পন্ন করি তবে বেশ কয়েকটি পয়েন্ট থাকবে (আরও অনেক কিছু) 5% এর চেয়ে বেশি) যা সত্য এবং প্রতিরোধের অন্তরগুলিতে থাকে তবে এলোমেলো বন ব্যবধানে পড়ে না।
পূর্বাভাস ব্যবধান উত্পন্ন করার জন্য আপনাকে পূর্বাভাসিত অর্থের চারপাশে স্বতন্ত্র পয়েন্টগুলির বিতরণ সম্পর্কে কিছু দৃ ass় অনুমান করা দরকার, তারপরে আপনি পৃথক গাছ (বুটস্ট্র্যাপড আত্মবিশ্বাসের ব্যবধানের মধ্যবর্তী অংশ) থেকে অনুমানগুলি নিতে পারেন তবে ধরে নেওয়া থেকে একটি এলোমেলো মান উত্পন্ন করতে পারে কেন্দ্রের সাথে বিতরণ। এই উত্পন্ন টুকরাগুলির কোয়ান্টাইলগুলি পূর্বাভাস ব্যবধান গঠন করতে পারে (তবে আমি এটি পরীক্ষা করে দেখব, আপনাকে আরও বেশ কয়েকবার প্রক্রিয়াটি পুনরাবৃত্তি করতে হবে এবং একত্রিত করতে হবে)।
এই গাছ থেকে আনুমানিক এমএসইয়ের উপর ভিত্তি করে স্ট্যান্ডার্ড বিচ্যুতির সাথে পূর্বাভাসগুলিতে প্রাক্কলন (যেহেতু আমরা জানি যে মূল তথ্যটি একটি সাধারণ ব্যবহৃত হয়েছিল) বিচ্যুতিগুলিকে যোগ করে এটি করার উদাহরণ এখানে রয়েছে:
pred.rf.int2 <- sapply(1:4, function(i) {
tmp <- pred.rf$individual[i, ] + rnorm(1001, 0, sqrt(fit2$mse))
quantile(tmp, c(0.025, 0.975))
})
t(pred.rf.int2)
# 2.5% 97.5%
# [1,] 7.351609 17.31065
# [2,] 10.386273 20.23700
# [3,] 13.004428 23.55154
# [4,] 16.344504 24.35970
এই ব্যবধানগুলিতে নিখুঁত জ্ঞানের উপর ভিত্তি করে থাকে তাই যুক্তিযুক্ত দেখায় look তবে, তারা তৈরি করা অনুমানগুলির উপর অনেক বেশি নির্ভর করবে (অনুমানগুলি এখানে বৈধ রয়েছে কারণ আমরা কীভাবে ডেটা সিমুলেট করা হয়েছিল তার জ্ঞানটি ব্যবহার করেছিলাম, তারা বাস্তব তথ্য ক্ষেত্রে যেমন বৈধ নাও হতে পারে)। আমি এখনও এই পদ্ধতিটিতে পুরোপুরি বিশ্বাস করার আগে বেশ কয়েকবার ডেটার জন্য সিমুলেশনগুলি পুনরায় পুনর্বার করব যা আপনার আসল ডেটার (যেমন সিমুলেটেড যাতে আপনি সত্যটি জানেন) এর মতো দেখায় fully
score
পারফরম্যান্সটি মূল্যায়নের জন্য কিছু প্রকারের ফাংশন রয়েছে। আউটপুট যেহেতু বনের গাছের সংখ্যাগরিষ্ঠ ভোটের ভিত্তিতে, তাই শ্রেণিবিন্যাসের ক্ষেত্রে এটি আপনাকে ভোট বিতরণের ভিত্তিতে এই ফলাফলটি সত্য হওয়ার সম্ভাবনা দেবে। যদিও আমি রিগ্রেশন সম্পর্কে নিশ্চিত নই .... আপনি কোন লাইব্রেরি ব্যবহার করেন?