# Predicting probabilities of events using neural networks

I've got a few thousands of sequences like

1.23, 2.15. 3.19, 4.30, 5.24, 6.22


where the numbers denote times on which an event happened (there's just a single kind of events). The events are sort of periodical and the period is known to be exactly one, however, the exact times varies. Sometimes, events are missing and there are other irregularities, but let's ignore them for now.

I'd like to train an neural network for predicting the probability that there'll be a next even in a given time interval. The problem is that I have no probabilities for the training.

All I have are the above sequences. If I had four sequences like

1.23, 2.15. 3.19, 4.30, 5.24, 6.05
1.23, 2.15. 3.19, 4.30, 5.24, 6.83
1.23, 2.15. 3.19, 4.30, 5.24, 6.27
1.23, 2.15. 3.19, 4.30, 5.24, 6.22
1.23, 2.15. 3.19, 4.30, 5.24, 6.17


then I could say that the probability of an event in the interval [6.10, 6.30] is 60% and use this value for learning. However, all my sequences are different. I could try to group them somehow so that I can define something like a probability, but this sounds way more complicated than what I'm trying to achieve.

Instead, I could try to use the sequence

1.23, 2.15. 3.19, 4.30, 5.24, 6.22


to learn that after the prefix 1.23, 2.15. 3.19, 4.30, 5.24, there will be an event in the interval [6.10, 6.30] for sure (value to learn equal to one); if there was 6.05 instead of 6.22, the value to learn would be zero. A learned network would produce the average value (let's say 0.60).

However, the error would never converge to zero, so there'd be no quality criterion and probably a big chance of overtraining leading to non-sense results.

Is there a way to handle this?

## 1 Answer

You can set up a neural network to predict whether there is an event in a randomly picked interval. I.e. if there is an event in this interval in your trainingsdata you train to output a 1 otherwise you train to output a 0.

If you use the quadratic loss function the prediction of the NN should approximate the probability of such an event.

Overfitting can be monitored with by splitting your trainingsdata into train- and testset.

If you train an RNN by inputting the intervals between events, these intervals should be more similar than the exact event times. Modelling a time series like this also makes more sense.

Of course these details depend on what exactly the data is representing. And it is also possible that decent predictions are impossible for this dataset.