এলোমেলো বন মডেলের ভবিষ্যদ্বাণীগুলির কি পূর্বাভাস অন্তর রয়েছে?


52

আমি যদি কোনও randomForestমডেল চালনা করি তবে আমি মডেলের উপর ভিত্তি করে ভবিষ্যদ্বাণী করতে পারি। ভবিষ্যদ্বাণীগুলির প্রত্যেকটির অনুমানের ব্যবধান পাওয়ার কোনও উপায় আছে কীভাবে আমি জানি যে মডেলটির উত্তরের বিষয়ে "নিশ্চিত" কি আছে? যদি এটি সম্ভব হয় তবে এটি কেবল পুরো মডেলের জন্য নির্ভরশীল পরিবর্তনশীলের পরিবর্তনের উপর ভিত্তি করে বা কোনও নির্দিষ্ট পূর্বাভাসের জন্য অনুসরণ করা নির্দিষ্ট সিদ্ধান্ত গাছের উপর নির্ভর করে এর বিস্তৃত এবং সংকীর্ণ অন্তর থাকবে?


3
আফাইক, আরএফের সমস্ত লাইব্রেরিতে scoreপারফরম্যান্সটি মূল্যায়নের জন্য কিছু প্রকারের ফাংশন রয়েছে। আউটপুট যেহেতু বনের গাছের সংখ্যাগরিষ্ঠ ভোটের ভিত্তিতে, তাই শ্রেণিবিন্যাসের ক্ষেত্রে এটি আপনাকে ভোট বিতরণের ভিত্তিতে এই ফলাফলটি সত্য হওয়ার সম্ভাবনা দেবে। যদিও আমি রিগ্রেশন সম্পর্কে নিশ্চিত নই .... আপনি কোন লাইব্রেরি ব্যবহার করেন?
সাশকেলো

1
আপনার এটি পড়তে হবে: stats.stackexchange.com/questions/12425/…
0asa

উত্তর:


40

এটি আংশিক @ শশীকান্ত ডেয়ার্ডির একটি প্রতিক্রিয়া (যেহেতু এটি কোনও মন্তব্যে মানাবে না) এবং আংশিকভাবে মূল পোস্টের প্রতিক্রিয়া।

ভবিষ্যদ্বাণী ব্যবধান কি তা মনে রাখবেন, এটি একটি বিরতি বা মানগুলির সেট যেখানে আমরা ভবিষ্যদ্বাণী করি যে ভবিষ্যতের পর্যবেক্ষণগুলি মিথ্যা বলবে। সাধারণত পূর্বাভাস ব্যবধানে 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


11

আমি বুঝতে পারি এটি একটি পুরানো পোস্ট তবে আমি এটি সম্পর্কে কিছু সিমুলেশন চালিয়ে যাচ্ছি এবং ভেবেছি আমি আমার অনুসন্ধানগুলি ভাগ করব।

[μ+σ,μσ][μ+1.96σ,μ1.96σ]

@ গ্রেগসনো কোডে এই পরিবর্তনটি করা, আমরা নিম্নলিখিত ফলাফলগুলি পাই

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)

library(randomForest)
fit2 <- randomForest(y~x1+x2)
pred.rf <- predict(fit2, newdat, predict.all=TRUE)
pred.rf.int <- t(apply( pred.rf$individual, 1, function(x){ 
  c( mean(x) + c(-1.96,1.96)*sd(x), quantile(x, c(0.025,0.975)) )}))

pred.rf.int
                          2.5%    97.5%
1  7.826896 16.05521  9.915482 15.31431
2 11.010662 19.35793 12.298995 18.64296
3 14.296697 23.61657 14.749248 21.11239
4 18.000229 23.73539 18.237448 22.10331

এখন, এমএসই-এর মতো গ্রেগসনোর মতো এমএসই-এর মত স্ট্যান্ডার্ড বিচ্যুতির সাথে পূর্বাভাসগুলিতে স্বাভাবিক বিচ্যুতি যোগ করে উত্পন্ন ব্যবধানগুলির সাথে এগুলি তুলনা করা আমাদের পরামর্শ,

