statsmodels.discrete.discrete_model.NegativeBinomialP.fit_regularized¶
-
NegativeBinomialP.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 以打印收敛消息。
- fargs
tuple 传递给似然函数的额外参数,即, loglike(x,*args)。
- callback
callablecallback(xk) 在每次迭代后调用,作为回调函数(xk),其中xk是当前的参数向量。
- retallbool
设置为 True 以返回每次迭代的解决方案列表。 可在 Results 对象的 mle_retvals 属性中获取。
- alphanon-negative scalar or
numpyarray(samesizeasparameters) 乘以l1惩罚项的权重。
- trim_mode‘auto, ‘size’,
or‘off’ 如果不是‘off’,则修剪(设置为零)那些如果求解器达到理论最小值时本应为零的参数。 如果是‘auto’,则使用上述理论修剪参数。 如果是‘size’,则修剪参数,如果它们的绝对值非常小。
- size_trim_tol
floator ‘auto’ (default= ‘auto’) 当 trim_mode == ‘size’ 时使用的容差。
- auto_trim_tol
float 当 trim_mode == ‘auto’ 时使用的容差。
- qc_tol
float 当(ii)(上述)被违反到这种程度时,打印警告并禁止自动修剪。
- qc_verbosebool
如果为真,失败时打印完整的QC报告。
- **kwargs
在拟合模型时使用的额外关键字参数。
- start_paramsarray_like,
- Returns:¶
Results一个结果实例。
注释
使用‘l1_cvxopt_cp’需要cvxopt模块。
如果alpha被给定为一个标量,额外的参数不会受到惩罚。 一个例子是NegativeBinomial中的形状参数nb1和nb2。
求解器的可选参数(在 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}\) 参数方向上的导数,理论指出,在最小值处,恰好满足以下两个条件之一:
\(|\partial_k L| = \alpha_k\) 和 \(\beta_k \neq 0\)
\(|\partial_k L| \leq \alpha_k\) 和 \(\beta_k = 0\)