分位モデリングのモデルパフォーマンス


14

私は分位点回帰を使用しています(たとえば、R を介して、gbmまたはquantregRで)-中央値ではなく、上位の分位点(たとえば75番目)に焦点を当てています。予測モデリングの背景から、モデルがテストセットにどの程度適合するかを測定し、これをビジネスユーザーに説明できるようにします。私の質問はどうですか?継続的なターゲットの典型的な設定では、次のことができます。

  • 全体のRMSEを計算する
  • データセットを予測値で十分位取りし、実際の平均値を各十分位数で予測された平均値と比較します。
  • 等。

この場合、予測と比較する実際の値が実際にない(少なくとも考えていない)場合、何ができますか?

コードの例を次に示します。

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)

では、条件付き分布のパーセンタイルが観測されないため、どうなりますか?

追加:

私はいくつかの方法を仮定しましたが、それらが正しいかどうか、より良い方法があるかどうか、また最初の方法をどう解釈するかを知りたいです:

  1. 損失関数から平均値を計算します。

    qregLoss<-function(actual, estimate,quantile)
    {
       (sum((actual-estimate)*(quantile-((actual-estimate)<0))))/length(actual)
    
    }
    

    これは、変位値回帰の損失関数ですが、値をどのように解釈するのでしょうか?

  2. たとえば、テストセットで75パーセンタイルを計算する場合、予測値は実際の値の75%程度よりも大きくなるはずだと考えるべきでしょうか。

モデルが新しい事例をどれだけうまく予測できるかを説明するための正式なまたは発見的な方法はありますか?


このペーパーのセクション3は役に立つかもしれません。
-tchakravarty

@tchakravartyリンクが切れたと思う
-alexpghayes

回答:



0

ピンボール損失(https://arxiv.org/pdf/1102.2101.pdfの2ページ目の冒頭で定義)を使用して、モデリングする分位数の平均絶対誤差(MAE)として解釈します、100のエラーについて、「テストデータの実際の75%分位に関するモデルの平均絶対エラーは100です」としましょう。

外れ値はそれほど影響力がないため、これはRMSEと比較できないことに注意してください。

質問(2)に答えるには:75%分位点をモデル化すると、データマスを分割する境界にフィットします!75:25の比率に。次に、テストデータの約25%が予測より上にあるはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.