我尝试使用scipy curve_fit
优化该功能,然后使用scipy minimize
找到最大值
def func(x, a0, a1,a2,a3,a4,a5,a6,a7,a8,
a28,a29,a30,a31,a32,a33, pol_rate1, pol_rate2, pol_rate3,pol_rate4
):
f = a0*sin(x[0])**pol_rate1 + a1*sin(x[1])**0.5 + a2*sin(x[2])**pol_rate4 + a3*x[3] + \
a4*x[4] + a5*sin(x[5])**pol_rate2 + a6*x[6] + a7*x[7] + a8*sin(x[8])**pol_rate3
return f
我无法理解的是,拟合的结果(例如R平方)和最佳值取决于我的数据的规模。
例如,x,2x和10x的结果差异很大。如何确定结果何时真正可持续和值得信赖?