Как улучшить плохую посадку Scipy's Curve_fit? - PullRequest
0 голосов
/ 18 октября 2018

У меня есть гистограмма, которая представлена ​​в виде двух списков, один из которых представляет ячейки, а другой - количество событий.При построении графика я получаю синие полосы на рисунке ниже.

histogramfit

Для моего приложения я хочу добавить экспоненциальную функцию в мои данные, которыеэто форма

f(x) = A * exp(-B*x).

Я попробовал это с помощью функции a из пакета scipy:

func_params, _ = scipy.optimize.curve_fit(lambda x, A, B: A * np.exp(-B * x), 
                                          bins[:-1], 
                                          occurences)

Полученные из этого параметры были использованы для построения оранжевой функции вобраз.Я думаю, что это довольно плохое совпадение, так как второй шип практически полностью игнорируется.

Вопрос: есть ли возможность (или вариант), чтобы получить лучшее соответствие?

РЕДАКТИРОВАТЬ: гораздо более желаемый результат будет выглядеть следующим образом:

betterfit

Таким образом, это будет в основном компромисс между подгонкой первого ивторой шип.

...