A multivariate time series explorer

November 5, 2011

This graphical utility aids investigation of multivariate time series data. It applies user-specified transformations to time series variables; it then calculates a weighted sum of those variables based on user-specified weights.

For example, if variables A and B are recorded at each time point for each subject in a study, the weighted sum for subject i at time t will be of the form

  Sum(i,t) = weightA*A'(i,t) + weightB*B'(i,t)

where the transformed variables are of the form

  A'(i,t) = transformationA(A(i,t) + shiftA) and
  B'(i,t) = transformationB(B(i,t) + shiftB).

Hovering over an observation point yields information about that point. Clicking on a point highlights all points in the series to which it belongs.

Colours may be applied to the time series to indicate grouping. This helps suggest tests to determine grouping. For example, the default dataset permits two groupings (“Beer” and “No Beer”) and gives the number of successful recitations of three tongue twisters (termed “Witch”, “Wristwatch” and “Shipshape”) prior to drinking a beer and after drinking a beer on four consecutive days. By applying appropriate weights and transformations to these three tongue twister variables, we may use the weighted sum as a test for sobriety. Or not. (I have used this silly dataset merely for illustrative purposes, having been unable to find a more suitable dataset.)

This graphical utility is data-driven, but I have not included a facility by which it may be rerun on user-supplied data. Such a facility introduces security issues that I do not have time to deal with.

I created this utility for a university assignment. It uses the Flot JavaScript library and the dhtmlxSlider JavaScript slider.