Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Read More

Bayes Factor (简述贝叶斯因子) [1]

Bayes factor是什么?

最近读文献,发现研究者开始使用Bayes factor来说明一些问题(比如Russell实验室的新文Julian et al., 2015),看来大势所趋了,需要学习一下。

Bayes factor(贝叶斯因子)被用来描述一个理论优于另一个理论的相对确证性( the relative evidence for one theory over another )(Dienes, 2014),采用数学符号表示即

其中,x为观测到的数据,H0和H1分别为两种理论或模型,p(x|Hi)表示Hi成立时,观测到x的概率,即x数据底层模型满足Hi的概率。实际上p(x|Hi)的一个常用的名字叫似然概率(likelihood),这样,Bayes factor因为由基于两个模型的likelihood的比值定义,也被称为似然比(likelihood ratio)。

因此,Bayes factor量化的就是数据x支持不同理论的确证性,换句话说,Bayes factor量化的是数据x支持模型A的概率是支持模型B的概率的倍数。为了使用方便,研究者给不同大小的Bayes factor打上了类似假设检验中“显著”“边缘显著”“不显著”的标签(Jeffreys H.,1939/1961): 一般大于3或小于1/3被认为是实质性的证据(substantial evidence);而1/3到3之间则被认为是较弱或有待验证的证据(weak or anecdotal evidence)

参考文献:

  • Julian et al. (2015). Place recognition and heading retrieval are mediated by dissociable cognitive systems in mice. Proc.Natl.Acad.Sci.U.S.A. www.pnas.org/cgi/doi/10.1073/pnas.1424194112

  • Dienes Z. (2014). Using Bayes to get the most out of non-significant results. Front.Psychol. 5:781. doi:10.3389/fpsyg.2014.00781

  • Jeffreys, H. (1939/1961). The Theory of Probability, 1st/3rd Edn. Oxford, England: Oxford University Press.

Read More

Bayes Factor (简述贝叶斯因子) [2]

Bayes factor的几个应用途径

  1. 作为一种统计推断的方法,Bayes factor首先可以用来代替p值(一般根据p<0.05来决定拒绝虚无假设(null hypothesis, H0),接受备择假设(alternative hypothesis, H1))来确定备择假设是否可靠。这里的H0和H1即两个不同的模型,计算Bayes factor()。同样,如果计算得到的Bayes factor大于3,即数据x支持H1的概率是数据x支持H0的3倍以上,则被认为有足够的证据说明模型H1的正确性(类似根据p<0.05做出的结论)。

  2. 采用p值做统计推断时,一个常识是不可以简单地使用p>0.05作为H0成立的证据,即研究者不可以简单地做接受H0的结论(因为导致不显著的原因除了“H0成立”之外,还有比如样本不足,不够敏感等的影响;因此,如果非要做结论,一般需要结合power或effect size的信息来辅助进行)。而Bayes factor在这种场景中却派上了用场。如果统计结果显示上面计算得到的Bayes factor小于1/3,甚至更小,研究者就有足够的信心来接受H0模型。因此,Bayes factor可以方便研究者确定“没有结果”的可靠性,用于理论检验和构建。

  3. 个人认为Bayes factor还可以在另一个地方派上用场,即关于大样本研究中发现的效应值小(small effect size)的问题。随着数据采集条件的完善,行为神经科学中大样本的数据不断普及。同时研究者也发现,在大样本的数据统计中,0.2左右的效应量变得异常普遍,于是一些没有相关经验的审稿人(reviewer)便通常会提出类似“the amount of variance that impulsivity accounted for was a mere 2%”的问题,并质疑结果的可靠性。这个时候reviewer一般会要求做分半,进一步验证结果的可靠性。Bayes factor提供了另一个角度来展示结论的可靠性。以我自己的研究为例(Kong et al., PLOS ONE, 2014),我们发现被试在核磁扫描中头动(In-scanner head motion)的大小和被试的自我控制特质(Self-control impulsivity)存在显著关联,但是相关系数只有0.14(p=0.001),这时,可以计算该分析的Bayes factor发现BF = 9.1,因为大于3,可以认为有足够的证据确信头功和被试的自我控制特质之间存在的关联。

