Draft new dependence metrics - #1365
Conversation
Also use more informative classification tags in permutation.json.
Not supported in the version of Python we use in our integration tests.
|
Here's the Notes section from Important: Inference vs. Description
Null hypothesis The component's echo-wise parameter estimates show echo-wise structure, but this structure is not specifically aligned with voxel-local T2* or S0 sensitivity. Under the null, permuting which voxel's basis functions are used for fitting should not systematically change model fit. Permutation scheme This test uses independent permutations for T2* and S0 to isolate spatial specificity of each component:
Within groups of voxels sharing the same number of valid echoes (n_e), shuffle the assignment of the target basis function to voxels while keeping echo-wise PEs and the other basis fixed. This preserves:
While breaking:
Note that permutations are performed within echo-availability strata only. The null is therefore: "alignment no better than random assignment within echo-availability groups." Test statistics
P-values are the proportion of permutations achieving unique variance as high or higher than observed (one-tailed test, higher is better). Interpretation
Limitations and caveats
Why this approach Traditional kappa/rho metrics and parametric F-tests for component-level TE-dependence suffer from invalid aggregation (averaging ratios) or incorrect degrees of freedom. This permutation test avoids parametric assumptions entirely and directly tests the spatial specificity that distinguishes BOLD from other echo-wise structure. |
|
@tsalo & @eurunuela Just following up on a comment from the dev call & figure this is a reasonable place to share. I was playing a bit with estimating a T2* and R0 fit for a component across all voxels instead of doing the fit on each voxel separate and then calculating some type of weighted sum. I realized that |
Closes none, but adds a method that we discussed in our most recent devs call. The two functions that should be reviewed are
compute_te_varianceandcompute_te_variance_permutation.I'm not going to fix the unit tests unless we decide that these metrics are something we actually want to add to tedana.
Changes proposed in this pull request: