博主写论文的时候,整理代码,突然发现以前预处理大脑Fmri时间序列的代码好像没有标准化数据。
而博主的训练模型所使用的特征都是以Pearson的值为基础的。吓得博主惊出了一声冷汗。赶快看一下有无影响。
但是根据Pearson的公式来看,应该是影响不大的,协方差除以两个数据的标准差之积,感觉已经包含了标准化的过程。
皮尔森相关系数(Pearson correlation coefficient),这篇文章介绍得比较详细
但是为了让自己安心,还是试验一下。
我们先对大脑ROI的时间序列数据直接计算Pearson相关系数。
在神经科学领域,对两个大脑ROI的时间序列计算Pearson视为两个大脑的功能连接程度。
第一条ROI的时间序列数据:X
第二条ROI的时间序列数据:Y
数据规范化(归一化)、及Z-score标准化
我们这里使用Z-score标准化,减去均值后除以标准差
X_mean = np.mean(X,axis=0)
Y_mean = np.mean(Y,axis=0)
X_std = np.std(X,axis=0)
Y_std = np.std(Y,axis=0)
X_zscore = (X-X_mean)/X_std
Y_zscore = (Y-Y_mean)/Y_std
标准化后的第一个ROI的时间序列:
标准化后的第二个ROI的时间序列:
经过Z_score标准化之后,均值为0,标准差为1
使用pandas计算相关系数
cc = np.array([X, Y])
cc_pd = pd.DataFrame(cc.T, columns=['c1', 'c2'])
cc_corr = cc_pd.corr(method='pearson') # 相关系数矩阵
val =cc_corr.iloc[0,1]
两次结果相差6e-16次方,看来影响是不大的。
然后一个功能连接肯定不能说明全部,然后我就对所有功能连接都试验了一下
前后两种方式的计算的功能连接差距非常小。博主就不用remake一遍实验流程了,万岁。