3
$\begingroup$

I have a data matrix where each row is measurement in time and each column is a feature.

time, feature 1, feature 2, feature 3
0, a, b, c
1, d, e, f
2, g, h, i
.
.
.

I would like to run some ML algorithms on this data (i also have with each row and associated label), regression, decision trees, but i want to add some time-sliding window features. That is for every measurement, say it has time i, i want to add the features of the measurement of time i-1 and i-2.

So the data matrix i want to end up with is:

time, feature 1, feature 2, feature 3, feature 1 time -1, feature 2 time -1, feature 3 time -3, feature 1 time -2, feature 2 time -2, feature 3 time -2
2, g, h, i, d, e, f, a, b, c
3, j, k, l, g, h, i, d, e, f
4, m, n, o, j, k, l, g, h, i
.
.
.

Notice that row with time 0 and 1 is missing, since they do not have enough historical data to add.

I figured that this was a common task and perhaps there was some way to do this in sci kit learn. Is there? I saw some plugins for creating sliding window features in images or text , but for a regular data matrix.

$\endgroup$
3
  • $\begingroup$ Check out pandas dataframe functionality $\endgroup$
    – Diego
    Sep 11, 2016 at 7:45
  • 1
    $\begingroup$ it specifically has time series functions for indexing rows $\endgroup$
    – Diego
    Sep 11, 2016 at 7:52
  • $\begingroup$ You wrote: "say it has time i, i want to add the features of the measurement of time i-1 and i-2" so that's a time index $\endgroup$
    – Diego
    Sep 11, 2016 at 8:08

0