参考文献:

  • Kong X-Z, Zhen Z, Li X, Lu H-h, Wang R, Liu, L, He, Y, Zang, Y-f, Liu, J. (2014) Individual Differences in Impulsivity Predict Head Motion during Magnetic Resonance Imaging. PLoS ONE 9(8): e104989. doi:10.1371/journal.pone.0104989.

Read More

Head Motion is Not Simply a Technical Artifact(学术年会上的报告)

各位老师,同学,大家好!我报告的题目是“头动并非简单的技术噪声:脑成像中头动的心理和神经相关”。

核磁共振成像技术的出现,为研究人类心智和脑疾病提供了新的契机。但是,扫描过程会受到很多混淆因素的影响,比如头动。剧烈的头动不仅让脑偏移了位置,还会干扰信号采集。一直以来,研究者会在数据预处理中采用头动校正来消除头动带来的影响,但是近年来,人们发现头动校正是不够的。比如2012年连续有几篇很有影响的文章(van Dijk et al., 2012; Power et al., 2012; Satterthwaite et al., 2012; Ling et al., 2012)发现:即使采用了严格的头动校正,头动还是会影响功能连接和大脑白质测量。考虑到病人往往头动会相对严重,由此人们开始怀疑,以前发现的脑上的差异到底是脑损伤还是头动引起的扫描噪声。2012年以后人们的头动问题的关注不断增多,头动问题也开始让研究者重新思考疾病机理研究中脑影像的应用。

Read More

一种基于单被试MRI脑影像量化脑区间连接的新方法

目前研究者普遍认为,人类复杂的认知过程并不能由单独的某个脑区完成,而是依赖多个脑区间的协调工作。因此,考查脑区间的关联对进一步深入理解大脑的工作机制有极为重要的意义,也是近年来脑区连接和脑网络成为脑科学研究热点的主要原因。

目前通过核磁共振成像技术采集的脑数据构建脑区连接和脑网络主要有以下几种方式:基于DTI数据量化脑区间白质纤维连接进而构建脑网络;基于fMRI数据通过脑区间BOLD信号的波动共变量化功能连接进而构建脑网络;通过MRI数据通过脑区测量(如皮层厚度、体积等)在被试间的共变量化结构连接进而构建脑网络。其中,前两种方法都可以实现对单个被试网络的构建,而已有基于MRI数据量化连接的方法主要基于一组被试,无法实现对单个被试中脑区连接的量化。

但是,构建单个被试脑区连接在实际应用中是极为需要的。比如通过构建了单个被试的脑区连接和网络,可以提高对疾病的个体差异的认识,并进而促进未来基于核磁数据的诊断。这个研究旨在提出一种基于MRI脑结构数据量化脑区间关联的新方法。该方法可以总结为一下三步:

  1. 计算脑中每个体素的局部形态学特征;
  2. 脑区分割,并估计每个脑区形态学特征的分布;
  3. 通过估计两两脑区的形态学特征的分布来量化两两脑区间的关系,即脑区连接。

下面是该方法的流程示意图。

X.-z. Kong et al. / Journal of Neuroscience Methods 237 (2014) 103–107 105

DBIR

Read More

保持冷静,不要头动

在网上看到一张图,贴在核磁扫描间是不是很应景,哈哈!

保持冷静,不要头动

致谢:Matt Wall@Twitter

Read More

PyMVPA安装

多体素模式分析(multi-voxel pattern analysis, MVPA)是一种基于机器学习理论发展出来的一种功能磁共振数据分析技术,简单说,就是通过多个体素的信息融合在一起用于后续的预测等统计分析。具体实现上,PyMVPA是研究者常用的一个工具包。下面记录PyMVPA安装步骤,备查。

系统环境:Centos 5.7 64bit 非root用户

Scipy安装方法类似,主要涉及如下命令:

# pip install --user pymvpa2

如果安装顺利,会显示如下文字,表示安装完成:

Successfully installed pymvpa2
Cleaning up...

但是,更多的可能会碰到如下问题:

unable to execute 'swig': No such file or directory
error: command 'swig' failed with exit status 1

这个报错说明需要首先另外安装这个叫swip的工具,实际上,SWIG可以允许一些脚本语言调用C/C++语言的接口。支持的语言有:Perl, Python, Tcl, Ruby, Guile, and Java。在PyMVPA中主要就是涉及与Python的对接了。安装SWIP步骤如下:

