在获得每个被试的FC矩阵的情况下,怎么进行组间FC的统计,比如三组,异常,轻度异常,HC,怎么进行anova分析和事后样本t检验,
这是最基本的统计啊,各个软件(spm,fsl,dpabi)都可以做到,具体的方法建议看相关软件的manual
由于这个问题似乎挺常见的,我写了一个简单的matlab脚本(见附件),实现对FC矩阵进行单因素方差分析(包括FDR校正)和事后检验。本人水平非常有限,不保证脚本正确,希望能理解后再使用。
如果暂时无法理解代码,建议学习一下NBS工具包(https://www.nitrc.org/projects/nbs),这个工具包能图形化实现对FC矩阵的统计分析,除了FDR校正,还可以做基于网络的统计量的FWE校正。NBS工具包的使用也可以参考我的博客:https://alexbrain.cn/?p=425
script.zip (1.38 KB)
非常感谢
老师好,FC 矩阵在单因素方差分析后,有几百条显著的边,但是经过FDR矫正以后都没了。结果中FDR普遍为0.99且一样,您知道为什么会出现这种情况吗?
你的意思是在未经FDR校正以前,有几百条边的p<0.05,但是经过校正后的p值都大于0.05,而且很多校正后的p值都是一样的。我觉得这是正常现象,如果你的脑区数目很大的话,是有可能校正后p>0.05的。至于有很多校正后p值是相等的,这就和FDR的原理有关了,你可以看看这个资料:https://brainder.org/tag/fdr-correction/
你好老师,我想请问一下,如果是用NBS进行ANOVA分析的话,事后比较应该怎么做呢?是直接进行两两进行T检验吗?
是的。如果是单因素ANOVA的话,也可以不做F检验,直接两两比较更好。
好的,谢谢老师
老师我还有一个问题,就是对边卡阈值的时候,设定的threshold一般对应的p值是多少比较好呢?0.05和0.001结果相差蛮大的
据我所知没有固定准则(不过也许有更新的文献证据,我没太关注这方面,可能有优于NBS的方法提出来以至于不需要设置阈值),所以这取决于你自己的偏好,如果是阈值比较高(p=0.001),就是一些比较小的成分(由少量的边组成),如果阈值比较低(p=0.05),则是一些连接比较多的成分。需要注意的是,NBS不能对单条边下结论,也就是说,如果显著结果很多,也可以考虑用FDR(而不用NBS),会更好解释一些。
想请问下fsl如何做功能链接矩阵的组件分析,比较习惯用fsl 但是不知道怎么做
据我所知,FSL是没有命令行工具可以做连接矩阵的统计分析的,不过FSL有个FSLNets(https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSLNets),是一些Matlab脚本,可以做统计。
收到!谢谢Alex!
老师,这个fslnets怎么用啊。。没找到教程。。
我用fmriprep和xcp_d这两个pipeline处理的静息态,最后输出得到了Schaefer图谱下的平均时间序列和pearson相关矩阵,我认为接下来首先要对功能连接进行z转换,然后进行统计分析,不知道用什么去做,好想会一种语言自己去写,老师有什么推荐和建议吗?(有在学习您在本帖中发的script)
另外,关于基于表面的功能数据处理,老师有没有推荐使用的工具?和体素空间的处理方式不同是吗。。
如果你不会写代码,做功能连接矩阵的统计分析,最好的方式是用NBS这个matlab包,有图形界面,文档也很清楚,也是采用设计矩阵这种方式(你应该是比较熟悉的)。(我写的代码只是凑合着用,真心建议别学!)
从长远来看,要做影像数据分析,代码是一定要会的,因为不一定所有分析都有图形界面可以用(可能一个工具出来很久以后,才会有人来做图形界面)。学会了代码,工作效率也提升很多(学习简单代码真的没有想象中那么难,你要有信心)。总之,磨刀不误砍柴功吧。
你说的是surface-based analysis对吧?其实和体素空间的处理差不多,我自己感觉就是格式上比voume数据麻烦一点。估计得用代码来做,我确实不知道有没有图形界面的工具。
fslnets的用法主要就是在matlab脚本的注释里说明的。
明白了!谢谢老师!
主要也是找个切入点学习一下代码
可以试试聚类置换检验
这种方法是什么原理,还没听说过。有相关文献可以推荐一下吗?