pred.rf.int2 <- sapply(1:4, function(i) {
   tmp <- pred.rf$individual[i,] + rnorm(1000, 0, sqrt(fit2$mse))
   quantile(tmp, c(0.025, 0.975))
   })
t(pred.rf.int2)
          2.5%    97.5%
[1,]  7.486895 17.21144
[2,] 10.551811 20.50633
[3,] 12.959318 23.46027
[4,] 16.444967 24.57601

এই উভয় পদ্ধতির ব্যবধানটি এখন খুব কাছাকাছি দেখাচ্ছে। এই ক্ষেত্রে ত্রুটি বিতরণের বিরুদ্ধে তিনটি পদ্ধতির জন্য পূর্বাভাস ব্যবধানকে প্লট করা নীচের মত দেখাচ্ছে

এখানে চিত্র বর্ণনা লিখুন

  • কালো লাইনগুলি = লিনিয়ার রিগ্রেশন থেকে পূর্বাভাস অন্তর
  • লাল রেখা = এলোমেলো বন অন্তর পৃথক পূর্বাভাসে গণনা করা হয়,
  • নীল রেখাগুলি = পূর্বাভাসগুলিতে স্বাভাবিক বিচ্যুতি যোগ করে এলোমেলো বন ব্যবধান গণনা করা হয়

এখন আসুন আমরা সিমুলেশনটি আবার চালিত করি তবে এবার ত্রুটি শর্তটির ভিন্নতা বাড়িয়ে তুলি। যদি আমাদের পূর্বাভাস অন্তর্বর্তী গণনাগুলি ভাল হয় তবে আমাদের উপরে যেটি এসেছে তার চেয়ে আমাদের আরও বিস্তৃত ব্যবধানগুলি শেষ করা উচিত।

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,mean=0,sd=5)

fit1 <- lm(y~x1+x2)
newdat <- expand.grid(x1=0:1,x2=0:1)
predict(fit1,newdata=newdat,interval = "prediction")
      fit       lwr      upr
1 10.75006  0.503170 20.99695
2 13.90714  3.660248 24.15403
3 19.47638  9.229490 29.72327
4 22.63346 12.386568 32.88035

set.seed(1)
fit2 <- randomForest(y~x1+x2,localImp=T)
pred.rf.int <- t(apply( pred.rf$individual, 1, function(x){ 
  c( mean(x) + c(-1.96,1.96)*sd(x), quantile(x, c(0.025,0.975)) )}))
pred.rf.int
                          2.5%    97.5%
1  7.889934 15.53642  9.564565 15.47893
2 10.616744 18.78837 11.965325 18.51922
3 15.024598 23.67563 14.724964 21.43195
4 17.967246 23.88760 17.858866 22.54337

pred.rf.int2 <- sapply(1:4, function(i) {
   tmp <- pred.rf$individual[i,] + rnorm(1000, 0, sqrt(fit2$mse))
   quantile(tmp, c(0.025, 0.975))
   })
t(pred.rf.int2)
         2.5%    97.5%
[1,] 1.291450 22.89231
[2,] 4.193414 25.93963
[3,] 7.428309 30.07291
[4,] 9.938158 31.63777

এখানে চিত্র বর্ণনা লিখুন

এখন এটি স্পষ্ট করে তুলেছে যে দ্বিতীয় পদ্ধতির দ্বারা পূর্বাভাস অন্তরগুলি গণনা করা আরও বেশি নির্ভুল এবং লিনিয়ার রিগ্রেশন থেকে ভবিষ্যদ্বাণী ব্যবধানের একেবারে কাছাকাছি ফলাফল এনে দিচ্ছে।

μiMSEiN(μi,RMSEi)N(μi/n,RMSEi/n)

mean.rf <- pred.rf$aggregate
sd.rf <- mean(sqrt(fit2$mse))
pred.rf.int3 <- cbind(mean.rf - 1.96*sd.rf, mean.rf + 1.96*sd.rf)
pred.rf.int3
1  1.332711 22.09364
2  4.322090 25.08302
3  8.969650 29.73058
4 10.546957 31.30789

