Hi there,
I'm attempting to run a PEB on a 14-node DCM model for resting state fMRI (spectral DCM) on about 47 subjects. I utilized Hannes Almgren's code for much of the analysis (https://github.com/halmgren/Pipeline_effect_GSR_effective_connectivity_rsfMRI), including preprocessing, first-level GLMs of a cosine basis set to identify subject-specific peaks for VOI extraction, and running first-level DCMs (14 nodes in the total model). I did some data cleaning as well, excluding participants who did not have a VOI peak of p < 0.10 within a 6mm sphere surrounding the group-level peaks in certain anatomical areas of interest (amygdala, insula, and PFC).
The study design is a pre/post comparison with two arms (psychotherapy and waiting list). I'm attempting to run a PEB on all the participants at baseline (pre-treatment) just to see what the structure of the network connections is. Thus, I'm entering a GCM with 47 participants into a simple PEB with no covariates.
However, I keep running into the following errors:
VL Iteration 1 : F = -4585325.15 dF: 0.0000 [-3.75]
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = -1.000000e+00.
> In spm_inv (line 30)
In spm_dcm_peb (line 476)
In spm_cfg_dcm_peb>spm_run_create_peb (line 590)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
> In spm_inv (line 30)
In spm_dcm_peb (line 478)
In spm_cfg_dcm_peb>spm_run_create_peb (line 590)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = -1.000000e+00.
> In spm_expm (line 58)
In spm_dx (line 98)
In spm_dcm_peb (line 518)
In spm_cfg_dcm_peb>spm_run_create_peb (line 590)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = -1.000000e+00.
> In spm_expm (line 58)
In spm_dx (line 98)
In spm_dcm_peb (line 525)
In spm_cfg_dcm_peb>spm_run_create_peb (line 590)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
VL Iteration 2 : F = NaN dF: 0.0000 [-4.00]
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
> In spm_inv (line 30)
In spm_dcm_peb (line 429)
In spm_cfg_dcm_peb>spm_run_create_peb (line 590)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
> In spm_inv (line 30)
In spm_log_evidence_reduce (line 58)
In spm_dcm_peb (line 448)
In spm_cfg_dcm_peb>spm_run_create_peb (line 590)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
...
By iteration 2 the free energy is already NaN. I've let it run thorough to completion on prior tries but ALL of the parameters come up as NaN. I'm wondering if there's something I'm doing incorrectly, or perhaps 14 ROIs is just too many for this type of analysis? There should be 196 estimable parameters in the fully specified model. I was going to attempt to search nested models when the average connectivity is calculated and then prune from there, but perhaps a different approach would be more helpful here?
Thanks, in advance, for any help you can provide!
Best,
Greg
|