Kuantil regresyon kullanıyorum (örneğin R aracılığıyla gbm
veya quantreg
R ile) - medyana odaklanmak yerine üst kuantile (örneğin 75.) odaklanmak. Tahminli bir modelleme geçmişinden geldiğimde, modelin bir test setine ne kadar iyi uyduğunu ölçmek ve bunu bir işletme kullanıcısına açıklayabilmek istiyorum. Benim sorum nasıl? Sürekli hedefli tipik bir ortamda aşağıdakileri yapabilirim:
- Genel RMSE'yi hesaplayın
- Veri kümesini tahmin edilen değere göre kesin ve her bir ondalık değerde gerçek değeri ortalama ile karşılaştırın.
- Vb.
Bu durumda, tahmini karşılaştırmak için gerçek bir değer (en azından sanmıyorum) olmadığı yerde ne yapılabilir?
İşte bir örnek kod:
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)
Şimdi ne - koşullu dağılımın yüzdeliğini gözlemlemediğimiz için?
Ekle:
Birkaç yöntemi varsaydım ve bunların doğru olup olmadığını ve daha iyisi olup olmadığını bilmek istiyorum - ayrıca ilkini nasıl yorumlayacağımı:
Kayıp fonksiyonlarından ortalama değeri hesaplayın:
qregLoss<-function(actual, estimate,quantile) { (sum((actual-estimate)*(quantile-((actual-estimate)<0))))/length(actual) }
Bu, kantil regresyon için kayıp fonksiyonudur - ama değeri nasıl yorumlarız?
Örneğin, bir test setindeki 75. persentili hesaplarsak, öngörülen değerin, zamanın% 75'i civarında gerçek değerden daha yüksek olmasını beklememiz gerekir mi?
Modelin yeni vakaları ne kadar iyi öngördüğünü açıklayan resmi veya sezgisel yöntemler var mı?