shchur / ifl-tpp

Implementation of "Intensity-Free Learning of Temporal Point Processes" (Spotlight @ ICLR 2020)
https://openreview.net/forum?id=HygOjhEYDH
MIT License
78 stars 31 forks source link

history #15

Closed dgbsg closed 2 years ago

dgbsg commented 2 years ago

I want to know whether your method takes into account the influence of historical events?thank you.

shchur commented 2 years ago

Yes, figure 1 in the paper depicts how the past events are used to predict the next event.

dgbsg commented 2 years ago

Thank you very much for your reply. I think this is a great job and is very helpful to my research direction, I am reading your paper now.I successfully ran your code, but I found that you seem to have used the early stop strategy during the training.But I'm curious, from the printed loss value, it seems that the training did not reduce the loss, as shown below: 2021-10-15 20-18-29 的屏幕截图 The data files I use are as follows: 2021-10-15 20-18-20 的屏幕截图

The results: 2021-10-15 20-18-37 的屏幕截图 Can I understand that the model can achieve such an effect without training (according to loss)?

shchur commented 2 years ago

Hi, the loss Epoch 0: ... is already after the completion of the first epoch, so multiple gradient updates have already been performed. The inter-event times in the dataset you are using (stationary_renewal) are independent of the history, so I think it's quite normal that the model converges within 1 epoch.

If you try a more challenging dataset, like hawkes1 or self_correcting, the model will take longer to train.

dgbsg commented 2 years ago

Thank you for your answer. I have another question about the accuracy of time prediction. I have read some papers and codes. I found that many people like to use MAE or RMSE as evaluation indicators in terms of time prediction accuracy. I think this is incorrect.You can use these as the objective function , And for the predicted effect ,we only need to draw the curve between the real value and the predicted value on a graph, and we can clearly see the prediction performance. I've tried to run some code. Although their Mae or RMSE is very low, they don't actually predict a relatively accurate time at all. so,why? In addition, for this classic point process,https://dl.acm.org/doi/abs/10.1145/2939672.2939875, as shown in the article, the prediction effect of RMTPP on the event type on the real data set is not ideal, and the error rate can reach up to 80%. I directly use other methods of time series analysis that may produce better results.In summary, I am thinking about whether there is a need for point process analysis for the sequence of events and time generated in the real world. I look forward to your response,thanks.

shchur commented 2 years ago

Hi, regarding MAE/MSE objectives: you might want to have a look at the discussion in issue #14.

A short summary of that discussion: If you only care about predicting the time and/or mark of the next event, you probably don't need a TPP model at all. A simple sequence model (e.g. RNN) trained with MAE/MSE/categorical cross-entropy loss will likely produce better results, as you correctly pointed out.

Here are some examples of scenarios where a TPP (i.e. a generative model for event sequences) is useful: