1. A method comprising a computer programmed product embodied on a computer readable medium and configured to be executed by a microprocessor, the computer programmed product comprising a method for predicting a sequence of events by computer instructions comprising: collecting baseline event patterns; searching the baseline event patterns for sequential patterns; translating the sequential patterns into a probabilistic graphical model; and using a temporal reasoning engine to feed the probabilistic graphical model with current event sequences and predict future events and the probability the future events will happen in a next time window.