Hurst Exponent
Written by Maria Perica, 3/22/24, updated 6/24/24 to include dataset file paths
The Hurst exponent is a measure of trends within time series over time, or the long-term memory/self-similarity of a time series. The value of the Hurst exponent can tell you how predictable future values of a time series are based on past values, i.e. does the time-series follow a mean-reverting pattern over time, does it cluster in a certain direction or trend in a certain direction, or is it random and relatively unpredictable?
There are a number of methods to calculate the Hurst exponent or estimate Hurst parameters. The first method proposed historically is the rescaled range (or R/S). While the R/S is a very commonly used method and superior to some methods for calculating Hurst, it is sensitive to non-stationarities, and thus may not be the best choice for potentially non-stationary time series.
A potentially better method for non-stationary data is detrended fluctuation analysis (or DFA). DFA allows for quantification of self-similarity, like R/S, but is more robust to non-stationary data. It has been suggested that fMRI BOLD data is likely non-stationary, and thus DFA may be a better way of detecting true trends in BOLD time courses as compared to R/S. When doing a DFA analysis, you obtain an 'alpha' parameter. Higher values of the DFA alpha parameter suggest more correlation over different scales, while lower values suggest less correlation.
Some paper examples using DFA with BOLD data: https://www.sciencedirect.com/science/article/pii/S1053811920307102?via%3Dihub, https://onlinelibrary.wiley.com/doi/full/10.1002/hbm.25030
It has been suggested that the Hurst exponent can be a measure of E/I: https://elifesciences.org/articles/55684, https://www.nature.com/articles/s41467-023-41686-9
Higher values of Hurst have been suggested to reflect relatively more inhibition compared to excitation. Therefore, more neural inhibition may be associated with more correlation in a BOLD time series.
Hurst has been run using the Python DFA method for Glasser and Schaefer atlas parcellations for both 7T and PET data. All Hurst-related data is in this folder:
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/
7T data exists in the 'stats' folder. For pet data, there is a folder within the stats folder called 'pet'. Imputed, harmonized, and non-imputed data exists.
For imputed, cleaned (discard average frame displacement > 0.1), and harmonized data with the Glasser atlas:
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/hurst_pet7t_glasser_imputed_cleaned_harmonized.csv
- filter scanner == 1 for 7T and scanner == 2 for PET
For imputed, cleaned but not harmonized data:
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/hurst_pet7t_glasser_imputed_cleaned.csv
For imputed but not cleaned or harmonized data:
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/hurst_pet7t_glasser_imputed.csv
Non-imputed pet (rac 1 scan, I think?) Hurst data for Glasser and Schaefer atlases (1000 roi parcellation):
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/pet/dfa_mean-roi_brnasw4_atlas-glasser.csv
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/pet/dfa_mean-roi_brnasw4_atlas-schaefer1000_17N_2mm.csv
Non-imputed 7T Hurst data for Glasser and Schaefer atlases (1000 roi parcellation):
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/dfa_mean-roi_atlas-glasser_prefix-brnasw.csv
- /Volumes/Hera/Projects/7TBrainMech/scripts/mri/hurst/stats/dfa_mean-roi_atlas-schaefer1000N17_prefix-brnasw.csv
Schaefer 100 and 400 parcellations should also exist for 7T in the same 'stats' folder I think.
Data looks like 1 hurst value per ROI per person/visit that describes the overall timeseries trend behavior. Very important to control for motion in these analyses.