The Data Mining Forum This forum is about data mining, data science and big data: algorithms, source code, datasets, implementations, optimizations, etc. You are welcome to post call for papers, data mining job ads, link to source code of data mining algorithms or anything else related to data mining. The forum is hosted by P. Fournier-Viger. No registration is required to use this forum!.

I would like to apply sequential rule mining to time series data. My data is one long sequence of events (some of them happen at the same time stamp), and not separated into distinct sequences as described in documentation (http://www.philippe-fournier-viger.com/spmf/CMRules.php)

There are many different ways of spiting a time series to obtain multiple sequences.

1) A simple way is to split the time series into some segments having the same lengths. For example, each sequence could be a day, a week or a month of data.

In SPMF, there is a tool to split a time series into several segments, and a tool to convert a time series to a sequence. However, these tools do not consider time stamps. They just split by the number of points in each segments.

2) Another possibility would be to use a sliding window. For a window of 5 events, you would first take the events 1,2,3,4,5. Then the next window would be the events 2,3,4,5,6. Then the next windows would be the events 3,4,5,6,7. And so on.. This is another way of processing a sequence.

3) Another possibility could be to use some algorithms designed to find patterns in a single sequence. In SPMF, there is no such algorithm but this type of algorithms do exist. A sequential rule in a single sequence is sometimes called an "episode rules" and there exists some algorithms to find such rules. These algorithm will typically use a sliding window. If you are curious you can have a look. However, I do not have the code for this. Thus, the most simple would be to try 1) or 2) first.

You are welcome. I am glad that the library is useful. The reason why I have started this library is to share code to help other researchers so that everyone can avoid always programming the same algorithms over and over again. :-)

It is an interesting idea. But I cannot do that for you! You should try to do the programming by yourself. You could check the papers about stream mining to see the techniques used for stream mining and then develop your own solution. But this will likely take more than one week. Good luck!