首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >statsmodels.discrete.discrete_model.NegativeBinomial.fit()提出LinAlgError:“奇异矩阵”

statsmodels.discrete.discrete_model.NegativeBinomial.fit()提出LinAlgError:“奇异矩阵”
EN

Stack Overflow用户
提问于 2018-06-23 15:39:27
回答 1查看 792关注 0票数 0

我将statsmodels.discrete.discrete_model.NegativeBinomial用于负二项式回归任务,因此我使用以下脚本创建了一个模型:

代码语言:javascript
复制
from statsmodels.discrete.discrete_model import NegativeBinomial
#create a model
regr = NegativeBinomial(y_train, X_train)

在这里,我的y_trainX_train分别有<class 'numpy.ndarray'>类型和(276,) & (276, 252)形状。

我的问题是,当我调用regr.fit()时,会引发numpy.linalg.linalg.LinAlgError: Singular matrix错误。这是我的堆栈跟踪:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/vajira/PycharmProjects/dengAI/neg_binomial_custom.py", line 137, in <module>
    regr_iq = regr_run(nptrain_iq, degree_iq, exploring=True)
  File "/home/vajira/PycharmProjects/dengAI/neg_binomial_custom.py", line 92, in regr_run
    regr.fit()
  File "/home/vajira/ipython/lib/python3.6/site-packages/statsmodels/discrete/discrete_model.py", line 2756, in fit
    res_poi = mod_poi.fit(**optim_kwds_prelim)
  File "/home/vajira/ipython/lib/python3.6/site-packages/statsmodels/discrete/discrete_model.py", line 1034, in fit
    disp=disp, callback=callback, **kwargs)
  File "/home/vajira/ipython/lib/python3.6/site-packages/statsmodels/discrete/discrete_model.py", line 220, in fit
    disp=disp, callback=callback, **kwargs)
  File "/home/vajira/ipython/lib/python3.6/site-packages/statsmodels/base/model.py", line 466, in fit
    full_output=full_output)
  File "/home/vajira/ipython/lib/python3.6/site-packages/statsmodels/base/optimizer.py", line 191, in _fit
    hess=hessian)
  File "/home/vajira/ipython/lib/python3.6/site-packages/statsmodels/base/optimizer.py", line 278, in _fit_newton
    newparams = oldparams - np.dot(np.linalg.inv(H),
  File "/home/vajira/ipython/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 528, in inv
    ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)
  File "/home/vajira/ipython/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 89, in _raise_linalgerror_singular
    raise LinAlgError("Singular matrix")
numpy.linalg.linalg.LinAlgError: Singular matrix

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-23 16:49:44

我认为这是一个过于参数化的问题。看起来你有276个样本,有252个特征,这表明对于一个小样本来说,模型太复杂了。Singular matrix警告表明,该模型没有找到与该模型的最优收敛性。

我会回到过去,找出你对建模感兴趣的小得多的特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51002663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档