2

I have a, say, daily income data set of numeric Temporal Properties, like:

Date       Income
2012-01-03 12
2012-01-05 11
2012-01-06 28
2012-01-07 9
2012-01-08 15

I'm doing several operations on it:

  • Aggregation: group by week/sum by value;
  • Interpolation;
  • Shifting/cyclic shifting over time interval;
  • Various smoothing;
  • Summing/subtracting datasets (combined with interpolation);
  • Calculating difference to a next value - resulting in a "daily income change" dataset;

Another example is currency rate given in Effectivity intervals like:

StartDate  EndDate    Rate
2012-01-03 2012-01-04 12
2012-01-05 2012-01-05 11
2012-01-06 2012-01-06 28
2012-01-07 2012-01-07 9
2012-01-08 2012-01-12 15

and operations like:

  • multiplying income dataset by rate dataset;
  • converting income from one-time events set to a sequence of Effectivities (till the next known value) and vice versa;

Additionally, the Efiictivities set can be dense (without gaps) or with gaps, can allow or not allow overlaps.

What is the name of this concept? I didn't find any things like this in answers to this question, for instance.

It's a kind of numerical representation of a function, but pretty specific one.

Ideally, I'm lookinng for a Java library with Hibernate support to do these.

Community
  • 1
  • 1
Victor Sergienko
  • 13,115
  • 3
  • 57
  • 91

2 Answers2

1

If you are looking for the set of algorithms that look at a incoming stream of data and extract properties from them, then take a look at online algorithms.

Jeff Foster
  • 43,770
  • 11
  • 86
  • 103
  • I'm rather looking for libraries/algorithms that operate on an existing historical sequences, and don't do anything too complex, but encapsulate the operations in a reusable way. Thank you anyway. – Victor Sergienko Jan 18 '12 at 09:49
1

The key search term is "TimeSeries"

See: https://stackoverflow.com/questions/950004/java-library-to-do-time-series-analysis

This has some good links to Java implementations.

But Java really isn't the best language for this - maybe try Python with Numpy or R.

Community
  • 1
  • 1
Pablojim
  • 8,542
  • 8
  • 45
  • 69