使用广义线性模型GLM回归头动信号(matlab实现)

广义线性模型

  • 广义线性模型的线性的含义是多个自变量的线性组合对模型预测产生贡献
  • 在磁共振数据预处理中,通常会回归12个头动参数,利用的就是广义线性模型,通过建立广义线性模型,从原数据中减去估计得到的12个头动参数的贡献,就回归掉了头动噪声

在matlab中建立广义线性模型并回归噪声

%data是一个体素的BOLD信号,维度为1xtimepoints
%noise是头动信号,维度为12xtimepoints

%使用matlab自带函数fitglm建立广义线性模型,y=1+b1x1+b2x2+...+bnxn+e

mdl = fitglm(noise,data,'linear','Distribution','normal');       %linear代表模型中只含常数项和一次项,normal指定data服从正态分布

GLM = (mdl1.Coefficients.Estimate(2:n))';        %Estimate中存放的是系数b1...bn(第一个系数是常数项的系数)

noise_estimate = sum(GLM.*noise);        %计算噪声b1x1+...+bnxn

data_regress = data - noise_estimate;        %从原数据中减去噪声

你可能感兴趣的:(MRI数据处理,matlab实现,回归,数据挖掘,学习,matlab)