আমি কোয়ান্টাইল রিগ্রেশন (উদাহরণস্বরূপ gbm
বা quantreg
আর এর মাধ্যমে ) ব্যবহার করছি - মিডিয়ানের দিকে মনোনিবেশ না করে পরিবর্তে একটি উচ্চতর কোয়ান্টাইল (উদাঃ 75 তম)। ভবিষ্যদ্বাণীপূর্ণ মডেলিংয়ের ব্যাকগ্রাউন্ড থেকে এসে আমি মডেলটি কতটা পরীক্ষার সেটটিতে ফিট করে তা কোনও ব্যবসায়ী ব্যবহারকারীকে বর্ণনা করতে সক্ষম হতে চাই measure আমার প্রশ্নটা কেমন? অবিচ্ছিন্ন লক্ষ্যমাত্রার সাথে একটি সাধারণ সেটিংয়ে আমি নিম্নলিখিতগুলি করতে পারি:
- সামগ্রিক আরএমএসই গণনা করুন
- পূর্বাভাসকৃত মান দ্বারা সেট করা ডেটা ডেস্কেল করুন এবং প্রতিটি ডেস্কলে পূর্বাভাস প্রাপ্ত গড়ের সাথে গড়ের তুলনা করুন।
- প্রভৃতি
ভবিষ্যতে ভবিষ্যদ্বাণীটির তুলনা করার জন্য সত্যিকারের কোনও আসল মান (আমি কমপক্ষে ভাবি না) এই ক্ষেত্রে কী করা যায়?
এখানে একটি উদাহরণ কোড দেওয়া হয়েছে:
install.packages("quantreg")
library(quantreg)
install.packages("gbm")
library(gbm)
data("barro")
trainIndx<-sample(1:nrow(barro),size=round(nrow(barro)*0.7),replace=FALSE)
train<-barro[trainIndx,]
valid<-barro[-trainIndx,]
modGBM<-gbm(y.net~., # formula
data=train, # dataset
distribution=list(name="quantile",alpha=0.75), # see the help for other choices
n.trees=5000, # number of trees
shrinkage=0.005, # shrinkage or learning rate,
# 0.001 to 0.1 usually work
interaction.depth=5, # 1: additive model, 2: two-way interactions, etc.
bag.fraction = 0.5, # subsampling fraction, 0.5 is probably best
train.fraction = 0.5, # fraction of data for training,
# first train.fraction*N used for training
n.minobsinnode = 10, # minimum total weight needed in each node
cv.folds = 5, # do 3-fold cross-validation
keep.data=TRUE, # keep a copy of the dataset with the object
verbose=TRUE) # don’t print out progress
best.iter<-gbm.perf(modGBM,method="cv")
pred<-predict(modGBM,valid,best.iter)
এখন কী - যেহেতু আমরা শর্তাধীন বিতরণের শতকরা পর্যবেক্ষণ করি না?
যোগ করুন
আমি বেশ কয়েকটি পদ্ধতি অনুমান করেছিলাম এবং আমি জানতে চাই যে সেগুলি সঠিক কিনা এবং আরও ভাল পদ্ধতি রয়েছে কিনা - এছাড়াও প্রথমটি কীভাবে ব্যাখ্যা করতে হবে:
ক্ষতির ফাংশন থেকে গড় মান গণনা করুন:
qregLoss<-function(actual, estimate,quantile) { (sum((actual-estimate)*(quantile-((actual-estimate)<0))))/length(actual) }
কোয়ান্টাইল রিগ্রেশন এর জন্য এটি ক্ষতির ফাংশন - তবে আমরা মানটি কীভাবে ব্যাখ্যা করব?
আমাদের কি আশা করা উচিত যে উদাহরণস্বরূপ আমরা যদি একটি পরীক্ষার সেটটিতে 75 তম পার্সেন্টাইল গণনা করি, তবে পূর্বাভাসকৃত মানটি 75% সময়ের প্রায় আসল মানের চেয়ে বেশি হওয়া উচিত?
মডেলটি আরও কতগুলি ভাল ক্ষেত্রে পূর্বাভাস দেয় তা বর্ণনা করার জন্য কি অন্য পদ্ধতিগুলি আনুষ্ঠানিক বা urতিহাসিক?