Motivation
XY Scatter Charts based off of time series data aren't trivial. Not only do you need to sync up timestamps to get values of 2 different ts attributes, you also have to consider material flow.
We found that little adjustments to the material flow timespan can make a big difference in finding corellations.
Solution
This study allows you to chart 2 timeseries attributes, spec time steps for a scatter chart, and manually off-set the second attribute by time-shifting to the left or to the right. Fine-tuning.
Usage
To install the extension you need access to the administrator section of your CMS:
- Grab the zip file below and drag it into the Extensions->Manage->Install page.
- Access the XY Scatter with TimeShift component by browsing to ... thinkiq.net/?option=com_xytimeshifter.
- Even better, create a menu link.
Download extension package here: xytimeshifter.zip
Under the Hood
We go through a sequence of brute force steps to enable this feature. Everything happens in the browser - so there should be good opportunities to improve upon this by moving load to the server.
- We load the complete ts data set available for the time range in question.
- We build an independent set of timestamps based on the start and end time and the desired step width.
- We then interpolate values on both ts attributes for all time steps to generate an XY Scatter Chart.
- The same sequence is executed when the 2nd attribute is time shifted slightly to the left or right.
Roadmap
- in this example we assume the ts data is sufficiently dense. if time steps get larger and "swallow" ts features we should apply some sort of time-weighted averaging on time steps.
- the means to pick your attributes is very cruel. there should be a UI way of picking your attributes.
- if you find the "preferred" time shift, you should be able to save it as material flow value.
- we could stear the user "to the left" or "to the right" by pre-computing R-values for the neighboring time-shifts.
- we could robo-crunch numbers for a lot of time-shifts, stating the "best possible fit" - like telling an airline that you have flexible travel dates.