Peak fitting

Hi everybody,

I have been trying to perform fitting of two peaks.....Basically, i have an asymmetric peak and i have physical reasons to believe that there is a big peak at around 957cm-1 and another peak in the range between 940-950cm-1(convolution of 2 peaks)....I have constrained the fit of the smaller peak between 940-950cm-1 and i let the big peak to vary freely until the software gives me the best fitting result. My problem is the following: as a starting point i place the small peak initially at 944 for example and the big peak at 957 and after the fitting i get the final positions at 943.6 and 957.5 reespectively. Then, i change the initial position of the small peak and i put it at 948 (big peak position remains static) and i get the same result (943.6 and 957.5). After that, i start at 948.4 (again big peak remains static initially) and now the software gives me different positions, which are 950 and 958.1 respectively. Last, i return the initial position of the small peak at 948 and i get the 950 and 958.1 result again instead of giving me the 943.6 and 957.5 that i obtained the first time using these initial positions. If i repeat this process a lot of times at other initial positions for the small peak (948.8, 949.1 etc) back and forth, i still get this discrepancy sometimes. Any ideas why this happens? Maybe i am missing something. I hope it does not appear complicated the way i described the problem. Thanks

Konstantinos
Have you selected a baseline?

As you suspect, the process you describe is too complicated to make any comment. Curve Fitting is a complex process and the final result depends in complex ways on the data, the initial guesses and on any constraints, etc. We might be able to help some if you post a copy of your Igor experiment file containing the data and the already set up Multipeak Fit control panel. If you are not using MPF2, be sure to include your fitting function.

John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
Hi,

I am attaching a file with all the settings....As you will see, the fitting range is the same, i include a linear baseline and i constrained the fitting of the small peak between 940-950 cm-1. If you place the peak at around 949.7 or 949.5 and you perform the fitting back and forth maybe you will see the discrepancy i described above. Ok it seems that varying the width of the small peak you may get some differences in the location after fitting. Please let me know if you see my point.
Experiment2.pxt
I think this just shows that curve fitting is as much art as science.

By setting the initial guess for the small, constrained fit to 948 with width of 20, I saw your result with the solution having the smaller peak at 950. The fit looks very good. But the location has been pinned to the constraint, which might be a sign that it's not exactly what you want.

By setting the initial guess for that peak to 944 and 8 I get the result with the small peak at 942.8 with width of 11.25. That fit looks to the eye to be slightly better near the top of the main peak, but really not very different. This is supported by the fact that the chi-square for the fits are 9.4 vs 9.8, not a significant difference in my opinion.

Since the fits are about equally good, I would say that the trouble is that the data don't really constrain the small peak very well. That's not a problem with the software- it's a problem with the data and the model. Since the fits are about equally good, the algorithm has no particular reason to pick one over the other. Apparently the two solutions represent local minima in the chi-square space, and different initial conditions take somewhat different paths to the solution. I'm afraid that's how iterative nonlinear fitting works.

I would prefer the solution that doesn't have an active constraint.

John Weeks
WaveMetrics, Inc.
support@wavemetrics.com