J'ai un modèle dynamique de Naive Bayes formé sur quelques variables temporelles. La sortie du modèle est la prédiction de P(Event) @ t+1
, estimée à chacun t
.
L'intrigue de P(Event)
versus time
est indiquée dans la figure ci-dessous. Dans cette figure, la ligne noire représente P(Event)
comme prévu par mon modèle; la ligne rouge horizontale représente la probabilité antérieure que l'événement se produise; et les lignes verticales en pointillés représentent les (cinq) événements survenus sur la série chronologique.
Idéalement, je souhaite voir le P(Event)
pic prévu avant d'observer les événements et rester proche de zéro lorsqu'il n'y a aucune perspective d'événement.
Je veux pouvoir signaler la performance de mon modèle (la ligne noire) pour prédire les événements. Un candidat évident pour comparer mon modèle est la probabilité d'événement antérieure (la ligne rouge) qui, si elle est utilisée comme prédicteur, prédirait la même valeur de probabilité pour tous t
.
Quelle est la meilleure méthode formelle pour réaliser cette comparaison?
PS: J'utilise actuellement le score (intuitif) tel que codé ci-dessous, où un score global plus bas indique de meilleures performances de prédiction. J'ai trouvé qu'il est en fait assez difficile de battre le précédent avec ce score:
# 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);
Réponses:
Vous pouvez créer une courbe ROC. Pour une valeur donnée de p comprise entre 0 et 1, vous prédisez que l'événement va se produire si la probabilité prédite est supérieure à p. Ensuite, vous calculez TPR et FPR qui vous donne un seul point sur la courbe ROC. En faisant varier p entre zéro et un, vous obtenez la courbe entière. Par exemple, pour p <0,005, le prédicteur basé sur les précédents dira toujours que l'événement se produira à tout moment.
Pour en savoir plus, voir:
http://en.wikipedia.org/wiki/Receiver_operating_characteristic
la source