লিনিয়ার মডেল অন্তর এবং @ গ্রেগসনো প্রস্তাবিত পদ্ধতির সাথে এগুলি খুব ভালভাবে মিলছে। তবে মনে রাখবেন যে আমরা আলোচনা করা সমস্ত পদ্ধতিগুলির অন্তর্নিহিত অনুমানটি হ'ল ত্রুটিগুলি একটি সাধারণ বিতরণ অনুসরণ করে।


10

আপনি আর ব্যবহার করেন তাহলে আপনি সহজেই একটি র্যান্ডম বন রিগ্রেশন ভবিষ্যৎবাণী জন্য ভবিষ্যদ্বাণী অন্তর তৈরী করতে পারে: শুধু প্যাকেজ ব্যবহার quantregForest(এ উপলব্ধ Cran ) এবং পড়া এন Meinshausen দ্বারা কাগজ কিভাবে শর্তসাপেক্ষ quantiles সমাংশক রিগ্রেশন বন ও কিভাবে সঙ্গে অনুমান করা যায় তারা পূর্বাভাস অন্তর তৈরি করতে ব্যবহার করা যেতে পারে। আপনি আর এর সাথে কাজ না করলেও খুব তথ্যপূর্ণ!


দেখে মনে হচ্ছে কাগজটি এখানে সরানো হয়েছে: jmlr.org/papers/volume7/meinshausen06a/meinshausen06a.pdf
মনিকা

2
এটি যথাযথ উত্তরের মতো বলে মনে হয় এবং ভবিষ্যদ্বাণীমূলক বিরতি সম্পর্কিত বিতরণ অনুমানের প্রয়োজন হয় না। অজগরটিতে
random-

6

এটি এলোমেলোভাবে সমাধান করা সহজ।

প্রথমে আমাকে রিগ্রেশন টাস্কটি মোকাবেলা করুন (ধরে নিবেন যে আপনার বনের 1000 টি গাছ রয়েছে)। ইন predictফাংশন, আপনি পৃথক গাছ থেকে ফলাফল আসতে পারেন। এর অর্থ আপনি 1000 কলাম আউটপুট পাবেন। আমরা প্রতিটি সারির জন্য 1000 কলামের গড় নিতে পারি - এটি নিয়মিত আউটপুট আরএফ কোনও উপায়ে তৈরি করতে পারে। এখন পূর্বাভাস ব্যবধান পেতে +/- 2 স্ট্যান্ড বলি। বিড়ালগুলি আপনাকে যা করতে হবে তা প্রতিটি সারিটির জন্য, 1000 মান গণনা থেকে +/- 2 স্ট্যান্ডার্ড। বিচ্যুতি এবং আপনার ভবিষ্যদ্বাণীতে এটিকে আপনার উপরের এবং নিম্ন সীমাতে পরিণত করে।

দ্বিতীয়ত, শ্রেণিবিন্যাসের ক্ষেত্রে, মনে রাখবেন যে প্রতিটি গাছ 1 বা 0 হয় (ডিফল্টরূপে) এবং 1000 দ্বারা বিভাজিত সমস্ত 1000 টির বেশি গাছের যোগফল শ্রেণীর সম্ভাব্যতা দেয় (বাইনারি শ্রেণিবদ্ধকরণের ক্ষেত্রে)। সম্ভাব্যতার উপর পূর্বাভাস ব্যবধান রাখার জন্য আপনাকে মিনিটটি সংশোধন করতে হবে। নোডসাইজ অপশন (সেই বিকল্পের সঠিক নামের জন্য র্যান্ডমফোরস্ট ডকুমেন্টেশন দেখুন) একবার আপনি এটির মান >> 1 সেট করে নিলে পৃথক গাছগুলি 1 থেকে 0 এর মধ্যে আউটপুট দেয় এবং এখন, এখান থেকে আপনি উপরে বর্ণিত একই প্রক্রিয়াটির পুনরাবৃত্তি করতে পারবেন রিগ্রেশন টাস্ক

আমি আশা করি যে এটি উপলব্ধি করে।


