DynamicsAndNeuralSystems / pyspi

Comparative analysis of pairwise interactions in multivariate time series.
https://time-series-features.gitbook.io/pyspi/
GNU General Public License v3.0
198 stars 26 forks source link

Segmentation fault #65

Closed arnomesse closed 4 months ago

arnomesse commented 5 months ago

Hello, I am using pyspi on various datasets, but for one of them (156 vars / 300 time points) I obtain that:

Number of SPIs: 215

Processing [None: cov_GraphicalLasso]: 0%| | 0/215 [00:00<?, ?it/s] Segmentation fault (core dumped)

and I have no idea how to spot the issue!? any tip?

Thanks for your help

jmoo2880 commented 5 months ago

Hi @arnomesse, Are you able to inspect the dataset that is causing the segmentation fault for NaNs, Infs, and integer values? Given that the problem seems to be occurring on only one of the datasets seems to suggest that the problem is dataset-specific.

arnomesse commented 4 months ago

Hi @jmoo2880, thanks for your reply, but none of these flags appears... shortening the number of time points changes nothing, while taking a subset of the variables (e.g., the first two) gives:

Number of SPIs: 215

Processing [None: je_gaussian]: 22%|███████████████████████████████▎ | 47/215 [00:00<00:03, 52.93it/s]#

A fatal error has been detected by the Java Runtime Environment:

#

SIGSEGV (0xb) at pc=0x0000000000000000, pid=3072565, tid=3072565

#

JRE version: OpenJDK Runtime Environment (11.0.22+7) (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1)

Java VM: OpenJDK 64-Bit Server VM (11.0.22+7-post-Ubuntu-0ubuntu222.04.1, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)

Problematic frame:

C 0x0000000000000000

#

Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /home/amesse/core.3072565)

#

benfulcher commented 4 months ago

Being dataset specific, would be good to inspect what about this dataset is giving the problem. Josh suggested checking for any non-real values in the problematic dataset, could also visualize it (as line plot and heat map) to check for any processes that are constant or have other clearly pathological characteristics, etc. anything that may appear to be causing a problem. If everything looks well-behaved, the only way forward would be to share the data so we can try to reproduce on our end.

arnomesse commented 4 months ago

Honestly, nothing looks weird from my side, I would be grateful if you could check it. I have attached one example as txt file (156 vars / 300 time points, needs to be transposed after loaded) .

timeseries_example.txt

jmoo2880 commented 4 months ago

No issues running pyspi on this dataset from my end. I am running pyspi v1.0.1 locally on my Mac M1 with what I assume to be the 'fast' subset (given that only 215 SPIs are being computed here). I have attached a screenshot of the resulting table with 156 rows and 33540 columns. If you would like the full results table, I can provide it by email (the file size is 43MB - a bit too large to upload here).

Screenshot 2024-04-04 at 8 09 55 am