statsmodels.discrete.discrete_model.Poisson.fit_regularized

Poisson.fit_regularized(start_params=None, method='l1', maxiter='defined_by_method', full_output=1, disp=1, callback=None, alpha=0, trim_mode='auto', auto_trim_tol=0.01, size_trim_tol=0.0001, qc_tol=0.03, **kwargs)[source]

使用正则化的最大似然法拟合模型。

正则化方法和使用的求解器由参数 method 决定。

Parameters:
start_paramsarray_like, optional

对数似然最大化解决方案的初始猜测。 默认是一个零数组。

method‘l1’ or ‘l1_cvxopt_cp’

查看备注以获取详细信息。

maxiter{int, ‘defined_by_method’}

最大迭代次数。 如果为‘defined_by_method’,则使用方法默认值(见注释)。

full_outputbool

设置为 True 以在 Results 对象的 mle_retvals 属性中获取所有可用输出。输出内容取决于求解器。有关更多信息,请参阅 LikelihoodModelResults 注释部分。

dispbool

设置为 True 以打印收敛消息。

fargstuple

传递给似然函数的额外参数,即, loglike(x,*args)。

callbackcallable callback(xk)

在每次迭代后调用,作为回调函数(xk),其中xk是当前的参数向量。

retallbool

设置为 True 以返回每次迭代的解决方案列表。 可在 Results 对象的 mle_retvals 属性中获取。

alphanon-negative scalar or numpy array (same size as parameters)

乘以l1惩罚项的权重。

trim_mode‘auto, ‘size’, or ‘off’

如果不是‘off’,则修剪(设置为零)那些如果求解器达到理论最小值时本应为零的参数。 如果是‘auto’,则使用上述理论修剪参数。 如果是‘size’,则修剪参数,如果它们的绝对值非常小。

size_trim_tolfloat or ‘auto’ (default = ‘auto’)

当 trim_mode == ‘size’ 时使用的容差。

auto_trim_tolfloat

当 trim_mode == ‘auto’ 时使用的容差。

qc_tolfloat

当(ii)(上述)被违反到这种程度时,打印警告并禁止自动修剪。

qc_verbosebool

如果为真,失败时打印完整的QC报告。

**kwargs

在拟合模型时使用的额外关键字参数。

Returns:
Results

一个结果实例。

注释

使用‘l1_cvxopt_cp’需要cvxopt模块。

如果alpha被给定为一个标量,额外的参数不会受到惩罚。 一个例子是NegativeBinomial中的形状参数nb1nb2

求解器的可选参数(在 Results.mle_settings 中可用):

'l1'
    acc : float (default 1e-6)
        Requested accuracy as used by slsqp
'l1_cvxopt_cp'
    abstol : float
        absolute accuracy (default: 1e-7).
    reltol : float
        relative accuracy (default: 1e-6).
    feastol : float
        tolerance for feasibility conditions (default: 1e-7).
    refinement : int
        number of iterative refinement steps when solving KKT
        equations (default: 1).

优化方法论

通过 \(L\) 表示负对数似然,我们解决凸但非光滑的问题

\[\min_\beta L(\beta) + \sum_k\alpha_k |\beta_k|\]

通过转换为具有两倍变量的平滑、凸、约束问题(添加“附加变量” \(u_k\)

\[\min_{\beta,u} L(\beta) + \sum_k\alpha_k u_k,\]

受限于

\[-u_k \leq \beta_k \leq u_k.\]

对于 \(\partial_k L\),即 \(L\) 在第 \(k^{th}\) 参数方向上的导数,理论指出,在最小值处,恰好满足以下两个条件之一:

  1. \(|\partial_k L| = \alpha_k\)\(\beta_k \neq 0\)

  2. \(|\partial_k L| \leq \alpha_k\)\(\beta_k = 0\)


Last update: Oct 16, 2024