0

To be concrete, given 2D numerical data as is shown as line plots below. There are peaks on a background average movement (with small vibrations). We want to find the values of pairs (x1, x2) if those peaks drops down to average; or (x1) only if the line doesn't back to the average. how to find x1 and x2 from data without plotting? how to find x1 from data without plotting?

There are thousands of such 2D data.

What is the right statistic or machine learning algorithm to find x1 and x2 above without plotting?

Osiris
  • 1,007
  • 4
  • 17
  • 30
  • 1
    Providing the data that produces this graph would fetch you answers! Try to give a snapshot of your data to make your problem **reproducible**. – Shiva Jun 23 '15 at 18:24
  • Maybe check whenever the signal is larger than say 3 times the standard deviation of the noise in quiet condition? Not sure if that is the best in a statistical sense, but it would be a quick and dirty way to get started ... – Bas Swinckels Jun 23 '15 at 18:24
  • 1
    StackOverflow is great for programming questions, that is when you know what you want to do but aren't sure how to make the computer actually do it. Since you don't have very precise definitions of "peaks" or "normal", it's really hard to suggest code that might help. Perhaps your question would be better suited for [programmers.se] or [datascience.se] (though I would check what they consider on-topic before posting there as well). – MrFlick Jun 23 '15 at 18:37
  • 1
    Some questions about algorithms are on-topic for Programmers. However, I don't think this question would fit well there. It's a little bit too much of a fishing expedition and therefore too broad. –  Jun 23 '15 at 18:39
  • I'm voting to close this question as off-topic because it is not about a specific programming problem as defined in Stack Overflow's help center. – Simon Forsberg Jun 23 '15 at 18:42
  • 2
    And probably also on topic for Digital Signal Processing http://dsp.stackexchange.com/ This is essentially a peak and/or noise detection problem. – Vlo Jun 23 '15 at 19:15
  • @MrFlick consider taking a look at **[What goes on Programmers.SE? A guide for Stack Overflow](http://meta.programmers.stackexchange.com/q/7182/31260)** – gnat Jun 23 '15 at 19:21
  • 1
    About peak detection check this http://stackoverflow.com/questions/3260/peak-detection-of-measured-signal interestingly, it wasn't considered offtopic, maybe because there dsp.stackexchange.com didn't exist at that time... – pmod Jun 23 '15 at 20:27
  • @pmod Fantastic link. I think the issue was that this was tagged with a `r` tag, which caused a lot of statistician-ish crowd to come in. The question is inherantly an electrical engineering/signal processing question (or least the most sophisticated solutions come from this field). Had this been tagged with `matlab`, there probably wouldn't be a reaction like this. – Vlo Jun 24 '15 at 02:46

1 Answers1

1

Note that this is not an exact answer.

I seriously have no idea what you are trying to do. But I can suggest you a way. Assuming that there is only one peak in the graph and you have all the 2D points data i.e; (X1,Y1)...(Xn,Yn)...

Try calculating the differences between the Y values of adjacent points and get the minimum value if you are doing Yn-1 - Yn (which indicates starting point of the peak). Similarly, get the maximum value which indicates the points with the decreasing peak.

Shiva
  • 789
  • 6
  • 15