带有5个未知参数的最小二乘函数

我在估计5个未知参数a, b, c, d, e时遇到了麻烦,这些参数肯定在某些区间内。看起来像这样:

我有一些数据(期望值),如下所示:

Y1 = [60, 59, 58, 57, 56, 55, 50, 30, 10]X1 = [0.048, 0.049, 0.05, 0.05, 0.06, 0.089, 0.1, 0.12, 0.134]

我尝试这样实现:

popt, pcov = curve_fit(func, a, b, c, d, e, Y1, X1)

以找到最优的a, b, c, d, e,来拟合曲线

plt.plot(Y, X)plt.show()

但这不起作用。

结果是:

OptimizeWarning: Covariance of the parameters could not be estimated

抱歉我的问题描述得不好。


回答:

根据curve_fit()的文档,您的curve_fit()应该以func, X1和Y1作为前三个参数。目前的代码中,func()总是返回一个与X1无关的单一值,因此无法拟合数据。下面是一个使用您的数据的示例图形拟合器,它有三个参数,并使用scipy的默认初始参数估计值1.0 – 这些并不总是最优的。如果您对任何给定函数的数据拟合效果不好,可能是初始参数估计的问题,因此scipy有一个遗传算法模块来帮助找到这些估计值,如果需要的话。

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注