470 likes | 490 Views
Learn the essentials of fMRI group analysis, including GLM, preprocessing steps, and different types of contrasts for statistical inference in brain mapping studies.
E N D
Basics of fMRI Group Analysis Douglas N. Greve
fMRI Analysis Overview Subject 1 Preprocessing MC, STC, B0 Smoothing Normalization Preprocessing MC, STC, B0 Smoothing Normalization Preprocessing MC, STC, B0 Smoothing Normalization Preprocessing MC, STC, B0 Smoothing Normalization First Level GLM Analysis X X X X X C C C C C Raw Data Subject 2 First Level GLM Analysis Raw Data Higher Level GLM Subject 3 First Level GLM Analysis Raw Data Subject 4 First Level GLM Analysis Raw Data
Overview • Population vs Sample • First-Level (Time-Series) Analysis Review • Types of Group Analysis • Random Effects, Mixed Effects, Fixed Effects • Multi-Level General Linear Model (GLM) • Examples (One Group, Two Groups, Covariates) • Longitudinal
Sample 18 Subjects Population vs Sample Group Population (All members) Hundreds? Thousands? Billions? • Do you want to draw inferences beyond your sample? • Does sample represent entire population? • Random Draw?
Visual/Auditory/Motor Activation Paradigm • 15 sec ‘ON’, 15 sec ‘OFF’ • Flickering Checkerboard • Auditory Tone • Finger Tapping
Contrasts and Inference Note: z, t, F monotonic with p p = 10-11, sig=-log10(p) =11 p = .10, sig=-log10(p) =1
Matrix Model y = X * b bTask bbase = Vector of Regression Coefficients (“Betas”) Observations Design Matrix Contrast Matrix: C = [1 0] Contrast = C*b = bTask Design Matrix Regressors Data from one voxel
+3% 0% -3% Statistical Parametric Map (SPM) Significance t-Map (p,z,F) (Thresholded p<.01) sig=-log10(p) Contrast Amplitude CON, COPE, CES Contrast Amplitude Variance (Error Bars) VARCOPE, CESVAR “Massive Univariate Analysis” -- Analyze each voxel separately
Is Pattern Repeatable Across Subject? Subject 1 Subject 2 Subject 3 Subject 4 Subject 5
Spatial Normalization Native Space MNI305 Space Subject 1 Subject 1 MNI305 Subject 2 Subject 2 Affine (12 DOF) Registration
Group Analysis Does not have to be all positive!
“Random Effects (RFx)” Analysis RFx • Model Subjects as a Random Effect • Variance comes from a single source: variance across subjects • Mean at the population mean • Variance of the population variance • Does not take first-level noise into account (assumes 0) • “Ordinary” Least Squares (OLS) • Usually less activation than individuals • Sometimes more
“Mixed Effects (MFx)” Analysis MFx RFx • Down-weight each subject based on variance. • Weighted Least Squares vs (“Ordinary” LS)
“Mixed Effects (MFx)” Analysis MFx • Down-weight each subject based on variance. • Weighted Least Squares vs (“Ordinary” LS) • Protects against unequal variances across group or groups (“heteroskedasticity”) • May increase or decrease significance with respect to simple Random Effects • More complicated to compute • “Pseudo-MFx” – simply weight by first-level variance (easy to compute)
“Fixed Effects (FFx)” Analysis FFx RFx
“Fixed Effects (FFx)” Analysis FFx • As if all subjects treated as a single subject (fixed effect) • Small error bars (with respect to RFx) • Large DOF • Same mean as RFx • Huge areas of activation • Not generalizable beyond sample.
Multi-Level Analysis Raw Data at a Voxel Contrast Size (Signed) First Level (Time-Series) GLM Higher Level Contrast Variance ROI Volume p/t/F/z Contrast Matrix (C) Not recommended. Noisy. Visualize Design Matrix (X)
Multi-Level Analysis Subject 1 First Level Contrast Size 1 C Subject 2 First Level Contrast Size 2 Higher Level GLM C Subject 3 First Level Contrast Size 3 C Subject 4 First Level Contrast Size 4 C
Higher Level GLM Analysis bG y = X * b 1 1 1 1 1 Vector of Regression Coefficients (“Betas”) = Observations (Low-Level Contrasts) Contrast Matrix: C = [1] Contrast = C*b = bG Design Matrix (Regressors) Data from one voxel One-Sample Group Mean (OSGM)
Two Groups GLM Analysis bG1 bG2 y = X * b 1 1 1 0 0 0 0 0 1 1 = Observations (Low-Level Contrasts) Data from one voxel
Contrasts: Two Groups GLM Analysis bG1 bG2 1 1 1 0 0 0 0 0 1 1 = 1 0 0 1 C = 1. Does Group 1 by itself differ from 0? C = [1 0], Contrast = C*b = bG1 2. Does Group 2 by itself differ from 0? C = [0 1], Contrast = C*b = bG2 3. Does Group 1 differ from Group 2? C = [1 -1], Contrast = C*b = bG1-bG2 4. Does either Group 1 or Group 2 differ from 0? C has two rows: F-test (vs t-test) Concatenation of contrasts #1 and #2
One Group, One Covariate (Age) Intercept: bG Contrast bG bAge Slope: bAge Age y = X * b 1 1 1 1 1 21 33 64 17 47 = Observations (Low-Level Contrasts) Data from one voxel
Contrasts: One Group, One Covariate Intercept: bG Contrast bG bAge 1 1 1 1 1 21 33 64 17 47 Slope: bAge = Age • Does Group offset/intercept differ from 0? • Does Group mean differ from 0 regressing out age? • C = [1 0], Contrast = C*b = bG • (Treat age as nuisance) 2. Does Slope differ from 0? C = [0 1], Contrast = C*b = bAge
Two Groups, One Covariate • Somewhat more complicated design • Slopes may differ between the groups • What are you interested in? • Differences between intercepts? Ie, treat covariate as a nuisance? • Differences between slopes? Ie, an interaction between group and covariate?
Two Groups, One (Nuisance) Covariate Is there a difference between the group means? Synthetic Data
Two Groups, One (Nuisance) Covariate Means After Age “Regressed Out” (Intercept, Age=0) Raw Data Effect of Age • No difference between groups • Groups are not well matched for age • No group effect after accounting for age • Age is a “nuisance” variable (but important!) • Slope with respect to Age is same across groups
Two Groups, One (Nuisance) Covariate y = X * b bG1 bG2 bAge 1 1 1 0 0 0 0 0 1 1 21 33 64 17 47 = Observations (Low-Level Contrasts) One regressor for Age. Data from one voxel Different Offset Same Slope (DOSS)
Two Groups, One (Nuisance) Covariate One regressor for Age indicates that groups have same slope – makes difference between group means/intercepts independent of age. bG1 bG2 bAge 1 1 1 0 0 0 0 0 1 1 21 33 64 17 47 = Different Offset Same Slope (DOSS)
Contrasts: Two Groups + Covariate bG1 bG2 bAge 1 1 1 0 0 0 0 0 1 1 21 33 64 17 47 = 1. Does Group 1 mean differ from 0 (after regressing out effect of age)? C = [1 0 0], Contrast = C*b = bG1 2. Does Group 2 mean differ from 0 (after regressing out effect of age)? C = [0 1 0], Contrast = C*b = bG2 3. Does Group 1 mean differ from Group 2 mean (after regressing out effect of age)? C = [1 -1 0], Contrast = C*b = bG1-bG2
Contrasts: Two Groups + Covariate bG1 bG2 bAge 1 1 1 0 0 0 0 0 1 1 21 33 64 17 47 = 4. Does Slope differ from 0 (after regressing out the effect of group)? Does not have to be a “nuisance”! C = [0 0 1], Contrast = C*b = bAge
Group/Covariate Interaction • Slope with respect to Age differs between groups • Interaction between Group and Age • Intercept different as well
Group/Covariate Interaction y = X * b bG1 bG2 bAge1 bAge2 1 1 1 0 0 0 0 0 1 1 21 33 64 0 0 0 0 0 17 47 = Observations (Low-Level Contrasts) Group-by-Age Interaction Data from one voxel Different Offset Different Slope (DODS)
Group/Covariate Interaction 1 1 1 0 0 0 0 0 1 1 21 33 64 0 0 0 0 0 17 47 bG1 bG2 bAge1 bAge2 = • Does Slope differ between groups? • Is there an interaction between group and age? • C = [0 0 1 -1], Contrast = C*b = bAge1-bAge1
Group/Covariate Interaction 1 1 1 0 0 0 0 0 1 1 21 33 64 0 0 0 0 0 17 47 bG1 bG2 bAge1 bAge2 = Does this contrast make sense? 2. Does Group 1 mean differ from Group 2 mean (after regressing out effect of age)? C = [1 -1 0 0], Contrast = C*b = bG1-bG2 Very tricky! This tests for difference at Age=0 What about Age = 12? What about Age = 20?
Group/Covariate Interaction • If you are interested in the difference between the means but you are concerned there could be a difference (interaction) in the slopes: • Analyze with interaction model (DODS) • Test for a difference in slopes • If there is no difference, re-analyze with single regressor model (DOSS) • If there is a difference, proceed with caution
Interaction between Condition and Group • Example: • Two First-Level Conditions: Angry and Neutral Faces • Two Groups: Healthy and Schizophrenia • Desired Contrast = (Neutral-Angry)Sch - (Neutral-Angry)Healthy • Two-level approach • Create First Level Contrast (Neutral-Angry) • Second Level: • Create Design with Two Groups • Test for a Group Difference
Longitudinal Visit 1 Visit 2 Subject 1 Subject 2 Subject 3 Subject 4 Subject 5
Longitudinal • Did something change between visits? • Drug or Behavioral Intervention? • Training? • Disease Progression? • Aging? • Injury? • Scanner Upgrade?
Longitudinal Subject 1, Visit 1 Subject 1, Visit 2 Paired Differences Between Subjects
Longitudinal Paired Analysis bDV y = X * b 1 1 1 1 1 Observations (V1-V2 Differences in Low-Level Contrasts) = Contrast Matrix: C = [1] Contrast = C*b = bDV Design Matrix (Regressors) Paired Diffs from one voxel One-Sample Group Mean (OSGM): Paired t-Test
fMRI Analysis Overview Subject 1 Preprocessing MC, STC, B0 Smoothing Normalization Preprocessing MC, STC, B0 Smoothing Normalization Preprocessing MC, STC, B0 Smoothing Normalization Preprocessing MC, STC, B0 Smoothing Normalization First Level GLM Analysis X X X X X C C C C C Raw Data Subject 2 First Level GLM Analysis Raw Data Higher Level GLM Subject 3 First Level GLM Analysis Raw Data Subject 4 First Level GLM Analysis Raw Data
Summary • Higher Level uses Lower Level Results • Contrast and Variance of Contrast • Variance Models • Random Effects • Mixed Effects – protects against heteroskedasticity • Fixed Effects – cannot generalize beyond sample • Groups and Covariates (Intercepts and Slopes) • Covariate/Group Interactions • Longitudinal – Paired Differences