Submitted by liufeng on Fri, 10/07/2011 - 19:48
我从两组人静息态指标的双样本t检验,联想到了一个问题,想不通,请指教下。
我做second level,模型估计estimate之后,会生成beta0001,beta0002文件,也就是广义线性模型的系数。还会生成con文件:当然这个是做完contrast的结果。然后还要生成spmT0001文件。这个就是我们统计之后的t map。我从网上关于spm的原理得知,这个t图貌似是用con文件和残差ResMS文件生成的?请问是这样的吗?如果是,具体的公式是怎样的呢?
还有,我感觉出来这个t图应该不用这么麻烦吧,直接两组人全脑每个体素做voxel-wise的双样本t检验(ttest2),不就可以得出相应的p值吗?也不需要con文件和残差ResMS文件吧?是不是个体统计first-level需要这两个文件而群组统计时不用呢?群组统计应该只需单样本ttest,双样本ttest2,去协变量regress,就行了吧。
请帮忙解答下,非常困惑啊。
谢谢
Submitted by ZHANG_RESTadmin on Sun, 10/09/2011 - 09:31 Permalink
就我所知的,谈一下我的认识: 我做second
就我所知的,谈一下我的认识:
我做second level,模型估计estimate之后,会生成beta0001,beta0002文件,也就是广义线性模型的系数。还会生成con文件:当然这个是做完contrast的结果。然后还要生成spmT0001文件。这个就是我们统计之后的t map。我从网上关于spm的原理得知,这个t图貌似是用con文件和残差ResMS文件生成的?请问是这样的吗?如果是,具体的公式是怎样的呢?
你说的对,个体统计的t图由con文件和残差文件生成,具体的求t值的公式,你可以去一本书中找,叫Human Brain Function,我们叫他大厚书:)
这本书详细讲了这些内容。con文件做分子,残差标准差做分母(同时还要考虑contrast,所以分母不仅仅是残差标准差,因为contrast会影响残差标准差的估计),这样应该是t的计算了。这和我们在统计书里看到的并无两样。
还有,我感觉出来这个t图应该不用这么麻烦吧,直接两组人全脑每个体素做voxel-wise的双样本t检验(ttest2),不就可以得出相应的p值吗?也不需要con文件和残差ResMS文件吧?是不是个体统计first-level需要这两个文件而群组统计时不用呢?群组统计应该只需单样本ttest,双样本ttest2,去协变量regress,就行了吧。
你说的应该是二次统计,就是组分析。这时候的t值计算要比个体统计看起来简单。和你说的差不多。con文件还是需要的。需要拿con的值做t检验。个体的残差就不需要了。
Submitted by liufeng on Sun, 10/09/2011 - 12:00 Permalink
请问
您说的二次统计的时候需要con文件,其实这个con文件就是beta(解释变量的系数)文件的组合,二次统计哪里用到了这个呢?在我看rest里面的程序的时候,rest软件中的rest_ttest2函数应该是做双样本t检验的。他并没有用到con文件,其实也没有生成这些con文件和beta文件。他是不是也用的是con的值做t检验呢?只不过没有生成?您说两组人为什么不能直接用[h,p,ci,stats] = ttest2,这个函数呢?这样不是可以直接就能得到T map和p map吗?我可能理解的不是太到位,麻烦解答下。我也看了下rest里做单样本t检验的函数,发现没有用到GLM这是为什么呢?谢谢
帖子中还有一个关于alphasim校正的问题,也请您解答下。http://www.restfmri.net/forum/node/680
Submitted by ZHANG_RESTadmin on Sun, 10/09/2011 - 12:54 Permalink
con文件是SPM做GLM模型以后才会生成的。在REST里
con文件是SPM做GLM模型以后才会生成的。在REST里面不存在GLM模型,因此就没有con文件。
建立模型并且估计模型参数和做假设检验是两码事。
不同的模型,对其参数的检验均可用t检验。
Submitted by liufeng on Sun, 10/09/2011 - 14:11 Permalink
嗯,就是想问您一下,比较两组人的reho,如果自己编程序的
嗯,就是想问您一下,比较两组人的reho,如果自己编程序的话。将两组人全脑的每个体素做voxel-wise的双样本t检验(用matlab的ttest2函数),从而得到T map和P map,这样合理吗?
Submitted by ZHANG_RESTadmin on Sun, 10/09/2011 - 15:11 Permalink
这样可以。
这样可以。
Submitted by YAN Chao-Gan on Sun, 10/09/2011 - 23:20 Permalink
Re
你完全可以使用[h,p,ci,stats] = ttest2来对每个体素进行双样本T检验。
当时我在写这一个模块的时候需要考虑:
1. 计算速度。如果逐个体素使用[h,p,ci,stats] = ttest2,那么计算速度大大降低。
2. 协变量。[h,p,ci,stats] = ttest2是没有办法完成带协变量的双样本T检验的。我们的REST统计比SPM更好的一个地方在于可以加图像协变量,这也是当时我写这一部分的初衷。当时我做的一个项目需要把灰质密度做为协变量。
3. 无论是单样本T检验、双样本T检验还是ANOVA,都可以采用回归来完成。这就是你为什么在REST的统计模块里面看到大量的rest_regress_ss 这个函数是我参照MATLAB的regress函数改写的,为了提高计算残差的计算速度。
你如果有兴趣,可以去琢磨一下双样本T检验或ANOVA与回归模型,full or reduced, 残差 之间的关系。