关于linear detrend

老师,您好。
我最近在用Rest处理一批静息态数据,其中的linear detrend这一项我有一些疑问。
我记得以前用普通方法做的时候,linear detrend要用到在relign时生成的参数文件。
为什么rest的linear detrend没有提示要选择参考什么文件?
而是默认的,我要把那个文件与我的图像放在一起?

谢谢

Forums:

用REST做的linear detrend,采用的是MATLAB自带的detrend的函数,去掉的是数据的线性趋势(比如由于机器温度上升等引起的噪声)。
用REST去协变量的时候,要用到在realign时生成的头动参数文件,这一步REST需要手动选择文件,而DPARSF是自动识别的。

这一步是必须吗?用在realign时生成的头动参数文件去协变量

去除BOLD时间序列的线性趋势,或者去除与头动相关的成分,这些只是大家常用的步骤,很难说一定要怎样做。

老师。我用Rest的里面的去除协变量的工具,发现去除rp_.txt的头动参数后,图像文件的大小大了一倍。是不是我哪里出错了,而是本来就会大一倍?

老师,去除协变量应该在detrend和滤波之前还是之后。。我是用已经linear detrend和滤波好的数据进行去除协变量的

去除协变量到底应该在哪一步,没有什么科学依据。如果研究的主要内容是基于线性相关分析的功能连接,通常在进行线性相关功能连接的同时,去除协变量,即partial correlation。

“通常在进行线性相关功能连接的同时,去除协变量”

而进行线性相关功能连接的数据一般都已经detrend和滤波好了,
也就是说,虽然放在哪一步没有严格的要求,但是通常的做法是放在detrend和滤波之后吧?

是这样的。

老师,您好。我看了你们录得教学视频,学到不少东西。在做功能连接去除协变量的那张PPT里,列出了若干个协变量:
1.全脑均值
2.白质信号
3.脑脊液信号
4.relignment生成的rp_*.txt头动参数

教学视频提到全脑均值现在又很大的争议,它会导致负连接。
那么去除.白质信号和脑脊液信号不会导致负连接吗?
是不是只有去全脑均值属于global signal regression?
除了去全脑均值,还有没有其他什么步骤属于global signal regression
----

另外老师提到去不去协变量没有一个统一的标准。那么在什么情况下适合去除这些协变量?哪些情况下不适合?

比如说:
1.我用functional localiser的方法定义了10多个ROIs,然后让它们互相做功能连接,并不涉及脑的其他区域,因此,去除白质信号和脑脊液信号是不是很没有必要?
2.用某个seed做voxel-vised 功能连接,涉及全脑的所有区域,因此,去除白质信号和脑脊液信号就很有必要?

"去除白质信号和脑脊液信号不会导致负连接吗",具体的研究我没太注意,理论上是有可能的,但目前来看,去除global trend肯定会引起负相关。但反过来,负相关,未必是去除这些协变量所致。

“是不是只有去全脑均值属于global signal regression?”准确地说,是去除全脑的平均时间序列。“全脑均值”这个词,容易误解,因为3D脑有一个全脑均值,4D脑也有一个全脑均值。

“除了去全脑均值,还有没有其他什么步骤属于global signal regression”,“去除全脑平均时间序列”与“global signal regression”是一个意思。

至于什么情况下去协变量,你提到的两个例子,都会受到全脑平均时间序列、白质、脑脊液、以及头动的影响,脑脊液容易受到呼吸心跳的影响,去除脑脊液相当于在某种程度上减小了呼吸心跳的影响。到底是否应该去除,并不是一个非常清楚的问题。只是大家一般都会这么做而已。

谢谢老师,今天我在用rest除去协变量时,出现了warning

warning:Matrix is close to singular or badly scaled
Results may be inaccurate.

我上网查了下,是目前的算法不能求逆,矩阵奇异。
导致结果不准确

不知道对数据结果影响大不大,还是可以直接忽略这个warning?>

你现在是在做一个测试性实验吧?
估计是你用的时间点太少,而协变量又太多,出现这个问题。你可以报告一下你用了多少个时间点,用了多少个协变量。

老师,您好。我数据一共有138个时间点,协变量用了7个:6个头动的,1个全脑均值的

结果影响不是很大,要是感兴趣可以把matlab的detrend函数中的  y = x - a*(a\x); a\x改成a*pinv(x)比较下。

我试试。

去协变量用的也是detrend函数?

之前看你问的是detrend的问题,没注意这里是说去协变量。不好意思。

在去协变量和detrend的时候,都会做回归,所以都会用到矩阵的逆。 去协变量的时候,并没用detrend函数,它求矩阵的逆的时候用的是inv这个函数,改成pinv或许能解决这个问题。

thanks  rest里面去协变量调用的是matlab里的哪个函数呢?函数名叫什么

这里是我们自己写的函数,你在fc的函数中可以看到。

分别是Brain1D_RegressOutCovariables和Brain4D_RegressOutCovariables.

老师,我能不能分2次去除协变量。6个头动参数为一次,白质脑脊液信号为一次,这样就不会出现求不出逆的问题了?

但是这个和一次除去协变量回归的结果肯定不一样.

这个方法和把inv改成pinv,哪个方法更精确?

另外,我看了一下。我的协变量矩阵(8个协变量)是满秩的,为什么求不出逆呢?

你的这个问题从来没有遇到过。
建议你回查一下到底是哪步出的问题。
或者,换套数据试试可能更容易定位问题所在。

满秩的方阵才有逆,一般做回归用的是广义逆

因为去除协变量之后,输出的结果文件的数据类型是double的,是64位表示一个数。如果你输入的文件时数据类型是32位的,那么输出的结果肯定会比输入的文件大一倍,这一点没关系,因为64位要比32位更精确。

我查了一下。smooth完后的数据时16-bit int, detrend和滤波后变成了32-bit real,然后出去rp_*.txt的协变量后变成了64-bit real