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.
I think Jazzmaniac's suggestion concerning Savitkzy-Golay filters makes a lot of sense. However, I do not suggest to simply smooth your data using these filters. What many people are not aware of is the fact that there are differentiating Savitzky-Golay filters, which smooth and compute the derivative at the same time. Such filters are implemented in Matlab: check this

You can use the smoothed derivative to detect your desired starting point. It will still require some heuristics and tweaking, but I do not see any other more straightforward way to do it.