statsmodels.gam.generalized_additive_模型.GLMGam.选择_penweight

GLMGam.select_penweight(criterion='aic', start_params=None, start_model_params=None, method='basinhopping', **fit_kwds)[source]

通过最小化结果准则来找到alpha

最小化的目标可以是结果属性,如 gcvaicbic,其中后者基于有效自由度。

警告:在许多情况下,优化可能会收敛到局部最优或接近最优。建议使用不同的start_params或使用全局优化器,默认是basinhopping。

Parameters:
criterion=’aic’

要最小化的结果属性的名称。 默认值是‘aic’,其他选项包括‘gcv’、‘cv’或‘bic’。

start_paramsNone or array

惩罚权重最小化中alpha的起始参数。这些参数在内部进行指数化处理,最小化是相对于exp(alpha)进行的

start_model_paramsNone or array

用于 model._fit_pirls 的起始参数。

method‘basinhopping’, ‘nm’ or ‘minimize’

‘basinhopping’ 和 ‘nm’ 直接使用底层的 scipy.optimize 函数 basinhoppingfmin。‘minimize’ 提供了对高级接口的访问,scipy.optimize.minimize

fit_kwdskeyword arguments

附加的关键字参数将在调用scipy优化器时使用。支持哪些关键字取决于scipy优化函数。

Returns:
alphandarray

通过最小化准则找到的惩罚参数。 请注意,这可能只是一个局部(接近)最优解。

fit_restuple

由scipy优化例程返回的结果。优化问题中的参数是log(alpha)

historydict

对 pirls 的调用历史记录,并包含 alpha、拟合准则以及 pirls 为给定 alpha 收敛到的参数。

注释

在测试用例中,Nelder-Mead 和 bfgs 经常收敛到局部最优, 参见 https://github.com/statsmodels/statsmodels/issues/5381

这不会使用任何用于标准最小化的分析导数。

状态: 实验性, 如果有一种更好的方法来找到全局最优解,默认值可能会发生变化。API (例如返回类型) 也可能会改变。


Last update: Oct 16, 2024