# How to find the inflection point in a noisy curve?

I have the the noisy curve defined by numpy 2D array: As you can see, it has the first flat segment, then rise, peak and decay phases. I need to find the starting point of the rise phase, marked here by the red dot. What algorythm can I use for that? I need it to be as noise-tolerant as possible.

• My first shot would be Savitzky-Golay: en.wikipedia.org/wiki/Savitzky–Golay_filter Apr 15 '14 at 16:03
• @Jazzmaniac, Ok, that's about smoothing. But will it help me find the point of interest?
– Axon
Apr 15 '14 at 16:16
• @Axon: It all comes down to creating some systematic criteria that you use to determine what you mean by the "starting point." For example, why did you select the red dot instead of one a couple samples previous (it appears to start decaying slightly before the red dot)? Then, think about how to describe to a computer to make that decision for you. Apr 15 '14 at 16:20
• @Jason R, I placed the dot simply by the eye. :-) I estimate the shape of the curve, then extrapolate it and find the point where it most probably goes nonlinear. But I can't figure out the algorythm for each step and it is probably not very efficient way.
– Axon
Apr 15 '14 at 16:25