Category Archives: Mind/Brain

About mind and brain

References for beginners on skin conductance response (SCR)

Skin conductance response (SCR) is a widely used psychophysiological measurement in psychology, especially emotion studies. Even it is a relatively old method used in psychology, it seems that there is no explicit standard you can use, more or less the tips are told by your colleagues instead of from an explicit guidebook.

Here I record the articles, books, and manuals that helped me to know more about SCR, which I will be used in a fear extinction study.

The workflow of the SCR is not complex, only three steps:

Recording. The most or lest important thing you need to care, depending on your lab’s experience. It is the most important thing because data quality is always the most important aspect of research. “garbage in, garbage out”. It is the lest important thing because usually you just follow the way your lab’s done before. The question in this step is: which part of the body will you stick the electrode, how can you get good signals.

Preprocessing. surprising! With a cognitive psychology background, I’ve thought that only EER & MRI data need a preprocess, but actually, SCR data need that too (actually all kinds of data need a preprocess, the only difference is how much time it cost and how complicated it is).

The preprocess of SCR data usually include a low-pass filtering or down-sampling. After that, you begin to deal with the real data.

The question at this stage is: first, the time point of the onset of SCR (Levinson and Edelberg 1985 reported that 1000 ms ~ 4 000ms after the onset of stimuli were used most frequently, from Boucsein, 2013; we use 900 ms ~ 4 000 ms).

Second, after knowing the onset, the next step is how to calculate the magnitude (Important Note: amplitude and magnitude are different things in SCR, sum non-zero amplitudes / number of non-zero responses = mean amplitude; mean magnitude = mean value computed across all stimulus presentations including those without a measurable response). which threshold used to judge one trial has SCR or not (zero-response)? There is also no standard way for this. Braithwaite et al. (2015) mentioned that historically the most common threshold is 0.05 µS, but now the common threshold is range from 0.01 to 0.04 µS. In our study, we used 0.02 µS.

After extract the SCR amplitude value, the data need to be normalized and standardized. Braithwaite et al. (2015) make a good distinction between the two: Normalization is to make data of each participant more like parametric data (therefore can subject to parametric data analysis), which is necessary; standardized is between participants, to make each participants’ data comparable to each other, which is not always necessary. There are many different ways to do the normalization and standardization, Braithwaite et al. (2015) give many typical approaches, please check the document (p10 ~ p11).

In our lab, we used magnitude, which is the normalized log transformation (log(S+1), S =  raw magnititude); for standardization, we used the range-correction ( (SCL – SCLmin) / (SCLmax – SCLmin: Dawson et al., 2001)).

Analyzing: after preprocessing, do whatever statistic you like.

 

Related software:

http://ledalab.de/

https://github.com/johnksander/BreatheEasyEDA

http://pspm.sourceforge.net/

Of course, my understanding might be wrong, cause I am also a beginner in this field. So here are the references and what I learned from each:

First of all, EDA or SCR is not as simple as it appears to be. At least there are books about it. Here are two examples:

Boucsein (2012), Electrodermal Activity (2nd). Springer

Greco, et al., (2016), Advances in Electrodermal Activity Processing with Applications for Mental Health. Springer.

Second of all, check the guideline from the Society of Psychophysiology, the have a Publication recommendation for electrodermal measurements. In section 3.1, there is one paragraph about the latency of SCR, which is a good rule of thumb about how you shall decide which part of your data is SCR. This section also mentioned different index of SCR: amplitude, area under the EDR curve etc.

Then, there are some terms that you might want to know before jump into all the mess, and Boucsein (2012) have made a table to make life easier:

Braithwaite et al. from Birmingham have a very clearly explained online guide. If you only want to read one document, this one is recommended. The link is here.

Braithwaite, Watson, Jones, & Rowe, A Guide for Analysing Electrodermal Activity (EDA) & Skin Conductance Responses (SCRs) for Psychological Experiments.

For a practical and brief introduction, please see:

B. Cowley, M. Filetti, K. Lukander, J. Torniainen, A. Henelius, L. Ahonen, O. Barral, I. Kosunen, T. Valtonen, M. Huotilainen, N. Ravaja, G. Jacucci, The Psychophysiology Primer: A Guide to Methods and a Broad Review with a Focus on Human–Computer Interaction DOI: 10.1561/1100000065. 

Another often-mentioned book chapter (of which book the founder of social neuroscience John Cacioppo is the editor):

