Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KDE model class cannot deal with equal values #74

Open
jong42 opened this issue Sep 27, 2019 · 1 comment
Open

KDE model class cannot deal with equal values #74

jong42 opened this issue Sep 27, 2019 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@jong42
Copy link
Collaborator

jong42 commented Sep 27, 2019

The scipy.stats.gaussian_kde object cannot deal with inputs that have all equal values (for example the input [1,1,1,1]). The following error is thrown:

Traceback (most recent call last):
  File "/home/guet_jn/Desktop/modelbase/mb_modelbase/models_core/kde_model.py", line 257, in <module>
    kde_model._maximum()
  File "/home/guet_jn/Desktop/modelbase/mb_modelbase/models_core/kde_model.py", line 174, in _maximum
    local_max = sciopt.minimize(m._negdensity, x0, method='nelder-mead', options={'xtol': 1e-8, 'disp': False})
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/optimize/_minimize.py", line 588, in minimize
    return _minimize_neldermead(fun, x0, args, callback, **options)
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/optimize/optimize.py", line 585, in _minimize_neldermead
    fsim[k] = func(sim[k])
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/optimize/optimize.py", line 326, in function_wrapper
    return function(*(wrapper_args + args))
  File "/home/guet_jn/Desktop/modelbase/mb_modelbase/models_core/kde_model.py", line 133, in _negdensity
    return -self._density(x)
  File "/home/guet_jn/Desktop/modelbase/mb_modelbase/models_core/kde_model.py", line 121, in _density
    kde = stats.gaussian_kde(cond_data.iloc[:, num_idx].T)
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/stats/kde.py", line 208, in __init__
    self.set_bandwidth(bw_method=bw_method)
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/stats/kde.py", line 554, in set_bandwidth
    self._compute_covariance()
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/stats/kde.py", line 566, in _compute_covariance
    self._data_inv_cov = linalg.inv(self._data_covariance)
  File "/home/guet_jn/anaconda3/envs/modelbase_issue65/lib/python3.7/site-packages/scipy/linalg/basic.py", line 974, in inv
    raise LinAlgError("singular matrix")
numpy.linalg.LinAlgError: singular matrix
@jong42 jong42 added the bug Something isn't working label Sep 27, 2019
@jong42 jong42 self-assigned this Sep 27, 2019
@jong42
Copy link
Collaborator Author

jong42 commented Sep 27, 2019

This somehow occurs when activating the data-local prediction facet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant