टाइम सीरीज भविष्यवाणी प्रदर्शन का मूल्यांकन


9

मेरे पास एक डायनेमिक नाइव बेयस मॉडल है जो कि कुछ अस्थायी चरों पर प्रशिक्षित है। मॉडल का आउटपुट P(Event) @ t+1प्रत्येक की अनुमानित भविष्यवाणी है t

P(Event)बनाम timeका प्लॉट नीचे दिए गए चित्र में दिया गया है। इस चित्र में, काली रेखा को दर्शाता है P(Event)के रूप में अपने मॉडल के आधार पर भविष्यवाणी की; क्षैतिज लाल रेखा घटना हो रहा है की पूर्व संभावना प्रतिनिधित्व करता है; और बिंदीदार खड़ी रेखाएं समय श्रृंखला पर (पांच) घटना घटती हैं।

आदर्श रूप से, मैं P(Event)किसी भी घटना को देखने से पहले भविष्यवाणी की गई चोटी को देखना चाहता हूं और किसी घटना की कोई संभावना नहीं होने पर शून्य के करीब रहना चाहिए।

पी (इवेंट) बनाम टाइम ग्राफ

मैं यह रिपोर्ट करने में सक्षम होना चाहता हूं कि मेरा मॉडल (काली रेखा) घटना की घटनाओं की भविष्यवाणी करने में कितना अच्छा प्रदर्शन करता है। मेरे मॉडल के साथ तुलना करने के लिए एक स्पष्ट उम्मीदवार घटना (लाल रेखा) की पूर्व संभावना है, जो -इसे भविष्यवक्ता के रूप में उपयोग किया जाता है- सभी के लिए समान संभावना मूल्य की भविष्यवाणी करेगा t

इस तुलना को प्राप्त करने के लिए सबसे अच्छा औपचारिक तरीका क्या है ?

पुनश्च: मैं वर्तमान में नीचे कोडित के रूप में (सहज) स्कोरिंग का उपयोग कर रहा हूं, जहां एक समग्र निचला स्कोर बेहतर भविष्यवाणी प्रदर्शन को इंगित करता है। मैंने पाया कि वास्तव में इस स्कोरिंग से पूर्व को हरा पाना काफी मुश्किल है:

# Get prediction performance
model_score = 0; prior_score=0; 

for t in range(len(timeSeries)):

   if(timeSeries[t]== event):  # event has happened
      cur_model_score = 1- prob_prediction[t]; 
      cur_prior_score = 1 - prior
   else: # no event
      cur_model_score = prob_prediction[t] - 0;
      cur_prior_score = prior - 0;

   model_score = model_score + abs(cur_model_score);
   prior_score = prior_score + abs(cur_prior_score);

क्या आपको लगता है कि आप एक सार्थक नुकसान समारोह को लागू कर सकते हैं? क्या यह कहने का एक तरीका है कि आप सही / गलत तरीके से अनुमान लगाकर कितना लाभ / हानि प्राप्त करते हैं?
जेम्स

मैंने इसके बारे में सोचा, लेकिन मैं एक मनमाना नुकसान फ़ंक्शन का आविष्कार नहीं करना चाहता, जिसे मैं अपनी इच्छा के अनुसार कम या उच्च प्रदर्शन प्राप्त कर सकता हूं।
ज़ुर्बर्ब

जवाबों:


1

आप एक ROC वक्र बना सकते हैं। 0 और 1 के बीच p के दिए गए मान के लिए आप अनुमान लगाते हैं कि घटना होने वाली है यदि अनुमानित संभावना p से अधिक है। फिर आप TPR और FPR की गणना करते हैं जो आपको ROC वक्र पर एक बिंदु देता है। शून्य और एक के बीच अलग-अलग पी करके आप संपूर्ण वक्र प्राप्त करते हैं। जैसे पी <0.005 के लिए पूर्व-आधारित भविष्यवक्ता हमेशा कहेंगे कि घटना हर समय होगी।

अधिक के लिए, देखें:

http://en.wikipedia.org/wiki/Receiver_operating_characteristic


बस जोड़ने के लिए कि एयूसी इन घटता के लिए एक सारांश सांख्यिकीय के रूप में उपलब्ध है।
अनुमान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.