The graph you provided is upside down. Please provide your spreadsheet that you used to generate it, I am very confused how you could even make that happen. You'd have to have multiplied all y values with a -1 to cause such a thing.
I have provided a correctly oriented graph, along with the first derivative here:
Correct Graph
Blue is the source data
Orange is the first derivative
The 3 curves presented here are not to scale and lack axes. As such they misrepresent the meaningfulness of the first derivative in peak detection.
Your conclusion that upside down derivatives are not useful in peak detection is in fact correct. I assure you that a correctly oriented first derivative is useful for this type of problem.
Even though your chart is upside down, your first and second derivatives seem to be calculated correctly (for the upside down data). If you redraw it to scale with axes you will notice that any time the first derivative crosses the x axis (aka it is zero) there will be a peak. This is a very useful property of the first derivative for such peak detection.
With a very small perl program (less than 200 lines) I have a peak detector that works pretty well for this type of psuedo-sinusoidal data. It doesn't take much to do this kind of detection once you have the first derivative calculated and saved.
Given that - as with all solutions, it must fit the problem, and my data is probably a lot different than other people's data (although it's pretty close to the OPs)
In reply to Re^6: Any idea for predicting the peak points in the graph by perl
by gaimrox
in thread Any idea for predicting the peak points in the graph by perl
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |