функция curve_fit не вписывается в исходные данные - PullRequest
0 голосов
/ 23 ноября 2018

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

массив x содержит следующие данные:

[0. 0.025 0.10333333 0.1175 0.164 0.22 0.27571429 0.27625 0.33333333 0.379 0.40545455 0.43416667 0.47769231 0.52571429 0.528 0.538125 0.56470588 0.5577777 0.59263158 0.6065 0.61190476 0.62545455 ...] 

y массив выглядит следующим образом:

[1. 1.95 2.83 3.73 4.57 5.32 5.97 6.81 7.35 7.86 8.5 9.09 9.4 9.83 10.41 11. 11.34 11.8  ...]

My curve_fit func:

def func(x, a, b, c,):
   return a*np.exp(-b*x)+c

popt, pcov = curve_fit(func,x,y, maxfev=10000)

plt.plot(x, y, ls="none", marker='.', color='grey')
plt.plot(x,func(x, *popt),'-')

plt.title("my curve")
plt.legend()
plt.show()

Ниже мой сюжет: enter image description here

1 Ответ

0 голосов
/ 23 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...