আমার একটি ডায়নামিক নাইভ বেইস মডেল বেশ কয়েকটি টেম্পোরাল ভেরিয়েবলের উপর প্রশিক্ষিত। মডেলটির আউটপুটটি P(Event) @ t+1
প্রতিটি অনুমানের পূর্বাভাস t
।
চক্রান্ত P(Event)
বনাম time
যেমন নীচের চিত্রে দেওয়া হয়। এই চিত্রে, কালো রেখাটিP(Event)
আমার মডেল দ্বারা পূর্বাভাস হিসাবে উপস্থাপিত ; অনুভূমিক লাল রেখা ঘটনা ঘটছে পূর্ব সম্ভাব্যতা প্রতিনিধিত্ব করে; এবং বিন্দুযুক্ত উল্লম্ব লাইনগুলি সময় সিরিজে (পাঁচ) ইভেন্টের উপস্থিতি উপস্থাপন করে।
আদর্শভাবে, আমি P(Event)
কোনও ইভেন্ট পর্যবেক্ষণ করার আগে পূর্বাভাসিত শীর্ষটি দেখতে এবং যখন কোনও ইভেন্টের সম্ভাবনা না থাকে তখন শূন্যের কাছাকাছি থাকতে চাই।
আমি ঘটনাটি ঘটনার পূর্বাভাস দেওয়ার ক্ষেত্রে আমার মডেল (ব্ল্যাক লাইন) কতটা ভাল পারফর্ম করে তা জানাতে সক্ষম হতে চাই। আমার মডেলটির সাথে তুলনা করার একটি সুস্পষ্ট প্রার্থী হ'ল ইভেন্টের পূর্ব সম্ভাবনা (লাল রেখা), যা পূর্বাভাসক হিসাবে ব্যবহৃত হয়- সবার জন্য একই সম্ভাবনার মানটির পূর্বাভাস দেয় t
।
এই তুলনা অর্জনের জন্য সেরা আনুষ্ঠানিক পদ্ধতি কী ?
পিএস: আমি বর্তমানে নীচের কোডড হিসাবে (স্বজ্ঞাত) স্কোরিং ব্যবহার করছি, যেখানে সামগ্রিকভাবে কম স্কোর আরও ভাল পূর্বাভাসের কর্মক্ষমতা নির্দেশ করে indicates আমি দেখতে পেয়েছি যে এই স্কোরিংয়ের সাথে পূর্বেরটিকে পরাজিত করা আসলে বেশ কঠিন:
# 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);