Read More

投稿经历: A Paper On Head Motion And Impulsivity

这个研究关注的问题是:核磁扫描过程中的头动纯属设备噪声,还是携带了关于被试的有意义的信息?

下面是我简单写了一个中文摘要:

核磁共振成像(MRI)技术的发展为我们理解人类智能和脑疾病提供了有效的手段,在实际应用中,MRI扫描过程受到了一些无关因素的影响,头动就是其中之一。传统观点认为,头动是毫无意义的混淆因素,由于它会影响MRI信号,研究者想尽各种办法试图将头动的信息彻底去除,而这些方法往往是基于一个未经验证的假设:MRI扫描过程中的头动是简单的技术噪声。但是,这些头动究究竟只是简单的噪声,还是其本身也带有很重要的信息,目前我们对此知之甚少。本研究对MRI扫描过程中的头动的个体差异是否反映了被试的心理特质做了系统探讨。首先,我们在大样本的儿童(N=245)和成人(N=581)中均发现,头动的个体差异与被试的冲动水平存在显著相关,即被试越冲动,头动越大。进而,结果发现,多动症儿童与正常对照儿童在头动上的差异,很大程度上是由于他们在冲动水平上的差异导致的。综上所述,本研究发现MRI扫描过程中的头动反映了被试的冲动水平,这为更全面地认识头动提供了实验证据和全新的观察视角,同时,本研究对新的消除头动影响算法和处理策略的提出也有着深的指导意义。

Kong X-z, Zhen Z, Li X, Lu H-h, Wang R, et al. (2014) Individual Differences in Impulsivity Predict Head Motion during Magnetic Resonance Imaging. PLoS ONE 9(8): e104989. doi:10.1371/journal.pone.0104989

这篇文章从2013年4月11日开始投出到2014年7月16日终于接收,历时15个月又5天。期间共收到9次Reject,送审5次,其中2次Major revision,最快的回应来自Current Biology,相隔一夜。发生了奇葩的同一个reviewer连续审了三次的故事(具体见下面的投稿记录和感触)。

  • 过程中,虽然收到reject会有些失望,但是不断有来自外界的意见也会感到很踏实,每次都根据意见修改,每次都有所提高。
  • 投稿过程中推荐reviewer至关重要,尤其对于neuroimage以下的这种中等杂志。
  • 如果有机会回复reviewer的意见,要尽力做到100%满足reviewer的意见。
  • 回复reviewer意见和提交修改稿要安排好时间,尽量在20~30天时完成重新提交

虽然只能发表在PLoS ONE上,但是能把一个自己的观点表达出去还是很高兴的。况且文章刚发表,就得到了领域大牛BB的认可。大牛BB得知这篇文章后,主动和我老板通邮件,表达恭喜的同时,说
Congrats on a really interesting paper on head motion and impulsivity. (Even more surprising is that it was not in a high impact journal!)

不管怎样,能得到大牛如此高度的认可,真的荣幸至极!感谢我的导师刘嘉老板在这个过程中的悉心指导和不断鼓励。


下面投稿记录:

Read More

AFNI安装/AFNI Installation

除了FSL和SPM,AFNI也是研究者常用的脑影像处理工具。官方提供了详尽的安装步骤(非管理员权限),点。这里做一些补充。

根据官方安装步骤的说明,在安装AFNI之前,需要首先安装几个依赖的package,包括libXp, tcsh,PyQt4, 和R。安装步骤参看上面提及的链接,下面几条命令用于检查自己的机器是否安装完成了上述依赖package。

rpm -qa | grep libXp
rpm -qa | grep tcsh

这两条命令会在terminal中print出相应package的文件名。

which R

正常情况下,上面这条命令会print出R的路径。

PyQt4是Python的一个工具包,下面检查是否安装完成PyQt4.

ipython
>from PyQt4 import QtCore
>

在Python中输入第二条命令后如果没有报错,就是安装完成了。

接下来可以按照官方安装步骤完后进行。在选择AFNI的版本时,如果机器有多个CPU,可以选linux_openmp或64位系统的linux_openmp_64;只有一个CPU的话,可以选linux_xorg7linux_xorg7_64

