# Local Max/Min from the list with fluctuation

I am trying to find the local minimum of the list of data with some noise. Here is how the data looks like below image, and I want to extract the three points.

From an question by giacomo (link), I kind of get how can I approach the solution. Michael suggested to use

 peakQ[{{x1_,y1_},{x2_,y2_},{x3_,y3_}}]:=y1<y2 && y2>y3


However, it will give more than 3 points of minimum because of my noisy data set; I want to find local minimum without the min points generated by the error(noise).

Here is one of the sample list. Anyone can suggest which way shall I look for?

 list={0.045923, 0.0431522, 0.0482363, 0.0454668, 0.0505528, 0.0399323,
0.045022, 0.0422603, 0.0473553, 0.0446, 0.049702, 0.0469549,
0.0442125, 0.0493284, 0.0465969, 0.0517241, 0.0490052, 0.0462932,
0.0514411, 0.0487444, 0.0460562, 0.0512286, 0.0485584, 0.0458979,
0.0510991, 0.0484594, 0.0458309, 0.0432139, 0.04846, 0.0458675,
0.0511388, 0.0485726, 0.0460204, 0.0434826, 0.0488098, 0.046302,
0.04381, 0.0413343, 0.0467248, 0.0442828, 0.0418584, 0.0473013,
0.0449134, 0.0425444, 0.0401949, 0.0378653, 0.0355561, 0.0332676,
0.0310004, 0.0287548, 0.0343794, 0.0243304, 0.0300003, 0.019998,
0.0257149, 0.0236084, 0.0136793, 0.0116227, 0.00959164, 0.0075865,
0.00560771, -0.00419092, -0.0061157, -0.00801295, -0.0177285,
-0.0195693, -0.0213815, -0.0153189, -0.00922709, -0.0109513,
-0.00479991, -0.00646356, 0.00759389, 0.00599204, 0.00442172,
0.00288328, 0.00137703, 0.00774775, 0.00630671, 0.012743, 0.0113684,
0.0100275, 0.00872066, 0.00744809, 0.0062101, 0.00500694, 0.00383888,
0.0105493, 0.00945204, 0.00839062, 0.00736526, -0.00146641,
0.00542361, 0.00450775, 0.00362879, 0.00278694, -0.00585956,
0.00121527, 0.000485792, -0.00020589, -0.00870103, -0.00931655,
-0.0020527, -0.0104328, -0.0109332, -0.0113951, -0.0118183,
-0.0122027, -0.0125483, -0.0128549, -0.0131224, -0.0211909,
-0.0213801, -0.0215302, -0.0294806, -0.0295521, -0.0295844,
-0.0374165, -0.0452092, -0.0451234, -0.0606759, -0.0683501,
-0.0838232, -0.0992568, -0.114651, -0.145681, -0.160996, -0.160595,
-0.152319, -0.136166, -0.119975, -0.103746, -0.087479, -0.0790116,
-0.0626695, -0.0541267, -0.0533829, -0.0447651, -0.03611, -0.0430904,
-0.0343612, -0.0255953, -0.0246288, -0.0236258, -0.0225865,
-0.0215111, -0.0203999, -0.0114179, -0.0102358, -0.0090186,
-0.00776656, -0.00647993, -0.00515898, -0.003804, -0.00241528,
-0.00882722, 0.000462242, 0.00195043, -0.00436258, -0.0028095,
-0.00122454, 0.000391984, 0.00203973, 0.00371836, -0.0024054,
-0.000665928, -0.0067293, 0.00290212, -0.00310244, -0.00124576,
0.000639261, -0.00527978, -0.00333912, -0.0013713, 0.000623291,
-0.00518723, -0.00314018, -0.00106758, -0.014632, -0.0125093,
-0.0181931, -0.0238527, -0.0216581, -0.0272709, -0.0328609,
-0.0462586, -0.0518041, -0.0729878, -0.0784903, -0.068313,
-0.0659455, -0.0557292, -0.0454941, -0.0352408, -0.0327985,
-0.0225098, -0.0122041, -0.00971053, 0.00062775, -0.00467504,
-0.00213403, 0.0082499, 0.0108201, 0.0134042, 0.0160019, 0.0186125,
0.0212358, 0.0160438, 0.018691, 0.0213492, 0.0240183, 0.0266975,
0.02156, 0.032085, 0.0269659, 0.0296818, 0.0324055, 0.0351369,
0.0378752, 0.0327945, 0.0355458, 0.0383028, 0.041065, 0.036007,
0.0387786, 0.0415541, 0.0365084, 0.0392907, 0.0420757, 0.0370385,
0.0398276, 0.034794, 0.0375855, 0.0403777}

• Try using FindPeaks. You'll need to negate your dataset so that the minima become maxima. FindPeaks has options for dealing with noisy data. There are an infinite number of ways of estimating these based on different assumptions you could make about the nature of your signal and noise. – Searke Jul 15 '16 at 15:37
• Thank you so much, it was very simple!!! IT saves lots of time for me! @Searke – Saesun Kim Jul 15 '16 at 16:05
• I could not accept your anwser,but I reall thank @Searke for the help! – Saesun Kim Jul 15 '16 at 20:04

ListLinePlot[{-list, list}, Epilog -> {Red, PointSize[Large], Point[peaks]}]