I want to use a neural network to model a biological continuous variable. This variable depends on a bunch of events that happened in the preceding hours, sometimes up to 24 hours, including the previous (few) value(s) of that variable. And critically, the time since each of those events, where an event further in time from the label variable is less important. I should clarify that that is what my knowledge of this domain tells me, I'm hoping some experimentation with the data will tell me more.

The data comes as a long list of event types, the value of that event and a timestamp. I would like to treat each occurrence of the label variable as a training vector's label, using the events in the preceding hours as the features.

But how do I incorporate the time that those variables occurred into the feature vector? I'm either asking for suggested reading or some specific keywords/techniques I can look up in text books or on here.

Here is a small set of made up date that I would turn into a vector:

Timestamp   EventType   Value
    x           A        5.0   <- the label variable I want to predict
   x-3h         B       12.0   
   x-4h         A       10.0
   x-4h         D       30.0
   x-7h         D       20.0
   x-20h        C        8.0

The predicted variable is always event type A. The other event types just affect event type A. All event types have unique units, if that matters. In the next vector, event A and time x will become a feature.

I've been reading about tapped delay lines, but they only get very rudimentary explanations in textbooks. My understanding is in this case I might have a matrix like this

0000000000000000 10 000
00000000000000000 12 00
000 8 00000000000000000
000000000 20 000 30 000 

where hours without events are 0, each row in the matrix is a different event type, and the hours with events get values, perhaps normalized.

Though so far I've only worked with 1 dimensional vectors in neural networks, hopefully 2d isn't much harder.

My initial thought was 'why can't I just have the time difference between label timestamp and eventX timestamp as another feature along side the scalar value of eventX'. But maybe this doesn't work?

My professor wasn't that helpful on this, besides pointing me to tapped delay lines and mumbling something incoherent about recurrent NNs, does anyone here have some direction for me?

| cite | improve this question | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.