আমি চেষ্টা করে দেখিনি তবে তা বোধগম্য হয়। আমার পুরানো প্রশ্নের উত্তর দেওয়ার জন্য ধন্যবাদ।
ডিন ম্যাকগ্রিগোর

1
আমি মনে করি এই পদ্ধতিটি পূর্বাভাস ব্যবধানের চেয়ে আত্মবিশ্বাসের ব্যবধানের মতো আরও কিছু দেবে। ফলাফলগুলি একটি লিনিয়ার মডেলের সাথে তুলনা করা উচিত যেখানে পূর্বাভাস অন্তরগুলির তত্ত্বটি সুপ্রতিষ্ঠিত। কিছু সিমুলেটেড ডেটাতে সেরা যেখানে সত্যটি জানা যায় এবং সমস্ত অনুমান ধারণ করে।
গ্রেগ স্নো

1
@ গ্রেগসনো: আমি উপরে বর্ণিত যা থেকে আপনি পাচ্ছেন তা হ'ল ভবিষ্যদ্বাণী ব্যবস্থার সুনির্দিষ্টভাবে। নোট করুন যে পূর্বাভাস অন্তরগুলি আত্মবিশ্বাসের অন্তরগুলির চেয়ে সাধারণত অনেক বেশি বিস্তৃত হয় যেহেতু আত্মবিশ্বাসের অন্তরগুলি সত্যই নির্দিষ্ট করে দেয় যেখানে কোয়ান্টির গড় পরিসংখ্যানটি কোথায় অবস্থিত যেখানে ভবিষ্যদ্বাণীটি কেবলমাত্র একটি পর্যবেক্ষণের সাথে সম্পর্কিত তাই বৃহত্তর অনিশ্চয়তা এবং তাই আরও বিস্তৃত অন্তরগুলি। আপনি 1000 টি গাছ থেকে প্রাপ্ত 1000 পূর্বাভাসগুলি বুটস্ট্র্যাপযুক্ত নমুনা হিসাবে ভাবা যেতে পারে এবং আপনার এখানে স্বাভাবিকতা অনুমানগুলি প্রয়োগ করার দরকার নেই। এমনকি সাধারণ ডেসাইল বিশ্লেষণও ভাল ফলাফল দেবে।

5
@ শশীকান্তডেড়ডি, আপনি যা বর্ণনা করেছেন তা থেকে আপনি যা পাচ্ছেন তা অবশ্যই কোনও পূর্বাভাস অন্তর নয়। একটি পূর্বাভাস ব্যবধান কেবল বিস্তৃত হওয়ার চেয়ে আরও বেশি দ্বারা নির্ধারিত হয়। হ্যাঁ পৃথক গাছগুলি একটি বুটস্ট্র্যাপ গঠন করে তবে বুটস্ট্র্যাপ পৃথক মান নয়, পরামিতিগুলির অনুমান করে। পূর্বাভাস ব্যবধানটি পৃথক পয়েন্টগুলির বিতরণের উপর খুব নির্ভর করে। আপনার পদ্ধতিটি বিভাগগুলির পরিবর্তে একটি স্পষ্টতামূলক ফলাফল সহ অনুপাতের জন্য একটি অন্তর দেয় এটি সত্যটি দেখায়। যুক্ত উত্তরে আমার উদাহরণটি দেখুন।
গ্রেগ স্নো

0

আমি কিছু বিকল্প চেষ্টা করেছি (এটি সমস্ত ডাব্লুআইপি):

  1. আমি প্রকৃত পরিবর্তনশীলটিকে একক মানের পরিবর্তে রেঞ্জ হিসাবে ফলাফলের সাথে শ্রেণিবদ্ধকরণের সমস্যা তৈরি করেছিলাম। আমি যে ফলাফল পেয়েছি সেগুলি সরল মান ব্যবহারের তুলনায় খুব খারাপ poor আমি এই পদ্ধতির ত্যাগ করেছি।

  2. তারপরে আমি এটিকে একাধিক শ্রেণিবিন্যাস সমস্যায় রূপান্তরিত করেছি, যার প্রত্যেকটিই সীমার জন্য নিম্ন-সীমাবদ্ধ ছিল (মডেলটির ফলাফল এটি নিম্ন সীমানা অতিক্রম করবে কিনা) এবং তারপরে সমস্ত মডেল (models 20) দৌড়েছিল এবং তারপরে একটি পরিসীমা হিসাবে একটি চূড়ান্ত উত্তর পেতে ফলাফল একত্রিত। এটি উপরের 1 এর চেয়ে বেশি ভাল কাজ করে তবে আমার এটির মতো প্রয়োজন হয় না। আমি এখনও এই পদ্ধতির উন্নতি করতে কাজ করছি।

