আপনার অন্তর্দৃষ্টি সঠিক। এই উত্তরটি কেবল একটি উদাহরণে এটি চিত্রিত করে।
প্রকৃতপক্ষে এটি একটি সাধারণ ভুল ধারণা যে কার্ট / আরএফ হ'ল বিদেশীদের কাছে একরকম শক্তিশালী।
একক আউটলেয়ারের উপস্থিতি থেকে আরএফের দৃust়তার অভাবকে চিত্রিত করার জন্য, আমরা উপরের সোরেন হ্যাভেল্যান্ড ওয়েলিংয়ের উত্তরটিতে ব্যবহৃত কোডটি সংশোধন করতে পারি যে একক 'y'-outliers লাগানো আরএফ মডেলটিকে পুরোপুরি কাটিয়ে উঠতে যথেষ্ট। উদাহরণস্বরূপ, আমরা যদি বাহ্যিক এবং বাকী ডেটাগুলির মধ্যে দূরত্বের একটি ফাংশন হিসাবে অনিয়ন্ত্রিত পর্যবেক্ষণগুলির গড় পূর্বাভাস ত্রুটিটি গণনা করি, তবে আমরা (নীচের চিত্রটি) দেখতে পাচ্ছি যে একটি একক বহিরাগতকে পরিচয় করিয়ে দিচ্ছি (মূল পর্যবেক্ষণগুলির একটি প্রতিস্থাপন করে) 'y'-স্পেসে একটি স্বেচ্ছাসেবী মূল্য দ্বারা আরএফ মডেলটির পূর্বাভাসগুলি মূলত (অনিয়ন্ত্রিত) ডেটা গণনা করা হলে তাদের যে মানগুলি হত তা থেকে নির্বিচারে দূরে টানতে যথেষ্ট:
library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)
X = data.frame(replicate(2,runif(2000)-.5))
y = -sqrt((X[,1])^4+(X[,2])^4)
X[1,]=c(0,0);
y2<-y
rg<-randomForest(X,y) #RF model fitted without the outlier
outlier<-rel_prediction_error<-rep(NA,10)
for(i in 1:10){
y2[1]=100*i+2
rf=randomForest(X,y2) #RF model fitted with the outlier
rel_prediction_error[i]<-mean(abs(rf$predict[-1]-y2[-1]))/mean(abs(rg$predict[-1]-y[-1]))
outlier[i]<-y2[1]
}
plot(outlier,rel_prediction_error,type='l',ylab="Mean prediction error (on the uncontaminated observations) \\\ relative to the fit on clean data",xlab="Distance of the outlier")
কত দূর? উপরের উদাহরণে, একক আউটলেট ফিটটিকে এতটাই পরিবর্তন করেছে যে গড় অনুমানের ত্রুটি (অনিয়ন্ত্রিত উপর) পর্যবেক্ষণগুলি এখন অপরিবর্তিত ডেটাগুলিতে মডেলটি ফিট করে থাকলে তার চেয়ে বড় পরিমাণের 1-2 অর্ডার হবে।
সুতরাং এটি সত্য নয় যে কোনও একক আধ্যাত্মিক আরএফ ফিটকে প্রভাবিত করতে পারে না।
তদুপরি, আমি অন্য কোথাও উল্লেখ করেছি , আউটলিয়াররা যখন তাদের মধ্যে সম্ভাব্য বেশ কয়েকটি রয়েছে তখন তাদের মোকাবেলা করা অনেক কঠিন (যদিও তাদের প্রভাবগুলি দেখানোর জন্য তাদের ডেটার একটি বৃহত অনুপাতের প্রয়োজন হয় না) be অবশ্যই, দূষিত ডেটাতে একাধিক আউটলেট থাকতে পারে; আরএফ ফিটের উপর বেশ কয়েকটি বহিরাগতের প্রভাব পরিমাপ করতে, অনিয়ন্ত্রিত তথ্যের উপর আরএফ থেকে প্রাপ্ত বাম দিকের প্লটটি নির্বিচারে প্রতিক্রিয়ার মানগুলির 5% স্থানান্তরিত দ্বারা প্রাপ্ত ডানদিকের প্লটের সাথে তুলনা করুন (কোডটি উত্তরের নীচে রয়েছে) ।
অবশেষে, রিগ্রেশন প্রসঙ্গে, এটি উল্লেখ করা গুরুত্বপূর্ণ যে আউটলিয়াররা ডিজাইন এবং প্রতিক্রিয়া স্থান (1) উভয় ক্ষেত্রেই প্রচুর ডেটা থেকে বেরিয়ে আসতে পারে। আরএফের নির্দিষ্ট প্রসঙ্গে ডিজাইনের আউটলিয়াররা হাইপার-প্যারামিটারগুলির অনুমানকে প্রভাবিত করবে। যাইহোক, মাত্রার সংখ্যা বড় হলে এই দ্বিতীয় প্রভাবটি আরও প্রকট হয়।
আমরা এখানে যা পর্যবেক্ষণ করছি তা আরও সাধারণ ফলাফলের একটি বিশেষ ক্ষেত্রে। উত্তল ক্ষতি ফাংশনের উপর ভিত্তি করে মাল্টিভিয়ারেট ডেটা ফিটিংয়ের পদ্ধতিগুলির বহিরাগতদের প্রতি চরম সংবেদনশীলতা বহুবার নতুন করে আবিষ্কার করা হয়েছে। এমএল পদ্ধতির নির্দিষ্ট প্রসঙ্গে একটি চিত্রের জন্য (২) দেখুন।
সম্পাদনা করুন।
টি
গুলি*= তর্কসর্বোচ্চগুলি[ পিএলvar ( টিএল( গুলি ) ) + + PআরVar( টিআর( গুলি ) ) ]
টিএলটিআরগুলি*টিএলটিআরগুলিপিএলটিএলপিআর= 1 - পিএলটিআর। তারপরে, কেউ দৃust় বিকল্পের মাধ্যমে মূল সংজ্ঞায় ব্যবহৃত বৈকল্পিক কার্যকারিতা প্রতিস্থাপন করে রিগ্রেশন গাছগুলিতে (এবং এইভাবে আরএফের) স্পেস দৃ rob়তা সরবরাহ করতে পারে's এটি সংক্ষেপে ব্যবহৃত পদ্ধতি (4) যেখানে ভেরিয়েন্সটি স্কেলটির একটি শক্তিশালী এম-অনুমানকারী দ্বারা প্রতিস্থাপন করা হয়।
- (1) মাল্টিভিয়ারেট আউটলিয়ারস এবং লিভারেজ পয়েন্টগুলি আনমাস্কিং। আমেরিকান স্ট্যাটিস্টিকাল অ্যাসোসিয়েশন খণ্ডের পিটার জে রুসিয়েউ এবং বার্ট সি ভ্যান জোমেরেন জার্নাল। 85, নং 411 (সেপ্টেম্বর, 1990), পৃষ্ঠা 633-639
- (2) এলোমেলো শ্রেণিবদ্ধকরণের শব্দটি সমস্ত উত্তল সম্ভাব্য বুস্টারকে পরাভূত করে। ফিলিপ এম লং এবং রোকো এ সার্ভেদিও (২০০৮)। http://dl.acm.org/citation.cfm?id=1390233
- (3) সি বেকার এবং ইউ। জমা (1999)। মাল্টিভিয়ারেট আউটলেয়ার আইডেন্টিফিকেশন বিধিগুলির মাস্কিং ব্রেকডাউন পয়েন্ট।
- (৪) গালিমবার্টি, জি।, পিলাতী, এম।, এবং সোফ্রিটি, জি। (2007)। শক্তিশালী রিগ্রেশন গাছগুলি এম-অনুমানের ভিত্তিতে। স্ট্যাটিস্টিকা, এলএক্সভিআইআই, 173–190।
library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)
X<-data.frame(replicate(2,runif(2000)-.5))
y<--sqrt((X[,1])^4+(X[,2])^4)
Col<-fcol(X,1:2) #make colour pallete by x1 and x2
#insert outlier2 and colour it black
y2<-y;Col2<-Col
y2[1:100]<-rnorm(100,200,1); #outliers
Col[1:100]="#000000FF" #black
#plot training set
plot3d(X[,1],X[,2],y,col=Col)
rf=randomForest(X,y) #RF on clean data
rg=randomForest(X,y2) #RF on contaminated data
vec.plot(rg,X,1:2,col=Col,grid.lines=200)
mean(abs(rf$predict[-c(1:100)]-y[-c(1:100)]))
mean(abs(rg$predict[-c(1:100)]-y2[-c(1:100)]))