TimeSleuth

TimeSleuth is a name shared by a number of unrelated tools.

Zaurus Software offers an application called TimeSleuth as "a system for recording the amount of time spent performing activities such as consulting, project work, etc., and producing useful reports such as time sheets and summaries from the recorded data" [2].

The Datamining tool TimeSleuth is a Java program for discovering temporal decision rules from sequences of data records. The input data is considered to be produced at discrete intervals, and the output rules can refer to past or future values to predict the value of the class attribute.

The application was developed by Kamran Karimi in the Department Of Computer Science at the University of Regina. C4.5 is used by TimeSleuth to generate decision rules. Temporal information is added using a pre-processing step and the resulting rules are then post-processed, so any temporal order among the condition attributes is retained.

TimeSleuth implements the TIMERS algorithm [3], which in addition to generating rules, measures the causality or acausality of the relationship between the condition attributes and the decision (classification) attribute. It can discover deterministic causal relationships among attributes, which is a problematic domain for Bayesian causality discoverers, as per Judea Pearl's formulation. The research leading to the development of TimeSleuth has prompted improvements on Bayesian causal discovery [4].

A simple example is that of observing the values of two attributes (or variables): Current location (in 1 dimension), and the intended direction of movement (to left or to right). An input sequence such as <2, left>, <1, right>, <2, right>, <3, right> tells us the current location, plus the movement direction. The next record shows us the result of the movement. Here in the first record the location is 2 and the intented direction of movement is to the left. In the next record we observe that the current location has changed to 1 as a result.

When generating rules, TimeSleuth considers the possibility that there is a temporal relationship between the records, so it comes up with rules such as:

if at time t-1 x = 2 and at time t-1 movement = left, then at time t x = 1.
if at time t-1 x = 1 and at time t-1 movement = right, then at time t x = 2.

Time t denotes the current time, and t-1 is the previous time step. The attribute containing the previous value of the x, plus the movement attribute, form the set of condition attributes. The attribute holding the current value of x is considered to be the decision attribute. Such rules are called causal by TimeSleuth because they refer to the previous observations to predict the current observation.

Similarly, TimeSleuth can generate rules the refer to the next time steps to predict (retrodict) the value of a decision attribute at the current time, for example:

if at time t+1 x = 3 and at time t+1 movement = right, then at time t x = 2. 

Such rules are considered acausal in TimeSleuth because they use the next observations to predict the current value of a decision attribute. If a rule refers to both the previous and the next values of condition attributes, then the rule is still considered to be acausal.

  • Link to download TimeSleuth 1
  • Zaurus Software's TimeSleuth homepage 2

References

  • The TIMERS II Algorithm for the Discovery of Causality 3
  • Learning Bayesian Networks in Semi-deterministic Systems 4