Почему начальное значение p0, которое вы присвоили, в значительной степени повлияет на результат подбора - PullRequest
2 голосов
/ 08 ноября 2019

Когда я назначаю разные начальные значения P0, аппроксимация изменяется на два порядка. Вопрос в том, как я могу найти правильный, поскольку целью подбора является поиск правильных параметров.

Я получил 2 переменные и два неизвестных параметра, которые можно найти подходящим методом.

p0 = [0.5,0.3] #initial value
c,cov = curve_fit(titrition,(xp,xd),y,p0)
yp = titrition ((xp,xd),c[0],c[1])

1 Ответ

0 голосов
/ 08 ноября 2019

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

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