Probably, someone who's into technical analysis of share prices eats stuff like this for breakfast. Me, I couldn't devise a theoretically acceptable approach.
I have this thing (private working set, to be exact) that gains size across time – bad.
I have a little program that collects a time series and I am able to graph it in excel and identify trends. However, I would like to automate this (as I am keeping track of so many processes, I can’t visually see all graphs sometimes. Plus, I would like to know in real time if a problem is there, not when my test is done and I have the time series).
The statistics is what baffles me. Let me present a graph:
Each line has a letter:
A. Is OK, size does not increase.
B. Is also OK. Size increases as a product of work but it goes back to baseline when work is done
C. Obviously bad, size increases without giving back
D. Tricky one, normally a flat line, except for some small increases. The overall trend is to increase – bad
E. Even more tricky, it gives back a little but not enough to compensate the increase
F. Gives and takes sporadically, with an overall trend to increase
Was wondering if you could advise on an algorithm to analyze the timeseries that will find those “gains” as they happen.
Edit - 24/10/2014/9:51AM (more info): I talked to a guy who's properly educated in sciences and he suggested that I treat every type of graph as a "profile". Each profile will have its own detector because it's hard for one formula to fit all types of increase trends.
The profiles I am going to add so far:
A. A cap. Let's say no process should go over 100MB (that's my case, your's will vary). This is a simple way to ensure that no matter the profile, the big increases will be caught. Some smaller increases may fly under the radar.
B. A profiler for C-graph - where there is simply not give-back, just increase. I actually have quite a few of those so this simple check is quite valid.
C. For D and E, I might try something like establishing a baseline and over a longer period of time, make sure it is not breached. Also will have to allow for some tolerance from the baseline (we can't expect the process to go EXACTLY back to the baseline)
D. For F, I think I want to average out every so-and-so readings to create a line like C and see the slope's angle.
Any ideas will be welcome