আমার মডেলগুলি কতটা খারাপ / খারাপ তা স্থির করতে আমি ওওবি এবং লেভ-ওয়ান-আউটপুট ব্যবহার করেছি।


0

এলোমেলো বন ভবিষ্যদ্বাণীগুলির জন্য পূর্বাভাস অন্তরগুলি তৈরির সমস্যাটি নিম্নলিখিত কাগজে দেওয়া হয়েছে:

জাং, হাওজে, জোশুয়া জিম্মারম্যান, ড্যান নেটলেটটন এবং ড্যানিয়েল জে নর্ডম্যান। "এলোমেলো বন ভবিষ্যদ্বাণী অন্তর।" আমেরিকান পরিসংখ্যানবিদ, 2019

আর প্যাকেজ "rfinterval" এটি CRAN এ উপলব্ধ রয়েছে implementation

স্থাপন

আর প্যাকেজ আরফিন্টারওয়াল ইনস্টল করতে :

#install.packages("devtools")
#devtools::install_github(repo="haozhestat/rfinterval")
install.packages("rfinterval")
library(rfinterval)
?rfinterval

ব্যবহার

দ্রুত শুরু:

train_data <- sim_data(n = 1000, p = 10)
test_data <- sim_data(n = 1000, p = 10)

output <- rfinterval(y~., train_data = train_data, test_data = test_data,
                     method = c("oob", "split-conformal", "quantreg"),
                     symmetry = TRUE,alpha = 0.1)

### print the marginal coverage of OOB prediction interval
mean(output$oob_interval$lo < test_data$y & output$oob_interval$up > test_data$y)

### print the marginal coverage of Split-conformal prediction interval
mean(output$sc_interval$lo < test_data$y & output$sc_interval$up > test_data$y)

### print the marginal coverage of Quantile regression forest prediction interval
mean(output$quantreg_interval$lo < test_data$y & output$quantreg_interval$up > test_data$y)

ডেটা উদাহরণ:

oob_interval <- rfinterval(pm2.5 ~ .,
                            train_data = BeijingPM25[1:1000, ],
                            test_data = BeijingPM25[1001:2000, ],
                            method = "oob",
                            symmetry = TRUE,
                            alpha = 0.1)
str(oob_interval)

1
@ Xiaolongmao সাইটে আপনাকে স্বাগতম, আপনি আমাদের ভ্রমণ করতে চাইতে পারেন । দয়া করে একাধিক থ্রেডে অভিন্ন উত্তর পোস্ট করবেন না। প্রতিটি থ্রেডে নির্দিষ্ট প্রশ্নের আপনার উত্তরগুলি কাস্টমাইজ করার চেষ্টা করুন। আপনার যদি এমন কোনও ঘটনা ঘটে থাকে যেখানে আপনি সত্যই বিশ্বাস করেন যে কোনও অভিন্ন উত্তর প্রশ্নের সম্পূর্ণরূপে উত্তর দেয়, এটি বোঝায় যে প্রশ্নটি একটি নকল uplic আপনি যখন 50 টি খ্যাতি পৌঁছেছেন, আপনি ওপিতে একটি মন্তব্য পোস্ট করতে পারেন। অন্তর্বর্তী সময়ে, ডুপ্লিকেট হিসাবে বন্ধ করার জন্য আপনি Q তে পতাকাঙ্কিত করতে পারেন।
গুং - মনিকা পুনরায়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.