क्वांटाइल मॉडलिंग में मॉडल का प्रदर्शन


14

मैं मात्रात्मक प्रतिगमन का उपयोग कर रहा हूं (उदाहरण के लिए gbmया quantregआर के माध्यम से ) - मध्यिका पर ध्यान केंद्रित नहीं कर रहा है, बल्कि एक ऊपरी मात्रात्मक (जैसे 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

जवाबों:


3

क्वांट रिग्रेशन मॉडल के विभिन्न वर्गों के लिए क्रॉस-वैलिडेशन के आधार पर पूर्वानुमान सटीकता के मात्रात्मक-विशिष्ट उपायों के उपयोग पर चर्चा करते हुए , हाउट, कैगर और श्नेर्बस (2011) का एक उपयोगी संदर्भ हो सकता है ।


0

मैं पिनबॉल हानि ( https://arxiv.org/pdf/1102.2101.pdf के दूसरे पृष्ठ की शुरुआत पर परिभाषित) का उपयोग करूंगा और उदाहरण के लिए, जिस मात्रा में आप मॉडलिंग कर रहे हैं, उसे पूर्ण निरपेक्ष त्रुटि (MAE) के रूप में व्याख्या करें। , 100 की त्रुटि के लिए कहते हैं: "हमारे परीक्षण डेटा में वास्तविक 75% -कंटाइल के बारे में हमारे मॉडल की औसत पूर्ण त्रुटि 100 है।"

ध्यान रखें कि यह RMSE से तुलनीय नहीं है क्योंकि आउटलेरर्स बहुत कम प्रभावशाली हैं।

अपने प्रश्न का उत्तर देने के लिए (2): यदि आप 75% मात्रात्मक मॉडल करते हैं, तो आप डेटा विभाजन को विभाजित करते हुए सीमा को फिट करेंगे! 75:25 के अनुपात में। फिर आपके परीक्षण डेटा का लगभग 25% आपकी भविष्यवाणी के ऊपर होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.