我有一个微分方程:
def func(Y, t, r, p, K, alpha):
return r * (Y ** p) * (1 - (Y / K) ** alpha)
我想找到适合(r,p,K,alpha)的最佳参数。我尝试使用曲线拟合,但太糟糕了,这是我的代码
# I chose the value of maxfev randomly
popt, pcov = curve_fit(func, df.index, df.Value,method='lm',maxfev = 8000)
t = np.linspace(0, len(df), len(df))
y0 = popt[0]
params = (popt[1], popt[2], popt[3], popt[4]) # r, p, K, alpha
sol = odeint(func, y0, t, args=params)
这是情节:
注意:这是我的真实数据的样子:
我在寻找什么(r、p、K 和 alpha)的最佳值,如何找到它们?

