2024-06-16 12:27:40 发布
网友
当使用scipy.stats.rv_continuous.fit即相对公差时,是否可以操纵optimizer的参数
scipy.stats.rv_continuous.fit
optimizer
在R中,我们可以使用control。Python呢
control
fitdist(data, "weibull", method="mle", control=list(reltol=1e-14))$estimate
fit方法的optimizer参数允许您重写默认的优化函数(即^{})并提供您自己的优化函数。作为optimizer参数提供的可调用项必须具有签名optimize(func, x0, args=(), disp=False)
fit
optimize(func, x0, args=(), disp=False)
要更改默认控件参数,可以使用自定义的optimizer调用fmin和其他xtol和/或ftol参数。(注意:您可以使用不同的优化器而不是fmin)
fmin
xtol
ftol
from scipy.optimize import fmin def optimizer(func, x0, args=(), disp=False): return fmin(func, x0, args=args, disp=disp, xtol=1e-13, ftol=1e-12)
比如说,
from scipy.stats import weibull_min from scipy.optimize import fmin def optimizer(func, x0, args=(), disp=False): return fmin(func, x0, args=args, disp=disp, xtol=1e-13, ftol=1e-12) data = [2457.145, 878.081, 855.118, 1157.135, 1099.82] shape, loc, scale = weibull_min.fit(data, floc=0, optimizer=optimizer) print(f"shape = {shape:9.7f}, scale={scale:9.7f}")
输出:
shape = 2.3078998, scale=1463.7713354
fit
方法的optimizer
参数允许您重写默认的优化函数(即^{optimizer
参数提供的可调用项必须具有签名optimize(func, x0, args=(), disp=False)
要更改默认控件参数,可以使用自定义的
optimizer
调用fmin
和其他xtol
和/或ftol
参数。(注意:您可以使用不同的优化器而不是fmin
)比如说,
输出:
相关问题 更多 >
编程相关推荐