1-1.從不道德的心理學實驗開始

開放科學的觀點與協作平台的興起,是這幾年許多歷史條件成熟並匯集而成的結果。在我編寫這份電子書的時間,認定有助開放科學發展的條件有三:第一是資料科學與開放資料的概念與工具逐漸普及,學習管道多元且門檻不斷下降;第二是科學家對傳統的知識發表及傳播方式的反省;第三是發生科學研究人員違反科學研究倫理事件的次數增加,樣態也更多元。每一個條件都值得寫一本書來討論,不過這一次的目標是向華文世界的行為科學從業者(更精確地說是還習慣傳統作業模式的科學研究者),介紹發展開放科學的核心–可重製研究(reproducible research)的觀念與方法,先從評論違反科學研究倫理事件,解釋推動可重製研究的理由。

今年2015年5/28一篇紐約時報的專欄文章Retracted Scientific Studies: A Growing List,整理1980年代之後,西方媒體界知名度較高的幾項違反科學研究倫理事件,多數事件的當事人與單位都在頂尖學術期刊發表研究成果,之後第三者揭發研究過程的瑕疵,導致期刊出版社或當事人主動撤銷已出版的爭議論文。這篇專欄文章列舉的事件,最末兩件的當事人是美國與荷蘭心理學家,一位是哈佛大學的認知心理學教授Marc Hauser,長期研究靈長類的語言及道德發展。另一位是荷蘭蒂爾堡大學的社會心理學教授Diederik Stapel,設計許多實驗探討在社會互動的場域的人類判斷行為。雖然兩人的研究主題南轅北轍,身敗名裂的過程卻極為相似。兩人的學術聲望都是建立在曾發表在一流期刊的一系列學術論文,支持論文結論的資料在論文出版數年之後,被揭發在分析過程之中曾被修改,或是憑空造假。有問題的論文全被撤稿,兩人被任職的大學撤職調查一陣子之後,最後都離開校園。

為何無法在論文剛出版時就發現問題?除了多數讀者相信期刊的審查品質,相信作者個人的誠信,促成長時間的忽視。我認為這些故事背後還有一個遠因,就是作者從未完整公開原始資料與分析資料用的程式碼,有能力檢驗分析結果的讀者無法在第一時間查驗細節。有受過專業科學研究訓練的人員都知曉保存原始資料的重要性,不過公開分析資料用的程式碼對多數研究人只還是模糊甚至陌生的概念。因為多數研究者依賴套裝軟體或人工整理資料,還有產製數據與圖表,程式碼都是在多數軟體使用者幾乎不會碰觸的後台環境調整及運作。除非有期刊政策或法律規定等外在需求,研究者不會意識到整理甚至公開程式碼的必要性。研究過程中產生的一系列程式碼,主要功用是幫助研究者將無意義的資料,濃縮為有意義的圖像。對於以收集整理數據資料,建立文獻知識的研究領域來說,整理與公開程式碼是和保存及開放原始資料同樣重要的義務。

1-2.科學心理學研究成果必須可重製

一開始主張整理與公開程式碼是研究者的義務,是要向科學心理學研究人士推廣可重製研究。只要認定自已是以科學方法進行研究的心理學者,不論採用那一種收集資料的準則或工具,都能運用這本電子書要介紹的一系列已廣泛用於可重製程序的開放源碼成品整理與公開程式碼,讓其他使用者能運用資料再現研究成果。

正式要學習這一系列工具之前,我想談一下心目中可重製的心理學研究要有什麼標準。這些標準是我現在認為多數人能夠達到,能成為共同遵守的成文規定。雖然這樣標準不見得有人同意,未來也有可能會調整。說明我現在認同的標準,可以幫助讀者理解我推廣可重製研究的觀點,也能幫助讀者找到學習的動力。

1.從假設發想開始,詳實紀錄所有可操作的程序 經由歸納資料獲得結論的研究,設定假設都會訂立一套收集資料的模式,預期經過既定的資料分析程序,會得到符合特定理論預測或者描述的結果。如果收集的資料是眼球移動參數(眼動儀)、神經細胞電位變化(EEG, ERP)、紅血球含氧量(fMRI)等,需要使用精密複雜的儀器,配合已設定參數的軟體收集資料。這些儀器都有搭配的套裝軟體,多數研究者都要掌握這類軟體的操作設定,才能執行自己的研究計劃。不過所有軟體設定的真面目是數十行的程式碼,多數研究者不會自行更動,或者不知如何更動,更別說要將這些程式碼開放給其它研究者參考。然而,這些程式碼集合研究過程的關鍵操作,比起論文內容交待的設計原則,公開這些程式碼能更有效地查驗研究方法的問題,也能有效阻絕資料造假的作為。
如果研究者能理解操作儀器的程式碼存取方法,相對地也會有能力公開所有涉及儀器運作的程式碼,這也是我現在認為可重製的心理學研究最低標準。更明確的公開模式,還有包括每行程式碼作用的註解,特別是與變項操作及測量有關的程式碼,而且這些註解已經相當於記載於學術論文的補充說明。我認為如何讓研究者更容易養成在研究程序開始,隨著程式碼與資料的累積,紀錄研究行動的習慣,是成功推廣與教育可重製研究的關鍵。