我用的Centos7,环境变量PATH采用~/.bashrc控制,而不是官方安装步骤中的.cshrc,所以在~/.bashrc中添加如下几行即可:

Read More

Scipy安装步骤

Scipy函数库是基于python做科学和工程计算中常用的库,其中包括了众多的线性代数、数值计算、图像和信号处理、稀疏矩阵等。在基于python做脑影像处理时,scipy也是最常用到的python库之一。下面记录安装scipy的步骤,备查。

系统环境:Centos 5.7 64bit

在非root权限下,需要把库安装在自己有权限的目录下,比如采用pip提供的—user参数将默认安装到.local/lib/python2.7/site-packages/中。

安装scipy涉及到的主要命令如下:

pip install –user scipy

不过一般情况下,你会碰到如下的问题:

Read More

这个5月

这个五月是一个折腾的五月,时间关系,简单罗列如下。

五月初,参加在北京举办的ISBI2014,第一次带着自己的poster在会场展示,虽然只是一个one-page paper,也是第一次自己一个人参加国际学术会议,经历难得。会上学习到很多,也结识了不少新朋友。

Read More

deploy时[non-fast-forward]reject问题解决方案

Github+Octopress rake deploy时[non-fast-forward]reject问题解决方案

好久没更新blog,今天写好文deploy时发现报错:

! [rejected]        master -> master (non-fast-forward)

在网络google了半下午,终于找到了解决方案:

更换目录,并更新:

cd octopress/_deploy
git pull origin master

跳出目录,重新deploy:
cd ..
rake deploy

问题解决。

Read More

Paired t or two-sample t-test

之所以谈这两种t检验方法,是因为一篇很有意思的问题,即Neurobiological basis of head motion in brain imaging。在介绍完两种t检验方法后在回来谈论这篇文章。

双样本t检验Two-sample t-test | 配对t检验Paired t-test

双样本t检验,也叫独立样本t检验。即考查两个相互独立的样本的均值的差异。(与配对t检验相比,这里的两组样本是没有配对信息的,比如比较男生和女生在方向感能力上的差异)

f1

其中s1和s2分别为两个样本的标准差,n1和n2为两个样本的样本量。此时,t值的自由度为n1-1和n2-1中较小的一个。

Note: 在假设两个样本的variance相等的情况下,自由度为n1+n2-2,这也是我们常见的自由度计算方式,SPSS中给出了假设方差相等的自由度,以及方差不等时根据两个样本各自的方差和样本量估计的自由度。感谢@斯图拉特 童鞋提醒 :)

当n1=n2=N时,可以简化为

f2

这时候自由度为n1+n2-2,即2N-2。

Read More

Install and Use R Package

安装:

  • Method 1:

Install from source
下载工具包, 比如irr包,用于计算ICC:

$ R CMD INSTALL irr_0.84.tar.gz -l /my/own/R-packages/

注:这是在Linux的Terminal中完成的。

  • Method 2:

Install from CRAN directly:

install.packages(“irr”, lib=”/my/own/R-packages/“)

注:这是在R中完成的。

上述两种方式有一个很明显的区别,即方法一不会自动下载安装irr包需要的依赖包,比如lpSolve包,而后一种方法则可以自动检查并下载需要的依赖包。

使用:

下面是如何使用R,在使用irr包中的函数之前,需要首先导入该包,也就是告诉R你需要调用哪个包里的函数,这个包在哪里:

Read More

动态网络矩阵 可视化

在过去的几年里,网络分析方法从社交网络辗转到人脑网络,火爆一时,也饱受诟病。不管怎样,网络分析方法确实给我们提供了一个新的观察和认识人脑的方式。

科学发展往往遵循一个“从一元到多元,从静态到动态”的演变规律,如今,研究者也不再满足分析一个单独的静态网络,而是开始试图从动态变化的视角观察人脑网络。这个动态可是短时的(比如一次扫描中人脑网络的变化),也可以是长时的(比如是在一天中不同时段人脑网络的变化,甚至是人的一生中脑网络的动态变化)。

通常,研究者采用一个矩阵来存储一个网络,矩阵中每个行或列表示一个node,而每个cell的值表示相应的两个node的连接强度。

网络矩阵

Read More