When training on pseudobulk data of dimensions (79, 21370) I get the below error:
training location model: True
training scale model: True
iter 0: ll=158167164.728318
caught 11002 linalg singular matrix errors
iter 1: ll=156633409.881217, converged: 0.00% (loc: 73.00%, scale update: False), in 6.84sec
iter 2: ll=153122686.626798, converged: 0.00% (loc: 73.07%, scale update: False), in 1.91sec
iter 3: ll=153117186.549920, converged: 0.00% (loc: 73.07%, scale update: False), in 1.81sec
iter 4: ll=153113320.883527, converged: 0.00% (loc: 73.07%, scale update: False), in 1.80sec
iter 5: ll=153109481.556667, converged: 0.00% (loc: 73.58%, scale update: False), in 2.00sec
iter 6: ll=113614739.986848, converged: 8.76% (loc: 8.76%, scale update: True), in 38.88sec
Traceback (most recent call last):
File "/storage/groups/ml01/code/karin.hrovatin/diabetes_analysis/data_exploration/annotation/2_ovr_pseudobulk_cell_type_integrated_script.py", line 82, in <module>
result=de.test.wald(data=adata_test.X,
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/diffxpy/diffxpy/testing/tests.py", line 717, in wald
model = _fit(
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/diffxpy/diffxpy/testing/tests.py", line 242, in _fit
estim.train_sequence(
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/batchglm/batchglm/models/base/estimator.py", line 124, in train_sequence
self.train(**d, **kwargs)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/batchglm/batchglm/train/numpy/base_glm/estimator.py", line 139, in train
a_step = self.iwls_step(idx_update=idx_update)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/batchglm/batchglm/train/numpy/base_glm/estimator.py", line 290, in iwls_step
delta_theta[:, idx_update[invertible]] = dask.array.map_blocks(
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/base.py", line 279, in compute
(result,) = compute(self, traverse=False, **kwargs)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/base.py", line 567, in compute
results = schedule(dsk, keys, **kwargs)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/threaded.py", line 76, in get
results = get_async(
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/local.py", line 486, in get_async
raise_exception(exc, tb)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/local.py", line 316, in reraise
raise exc
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/local.py", line 222, in execute_task
result = _execute_task(task, data)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 121, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 121, in <genexpr>
return func(*(_execute_task(a, cache) for a in args))
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 121, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 121, in <genexpr>
return func(*(_execute_task(a, cache) for a in args))
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 121, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/optimization.py", line 963, in __call__
return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 151, in get
result = _execute_task(task, cache)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/dask/core.py", line 121, in _execute_task
return func(*(_execute_task(a, cache) for a in args))
File "<__array_function__ internals>", line 5, in solve
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/numpy/linalg/linalg.py", line 394, in solve
r = gufunc(a, b, signature=signature, extobj=extobj)
File "/home/icb/karin.hrovatin/miniconda3/envs/diffxpy/lib/python3.8/site-packages/numpy/linalg/linalg.py", line 88, in _raise_linalgerror_singular
raise LinAlgError("Singular matrix")
numpy.linalg.LinAlgError: Singular matrix
When training on pseudobulk data of dimensions (79, 21370) I get the below error: