Zaman Serisi Tahmin Performansının Değerlendirilmesi


9

Birkaç geçici değişken üzerinde eğitilmiş bir Dinamik Naive Bayes Modelim var. Modelin çıktısı P(Event) @ t+1, her biri için tahmin edilen tahminidir t.

Arsa P(Event)karşı timeolarak aşağıdaki şekilde verilmiştir. Bu şekilde, siyah çizgi temsil P(Event)benim model tarafından tahmin; kırmızı yatay çizgi olay meydana gelme olasılığını önce temsil eder; ve noktalı dikey çizgiler zaman serisindeki (beş) olay örneğini temsil eder.

İdeal olarak, P(Event)herhangi bir olayı gözlemlemeden önce tahmin edilen zirveyi görmek ve bir olay olasılığı olmadığında sıfıra yakın kalmak istiyorum.

P (Olay) ve Zaman Grafiği

Modelimin (siyah çizgi) olay oluşumlarını tahmin etmede ne kadar iyi performans gösterdiğini rapor etmek istiyorum. Modelimi karşılaştırmak için bariz bir aday, bir öngörücü olarak kullanılırsa, herkes için aynı olasılık değerini öngörecek olan önceki olay olasılığıdır (kırmızı çizgi) t.

Bu karşılaştırmayı gerçekleştirmek için en iyi resmi yöntem nedir ?

Not: Şu anda (sezgisel) puanlamayı aşağıda kodlandığı gibi kullanıyorum, burada genel olarak daha düşük bir puan daha iyi tahmin performansını gösteriyor. Öncelikle bu puanlama ile yenmenin oldukça zor olduğunu gördüm:

# 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);

Anlamlı bir kayıp fonksiyonu uygulayabileceğinizi düşünüyor musunuz? Doğru / yanlış tahmin ederek ne kadar kazandığınızı / kaybettiğinizi söylemenin bir yolu var mı?
James

Bunu düşündüm, ancak istediğim gibi düşük veya yüksek performans elde etmek için ayarlayabileceğim keyfi bir kayıp fonksiyonu icat etmek istemiyorum.
Zhubarb

Yanıtlar:


1

Bir ROC eğrisi oluşturabilirsiniz. 0 ile 1 arasında verilen bir p değeri için, öngörülen olasılık p'den büyükse olayın gerçekleşeceğini tahmin edersiniz. Ardından, ROC eğrisinde tek bir nokta veren TPR ve FPR'yi hesaplarsınız. P'yi sıfır ile bir arasında değiştirerek tüm eğriyi elde edersiniz. Örneğin p <0.005 için önceki temelli öngörücü her zaman olayın her zaman olacağını söyleyecektir.

Daha fazlası için bakınız:

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


Sadece AUC'nin bu eğriler için özet bir istatistik olarak mevcut olduğunu eklemek için.
varsayımlar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.