ฉันมี Dynamic Naive Bayes Model ที่ได้รับการฝึกอบรมเกี่ยวกับตัวแปรทางโลกสองสามอย่าง ผลลัพธ์ของตัวแบบคือการทำนายP(Event) @ t+1โดยประมาณที่แต่ละtตัว
พล็อตของP(Event)แทนที่จะtimeเป็นได้รับในรูปด้านล่าง ในรูปนี้เส้นสีดำแสดงถึงP(Event)แบบจำลองที่ทำนายไว้ เส้นสีแดงในแนวนอนหมายถึงความน่าจะเป็นสิ่งที่เกิดขึ้นก่อนเหตุการณ์; และเส้นแนวตั้งประเป็นตัวแทนเหตุการณ์ที่เกิดขึ้นห้าเหตุการณ์ในอนุกรมเวลา
โดยหลักการแล้วฉันต้องการเห็นP(Event)จุดสูงสุดที่คาดการณ์ไว้ก่อนที่จะสังเกตเหตุการณ์ใด ๆ และอยู่ใกล้กับศูนย์เมื่อไม่มีโอกาสของเหตุการณ์

ฉันต้องการรายงานว่าแบบจำลองของฉัน (เส้นสีดำ) ทำงานได้ดีเพียงใดในการทำนายเหตุการณ์ที่เกิดขึ้น ผู้สมัครที่ชัดเจนที่จะเปรียบเทียบรูปแบบของฉันที่มีคือความน่าจะเป็นของเหตุการณ์ก่อน (เส้นสีแดง) ซึ่งหากใช้เป็น predictor- tจะทำนายค่าความน่าจะเป็นเหมือนกันสำหรับทุก
อะไรคือสิ่งที่ดีที่สุดวิธีการอย่างเป็นทางการเพื่อให้บรรลุการเปรียบเทียบนี้?
PS:ขณะนี้ฉันกำลังใช้การให้คะแนน (ใช้งานง่าย) ตามรหัสด้านล่างโดยที่คะแนนที่ต่ำกว่าโดยรวมบ่งบอกถึงประสิทธิภาพการทำนายที่ดีกว่า ฉันพบว่าจริง ๆ แล้วมันค่อนข้างยากที่จะเอาชนะก่อนด้วยการให้คะแนนนี้:
# 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);