2.開放的資料是機器與人類皆可識讀的儲存格式 公開收集完成的資料是多數研究者都能理解並接受的共識,但是可重製研究對於公開的資料格式有更高的品質要求。以維基百科英文條目data cleansing彙整的條件有統計效度(validity)、內容可除錯(decleansing)、內容正確性(accuracy)、資料欄位完整(completeness)、格式一致(consistency)、以及統一的測量尺度(uniformity)。能讓人類可識讀的開放資料起碼要達到內容正確性、資料欄位完整與格式一致,這需要研究者編寫具參考功能的變項說明書(coding book)。以資料欄位完整來說,研究過程或許因為不可抗力因素,導致某些欄位無法登記任何數值或文字,成為遺漏值(missing values)。在正式公開的資料,這些欄位應登記公認的遺漏值標記,例如’NA’,並且變項說明書要解釋遺漏值在該變項數值範圍中的意義。
機器可識讀的資料又稱為純淨資料(tidy data),根據Hadley Wickam(2014)的主張,機器可識讀的資料必須有結構(structure)與語義(semantics)的對應性,因此資料的欄(column)必須是變項,行(row)必須是觀察值,所有觀察值的集合必須能組成無空缺的表格。我認為是機器可識讀的資料規模,具備內容可除錯、統計效度高,而且測量尺度統一等條件。例如有兩個變項都是登記重量的資料,一個變項用公斤做單位,另一個變項用英磅做單位,這個情況除了測量尺度不統一,研究者也需要在程式設定單位轉換程序,計算機才能正確運算數值,如此的資料能否符合研究需要的統計效度也有疑問。
在我研究與教學的經驗裡,我見過有些朋友為了使用特定統計模型進行分析,而且把統計模型需要設定的虛擬變項也登記在資料表格裡,如此也會造成無法識讀的資料。首先其他使用者需要知道放入虛擬變項的原因,才能了解整份資料表格登載的內容。其次除了使用能運算特定統計模型的程式,沒有其它程式能完整處理這筆資料,降低這筆資料在其它電腦重現分析過程的機會。純淨資料應是跨平台的表格格式,例如csv或tsv(如果要做最高品質的開放資料,應該用json),任何分析軟體或程式皆能正確讀取。這些觀念應該在基本的統計或資料分析的初級學習階段建立,才能達到最大的推廣效果。

1-3.科學心理學要有版本控制的概念與工具

經常寫作論文報告的研究人員可能有習慣將一份報告分階段完成,或者把初次寫好的文章修改數次才定稿,每次修改都會將稿件儲存為一個不同於前次修改的檔案。例如第一次完成的檔案是“article_V01.doc”,接著修改三次才正式結束,每次修改完成後的存檔分別命名“article_V02.doc”,“article_V03.doc”,“article_V04.doc”,如此的檔案整理模式就是一種版本控制(version control),姑且稱之「草根型版本控制系統」。 有逐次儲存檔案習慣的的研究者很容易接受版本控制的觀念,也很希望有一些工具或技巧改進版本控制模式。因為草根型版本控制系統的最大問題,就是很難追溯過去的工作紀錄。例如進行最新一次的修改過程,發現要找回之前版本中的部分內容,如果已經有兩次以上的改版,使用者無法從草根式根據控制系統,準確得知需要的內容在那次修改的版本之中,只能一個檔案接著一個檔案的查找,修改次數越多,處理的效率越低落。
有版本控制習慣的研究者也會運用類似的方式處理研究過程中產生的程式碼,以及逐漸累積的資料。面對的問題不僅是檔案件數增加,如何決定最後要公開的檔案,以及維護公開後的檔案內容,這些問題都不是草根型版本控制系統能夠應付。運用Git這類分散式檔案版本控制系統,也成為現在的研究者必須學習的功課,在之後的章節我將示範使用分散式版本控制系統管理程式碼與資料的各項益處。此外我也發現使用Git不但可以增加研究工作效率,也能提高個人學習新事物的能力,因此這本電子書功能具備引導讀者自學與輔助教學的雙重功能。

1-4.反省從事科學心理學應具備的素養

至此我已說明可重製研究已具備的品質條件,要達到我所列舉的品質,仰賴今天及未來的每位科學心理學研究者,體認使用可靠的版本控制習慣,以及妥善運用工具維護研究過程產生的每項資料、程式碼、以及報告文件。今天任何科學心理學領域的研究工作狀況,其實都與計算機不發達的時代相同,只是面臨處理的資料量倍增的現實,產製的訊息量也隨之增加。例如行為實驗報告以一個平均數表現一個條件的發現,搭配神經科學儀器的研究報告是用一張、甚至是一組大腦造影圖像表達一個條件的結果。這個例子顯示從資料收集到結果分析,需要正確設定人機皆可識讀的程式碼,才能掌握整套研究過程,公開程式碼不只是增加研究過程的透明度,也是促進研究者之間的溝通與相互學習,進而提昇研究品質,以及累積確實能拓展人類視野的科學知識。
接下來介紹與示範的軟體操作,除了讓讀者透過親手操作,來認識現在人人都能掌握的可重製研究工具,也鼓勵讀者使用自已正在進行,或者準備進行的研究專案,運用本書介紹的軟體與協作平台,建立能實際執行的可重製研究專案。這本電子書也會以開放且可重製的模式維護與更新,因為每隔一段時間會出現入門開放源碼的新途徑,保持增加新資訊的彈性能幫助我自己與讀者持續學習。
我相信研究者個人或團隊使用開放源碼的程度,會直接反應在研究成果的可重製內容。如果能以可重製的內容比例能成為評估研究成果貢獻的指標之一,對於評價研究者傳授與創造知識的能力,可望出現比期刊影響係數更客觀理性的判別標準。寫作這本書的長遠目的就是引導自已與其它有相同志向的研究者,一起來反思科學心理學的知識價值,累積真正有益知識更新的研究。