Dawson, M. E, et al. (2000). The electrodermal system. In Cacioppo, J. T, Tassinary, L. G. & Berntson, G. (ed), Handbook of Psychophysiology. Cambridge University Press, Cambridge UK, 2nd edition, 2000. 

可重复危机更新:Methodological Terrorism

关于“可重复的危机”事态的发展,有些超出纯粹学术的讨论,带有许多网络争议中常有的戾气,这种戾气随着最近Susan Fiske在APS官方在线杂志Observer上一篇文章的流出而引起了(西方)心理学家集体刷屏。不过虽然说各个参与讨论的人内心可能各种涌动,但是讨论起来,还是挺有分寸的。至少主流是那些比较折衷同时兼顾各方的人。

Fiske写了一篇题为Mob Rule or Wisdom of Crowds?文章,在这个文章中,她作为社会心理学的老前辈(Handbook of Social Psychology的编辑之一),批评了当前许多人在网络媒体(博客、facebook、twitter等)上对同行的研究进行批评与讽刺的行为,并且这种“方法恐怖主义”引起了不少人离开学术界。(点击这里下载:fiske-presidential-guest-column_aps-observer_copy-edited

“…. all because of methodological terrorism.”

此文迅速在学术界的社交媒体上传播开来。引来了非常多的评论,有非常大胆的公开信(见下图,来自英国Cardiff大学的Chris Chambers,Pre-register的推广者),也有各种各样在博客上的反驳,我列出目前几个比较有影响的博客文章。

哥大统计学家和政治学家的评论:What has happened down here is the winds have changed。主要的观点是时代变了。顺便一说,他后面一篇关于为什么可重复性在心理学领域特别成为问题的博客也值得一读:Why is the scientific replication crisis centered on psychology?。

Johns Hopkins大学的统计学家Jeff Leek的评论Statistical vitriol。这里提到了一个有趣的观点是,现在许多学术界的老前辈是在数据相对少的年代成长的,他们的统计训练很少,在现在数据多、数据开放的时代有点不适应。另一个观点是:统计学家在各个学科都不太爱重视,虽然各个学科都在用统计。

我非常喜欢的一个博客[citation needed](博主Tal Yarkoni, UT-Austin心理学系的助理教授)写了一篇非常长的博客:There is no “tone” problem in psychology。作为年轻人,他也知道大家不愿意看太长的博客,所以在开头列出了他的观点:

1. There is nothing wrong with the general tone of our discourse in psychology at the moment.

2. Even if there was something wrong with the tone of our discourse, it would be deeply counterproductive to waste our time talking about it in vague general terms.

3. Fear of having one’s scientific findings torn apart by others is not unusual or pathological; it’s actually a completely normal–and healthy–feeling for a scientist.

4. Appeals to fairness are not worth taking seriously unless the argument is pitched at the level of the entire scientific community, rather than just the sub-community one happens to belong to.

5. When other scientists do things we don’t like, it’s pointless and counterproductive to question their motives.

还有一个经常对已经发表的文章提出批评与质疑的博客Neuroskeptic,也写了一篇评论:Terrorist Fiske Jab: On “Destructo-Criticism”。配图是这样的:

当然,Fiske写完这个文章之后,知道自己可能会惹火上身,她也接受了采访,进行了一些回应:We talked to the scientist at the center of a brutal firestorm in the field of psychology.

然后Chambers写了一个针对这个采访的反驳:“Methodological terrorism” and other myths“。这个里面提到了之前写的一些非常好的博客。感受一下配图:

还有一个叫Error Statistic Philosophy的博客,也写了一篇博客对此事进行评论:A new front in the statistics wars? Peaceful negotiation in the face of so-called ‘methodological terrorism’。在这篇博客中,也有统计学出身的人留言,表示统计学在各个领域中其实不受重视,地位低下。

总之,最近关于methodological terrorism这个词,心理学家们已经开始讨论(撕)得非常厉害了。当然,在公开讨论的人中间,基本上都是拿到了tenure的人,再怎么说话也不用担心自己的饭碗问题,而年轻的博士或者博后们,好像没有什么人站出来发言。

另外,从这一点上,感觉互联网对于传统的peer-review式的学术期刊也产生了冲击,新的科学论文出版方式可能会是以后的趋势。

 

当我们谈“可重复性”的时候我们在谈什么?

此文是我在自己的微信公众号上的一篇文章,本意是在记录一下自己对于可重复性(reproducibility)的理解。原文见这里。欢迎关注本人公众号Brainclimber:

qrcode

 

最近看到了讨论科研中可重复性问题的视频(不仅是心理学),其中Brian Nosek提到了可重复性(reproducibility)的几层含义(23:45’到25:30′)。我觉得非常有意思,这也是我们在讨论可重复性时因为篇幅的限制而未讨论的问题[见引文],所以正好在展开说一下。

这个视频是一次关于可重复危机的讨论。在这个视频中,Brian谈到了四层不同的reproducibility,以下是我自己对这四层的可重复性的理解,建议看原视频(点击原文链接可观看):

第一层:再现原论文中的结果。即使用相同的数据,相同的分析方法,是否能够得到相同的结果。这一层是最容易实现的,基本上只要公开数据和分布方法,我们就可以得到跟原论文一样的结果。但从目前科研界的主流做法来看,这一点并没有那么容易实现,因为大家基本上只是发表论文,并不公开原始数据,也不公开分析数据的过程。也正是由于不需要公开数据分析的过程,不少研究者靠GUI,手动点击完成数据分析(比如SPSS和Excel)。这样造成的后果就是,论文发表之后,作者本人也不一定记得自己当时是如何分析的了。所以从这个角度来,目前许多关于可重复性问题的解决方案,是在试图解决这个问题,比如Rmarkdown的使用;

第二层:再现原论文中的结论。也就是说,仍然使用原论文的数据,告诉你研究的问题和假设,让你去分析,看看你是否能够得到相同的结果和结论。这一点上就比较有意思了。理论上讲,各种方法应该得到相同的结果,但实际上,Brian他们目前正在做的一个研究显示并非如此:招募世界范围内不同的研究者,给他们一批数据和研究假设,让他们采用自己擅长的方法去分析。结果不同研究小组分析的结果差异很大,因此结论也不尽相同。从这个角度来讲,研究者在数据分析的过程中,自由度还是太大,可操作的空间太大,于是数据最终可能是朝着符合研究者预期的方向得到结果;

第三层:使用与原论文相同的方法和材料,看看是否能够得到原论文的结果。前段时间Replication Project: Psychology所做的工作是这一层的重复。这种重复也叫做直接重复(direct replication)。当然,直接重复面临着不少的批评,因为直接重复的过程中,可能会忽略不少的细节,有可能这些细节才是关键的,而原研究者甚至都没有意识到。所以不少研究者发现自己对其他人的研究进行直接重复时,即使失败,也会不立刻怀疑原研究,而是首先从自己的研究过程找问题。但是仅仅看论文确实是很难精确复制原实验的过程,这个问题Brian在视频中也说了;

第四层:使用与原论文不同的材料和方法,仍然得到原论文的结论。我理解的这个就是心理学中常用的概念重复(conceptual replication)。比如为了证明刻板印象启动是有效的,第一个实验启动老年的刻板印象,第二个启动婴儿的刻板印象,第三个启动嬉皮士的刻板印象,都发现了与刻板印象一致的行为表现,于是证明了刻板印象启动是有效的(婴儿和嬉皮士是我瞎编的)。这种方法在过去的研究中经常出现,Stapel也说他的结论被conceptual replicated。这个意义上的重复也是重复,但可能没有直接重复那么能力有力地证明原研究的效应确实是存在的。

这四层可重复性还只是一种观点,还可以讲方法可重复性、结果可重复性、推论可重复性等,可以参考 Goodman, S. N., Fanelli, D., & Ioannidis, J. P. A. (2016)在Science Translational Medicine上对这个问题的讨论。

此外,关于reproducibility,这个概念最早是由做计算和统计这一块的人提出的,由于他们的工作涉及到海量的运算,可能有大量的代码和脚本,一个人是否能用使用代码完全再现另一个分析,就是最原始的reproducibility的意思。这是我对Roger Peng在Coursera上关于reproducible research一课上讲到内容的理解(如果有误,那得怪我)。对这个问题感兴趣的话,可以上coursera上免费注册和学习这个课程:https://www.coursera.org/learn/reproducible-research。

最后的最后,reproducibility并不是心理学这个领域特有的问题,比如Science在2011年讨论reproducibility的时候,完全跟心理学没有关系:http://science.sciencemag.org/content/334/6060。

参考文献:

Goodman, S. N., Fanelli, D., & Ioannidis, J. P. A. (2016). What does research reproducibility mean? Science Translational Medicine, 8(341), 341ps312-341ps312. doi:10.1126/scitranslmed.aaf5027

胡传鹏, 王非, 过继成思, 宋梦迪, 隋洁, 彭凯平. (2016). 心理学研究的可重复性问题:从危机到契机. 心理科学进展, 24(9), 1504–1518 doi:10.3724/SP.J.1042.2016.01504

如何安装与使用statcheck工具包

2016.09.23更新:statcheck的作者发布了一个manual:http://rpubs.com/michelenuijten/202816

2016.10.21更新:statcheck发布了在线版:http://statcheck.io/

7月23号,psych sci的主编在自己的twitter上发推说目前psych. sci.正在测试使用statcheck工具包。

1136305613@chatroom_1469402433752_40

对于不少人来说这可能并不奇怪,因为这个工具包早就已经公布出来,能够快速地检查一篇论文中统计量是否有错误,比如F值与后面的p值是对应。这个软件的好处在于它可以检查出由于手动输入造成的错误。一经发布,得到了广大的好评。

statcheck的官网:https://mbnuijten.com/statcheck/;这个页面有教大家如何安装,当然还有另一个教大家如何使用的博客(需要翻墙)

以下是我在window 10下面进行安装和测试的结果。

第一:下载R和Rstudio,并且安装好;

第二:下载 Xpdf 并且解压(下载地址:http://www.foolabs.com/xpdf/download.html),可以选择把这个解压后的文件移动到一个存放软件程序的路径(比如我就是C:/Programfiles/xpdf)。

第三:将Xpdf添加到系统的environmental variable里,右击 this pc (此电脑) –> Properties  –> Advanced system settings –> environmental variable. 在User variable 里编辑Path,如果没有Path, 自己新建一个,把Xpdf的路径放进去。

(第二步和第三步就是安装Xpdf,其功能是将pdf转化为txt进行读取,具体安装可以看这个pdf

安装好了之后,打开Rstudio,安装statcheck这个工具包(>>后面接的是代码,如果复制的话,不要把>>也复制到R里去了):

>> # install and load statcheck

>> if(!require(statcheck)){install.packages(‘statcheck’)}

 

然后打开这个工作,使用它来检查:

>> library(statcheck)

>> checkPDF(“C:/Users/Daniel/statcheck/Zhang2015.pdf”)

如何一切正确的话,你的Rstudio里就出输出检查出来的结果,比如:

5D28.tm

值得一提的是,并不是所有的pdf都能够读出统计值 ,至少我看了两篇APA的文档可能就无法进行检查。

如果对statcheck本身有兴趣,可以查看一下原文

为了避免麻烦,我直接把Xpdf的winow版本和Lakens提供安装英文手册使用云盘共享,链接:http://pan.baidu.com/s/1kVrpWzX 密码:rpe4;下载statcheck压缩包即可。

HDDM的安装与使用

HDDM(Hierarchical Drift Diffusion Model),是一个用来估计drift diffusion model参数的python工具包,具体的介绍见官网:http://ski.clps.brown.edu/hddm_docs/。
当然,这个网站上也写了如何安装,但对于不太了解python的人来说,可能会有点周折。以下是我在window上安装的过程。

1 下载和安装Anaconda,这个软件是集合了python以及一些其他工具包的软件,Anaconda与python的关系,有点像Rstudio与R的关系。安装好Anaconda之后,会有不少可以打开的窗口,包括spyder, iPython, anaconda prompt, Jupter Notebook等,个个都可以打开,可以输入命令。但是主要用两个就可以anaconda prompt(这个是shell)和spyder(这个是集合了代码与iPython)。与R不同的是,R安装工具包与输入命令是一个地方,python却是要分开。

2 找到shell (开始–> 程序–> Anaconda –> anaconda command prompt) ,输入
conda install -c pymc hddm

当然,你有可能会失败,如果你把Anaconda安装在系统盘的话,win7以上的系统都会要求你有管理员的权限才能安装,所以你必须使用管理员模式运行Anaconda command prompt才行。

还有一点需要说明的是,python 有一个2.7的版本和3.5的版本,两个的区别不大,但是有些小细节上有明显差别,比如使用function是否要加括号。2.7里是不用加括号的,一般开始的第一行代码总是

print “Hello, World”

但是在3.4版本里,要让python输出 Hello, world, 你就得输入

print (“Hello, world”)

看别人代码的时候碰到错误时,可以先检查是不是由于版本的差异带来的错误。
OK,安装起来很简单,接下来就可以按照教程来跑一跑他们的教学数据了。