몇 가지 시간 변수에 대해 훈련 된 Dynamic Naive Bayes Model이 있습니다. 모델의 결과는 P(Event) @ t+1
각각의 추정치 t
입니다.
P(Event)
vs 의 도표는 time
아래 그림에 나와 있습니다. 이 그림에서 검은 선 은 P(Event)
내 모델에서 예측 한대로 나타냅니다 . 수평 적색 라인 이벤트 일어나는의 사전 확률을 나타내고; 그리고 점선 수직선은 시계열에 (오) 이벤트 발생을 나타냅니다.
이상적으로, 나는 P(Event)
사건을 관찰하기 전에 예측 된 피크 를보고 사건이 없을 때 0에 가깝게 유지하고 싶습니다 .
이벤트 발생을 예측하는 데 내 모델 (검은 색 선)이 얼마나 잘 수행되는지보고하고 싶습니다. 내 모델을 비교할 확실한 후보자는 예측 변수로 사용 된 경우 모두에 대해 동일한 확률 값을 예측하는 이전 이벤트 확률 (빨간색 선) 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);