SPM FDR校正
来源: http://blog.sciencenet.cn/blog-479412-572049.html,http://52brain.com/thread-15512-1-1.html
SPM8允许两种FDR校验。一个是voxel-wise FDR,另一个是topological FDR。
如果要做voxel-wise FDR 校验,就把spm_defaults里的68行的defaults.stats.topoFDR 改为0。
(有很多朋友下载下来的spm在处理结果是只显示FWE矫正和NOR,但是FWE矫正又太严格,我们往往需要FDR矫正来进行数据处理。spm的设置是在spm根目录下的spm_defaults这个文件。需要再matlab中调用才能编辑。在matlab中输入edit spm_defaults,在68行有defaults.stats.topoFDR = 1; 你把1改成0即可。当然你也可以对默认阈值、默认设置的激活体素大小进行设置。)
此时SPM8里的FDR按钮会出现。在SPM里点results,选FDR校验即可。
如果要做topological FDR 校验,就把defaults.stats.topoFDR设为1(默认是1)。
首先在SPM8里点results——None(无校验)——T threshold或p value(自己随意设,默认的0.001也可以)——extent threshold(默认0即可)。
然后在左下侧窗口点whole brain会得到results table。找到FDRc对应的值。然后再次点Results——None——T threshold或p value(输入上一次的值,例如上一次是0.001,这一次还是0.001)——extent threshold(输入FDRc对应的值)。这样得到的激活图就是cluster-wise FDR校验的结果,也就是topological FDR校验的结果。
![](https://images2015.cnblogs.com/blog/795056/201510/795056-20151028153931638-1164105480.jpg)
SPM里面有peak-level FDR,见result table里面的FDRp,用FDRp对应的值作为height threshold得到的结果就是peak-level FDR的结果。用FDRc对应的值作为extent threshold得到的结果就是topological FDR(或cluster-wise FDR)的结果。
自己对topological FDR原理的理解(因为内部原理很复杂,不是特别懂,只写出简单理解,留着以后补充):topological FDR是基于高斯随机场理论,认为voxel之间不是独立的,超过T threshold的voxel 构成了一个个cluster,然后对这些cluster进行FDR校验,这样独立单元(原来是voxel总个数,而现在就是cluster的个数)就大大减小了。这种校验的错误发现率是小于0.05的,不论T threshold 设为多大。而原来的voxel-wise FDR认为voxel之间是独立。而实际的fMRI数据经过平滑之后,voxel之间是不独立的,因此对于一个激活的脑区来说,用这种voxel-wise FDR校验得到的错误发现率就很高。
参考文献
Justin R. Chumbley, Karl J. Friston.False discovery rate revisited: FDR and topological inference using Gaussian random fields.NeuroImage 44 (2009) 62–70.