大話腦影像之二十二:你真的了解你的眼動數據嗎!—數據清洗的「神秘」力量

  • 2019 年 10 月 4 日
  • 筆記

五年!你知道這五年我怎麼過的嗎?….

music起!這五年,我每天看思影科技公眾號,不知道學了多少知識,多開心,趕緊點擊左上角「思影科技」四個藍色字關注吧。

我從小就做眼動數據處理,,,,

統計檢驗是當前所有定量分析研究所必經的途徑,儘管在今天我們已經有大量不同的統計方法來完成與我們的數據特徵相符合的統計檢驗,但幾乎所有的分析都建立在重要的基本假設之上。如果不注意這些基礎,研究人員可能會無意中報告錯誤或不準確的結果。但是即便是在嚴苛的實驗室研究中,與假設檢驗的統計前提存在偏差的數據所帶來的影響也都會在一定程度提升一類錯誤(即假陽性)的發生率或者提升二類錯誤(即假陰性)的發生率(Jason W. Osborne,2011,P4)。相關研究已經證明了這一點,在化學和農業公司以及貝爾電話實驗室等研究實驗室工作的研究人員通常是應用統計學家,他們在早期關於統計「穩定性」的研究多次體現出數據的「清潔度」的重要性。而在數據可能更混亂的社會科學領域,這一問題可能顯得更為嚴重(絲毫沒有覺得社會科學領域有問題哈,這可不是我說的,引自前一個文獻)。

圖1 以往文獻中報告了數據清理細節的文獻的佔比圖

註解:(Osborne, etal.,2011;這篇來自APA的文章研究了以往文獻中報告了數據清理的內容和細節的文章,結果顯現出進行過數據清洗的文獻僅僅在22%—38%之間,而這些內容其實是定量方法研究中要報道的基本問題,可見這一問題在當今科學研究中仍舊是一個嚴峻的問題)

因為,一些統計學家將「適度偏差」視為完全不重要的、與完全正態性和完全方差相等的數學模型的微小偏差(比如T檢驗的提出者就聲稱這種方法對於符合正態樣本或只有一些正態性偏差的小樣本量的數據也能體現出魯棒性的統計能力)。但是,社會科學家很少看到這樣的研究爭論,同時,他們也很難獲取像在這些環境中產生的數據那樣乾淨的數據。而眼動數據在這類不幹凈的數據中顯得更為扎眼。沒圖沒真相,帶你feel一下眼動數據都會長什麼樣。

圖2 這是一個取樣點的數據,亂到你絕望,EXCEL甚至無法幫你進行基本的行列處理,並對你產生抵觸心理。

可能你會說,我用的是大廠家的數據的,我的後端輸出非常的棒,我導出的注視點的數據整潔到可以直接分析,少年,我只能說年輕人畢竟還是too young。同樣還是赤裸裸的真相展現給你。

圖3 這是一個相當整潔的注視點數據(實際上你導出的注視點數據要比這個還要雜亂很多),你可以看到你的數據整齊有序的排列在你的Excel里,但是這個數據有26列,有2000多行,有些變數是無用變數(即你統計的時候用不到)而有些變數不是按照你想像的那樣產生的,例如一個被試如此多的注視點,有些注視點落在了你並不感興趣的區域等等。

眼動是心理科學研究中重要的手段,通過記錄和分析人的眼動數據可以來推斷其心理過程。眼動儀則是我們的研究中用來實現這一研究過程的重要儀器,其採集所得的數據是我們進行定量分析的基礎。而不同的眼動儀器導出的數據格式千差萬別,有些儀器簡陋到只能導出如文章圖2那樣混雜的取樣點數據,有些儀器能量大很多(高投入,高產出,你懂的),可以導出更乾淨的注視點數據,但是即便是這樣,眼動數據由於很高的取樣率(或大量的注視點變化)的特性,導致你所得到的數據中一個trial(即一個刺激)也會得到很多個數據(注視點數據的量相對於取樣點數據會少不少)。在這樣的情況下,即使是一個被試的數據,一個實驗做完,你所面對的數據量和數據的複雜程度也會讓你想問自己:當初為什麼我不做腦電或者fMRI作為課題?

那麼我們在面對這樣的數據時,該怎麼辦呢?答案只有一個——數據清洗!

那麼什麼是數據清洗呢?

其實,數據清洗並沒有一個嚴格的定義,從廣義來講,對雜亂無章的數據按照一定的數據結構進行整理,然後對缺失值、異常值進行處理,使得原始數據更加符合你的假設檢驗的要求的過程就是數據清洗。但是,在這裡我想引用著名的Vardeman & Morris(2003, p. 26)給出的對於假設檢驗中數據是否符合統計方法的前提要求對於研究重要性的觀點:

你必須完全理解你的假設說了什麼,它們意味著什麼。除非您真正理解此斷言在您對其的應用中的上下文中的含義和限制,否則不能聲稱由於該方法的魯棒性,通常的假設是可以接受的。你絕對不能使用任何統計方法而沒有意識到你是在含蓄地做假設,你的結果的有效性永遠不會超過其中最值得懷疑的那些。

圖5 原文奉上,以防出現翻譯的理解偏差影響了您的閱讀體驗

這樣的觀點在現今研究中受到越來越多的研究者的支援。而數據清洗的過程不僅僅是讓你的數據更加符合你要使用的統計方法的假設前提,更是一個你了解自己的數據的每一個細節的過程。在眼動研究中,這一點尤為重要。那麼數據清洗的步驟是什麼?數據清洗過程中需要遵循的原則有哪些?什麼樣的工具可以更好的完成數據清洗?接下來就讓我們仔細了解一下。(問號三連)

在數據清洗過程中,最重要的是建立自己的數據清洗的思路,在建立這個思路的過程中,首先就是要明晰數據清洗過程要遵循的一些基本原則。

這樣,在數據清洗中就可以做到有據可依。從目的來看,數據清洗的最基本原則是得到高品質的數據。數據品質往往會涉及許多因素,它們包括:準確率、完整性、一致性、時效性、可信性和可解釋性。因此,在具體的數據清洗過程中,你要依據這些基本的原則來對你已經有的眼動數據進行「匹配」式的對應檢查,看看你的數據是否是一個高品質的數據從而能夠用來進一步的分析(很明顯,導出來的原始數據基本品質都難以達到這些要求,你可以拿出自己的數據對著這幾條原則來比照下哦)。

其次是熟悉自己的原始數據。你必須明確自己目前得到的眼動數據是什麼樣的?有什麼樣的特點?例如你的數據是注視點數據還是取樣點數據;你的數據是已經有分隔符的數據還是連分隔符都沒有;你的數據中多少行,多少列,每一列代表的是什麼因素或者變數等等。這些都是需要你在數據清洗前必須要了解的步驟。

有句俗話叫一個蘿蔔一個坑。如果把你的數據比作蘿蔔田,那雜亂的蘿蔔田可能主要遇到以下三種問題:有的坑裡沒蘿蔔(缺失值);有的坑裡的蘿蔔蔫了或者蘿蔔長的跟樹一樣高(異常值);白蘿蔔田裡種了胡蘿蔔或者西瓜(數據不一致)。

了解到這些問題後,你就要開始對你的蘿蔔田進行修整(數據清洗)了。一般來說這樣幾個方面:

拔草,耕田,施肥,噴農藥,上大棚(不好意思,拿錯課本了,這是臨沂地區大蔥(思影工程師大星的日常水果)種植概要)

第一個部分就是對缺失值的處理。缺失值的處理按照這張圖片(圖6)中所顯示的原則來做。一般來說,我們可以通過一些方法來處理缺失值,常見的方法有:

忽略元組的方法(即置為空,也就是說把坑留著);

人工填寫缺失值(自己挑蘿蔔栽);

將缺失值用屬性相同的常量進行填充(栽批發的蘿蔔);

使用該數據周圍的數據進行插值(拿和周圍坑裡的蘿蔔差不多的蘿蔔栽);

使用給定數據的同一類所有樣本的均值或者中位數進行填充(拿和這塊田所有蘿蔔差不多的蘿蔔栽);

使用回歸、貝葉斯等方法基於推理或決策樹方法來填充(去圖書館翻《閱禪與蘿蔔的藝術思想碰撞》,用知識來挑蘿蔔,人工智慧種植蘿蔔)。

圖6 缺失值處理的基本方法

第二個部分是對異常值的處理。異常值是指樣本中的個別值,其數值明顯偏離它(或他們)所屬樣本的其餘觀測值。對於異常值的處理往往通過:分箱、回歸或者離群點分析的方法來實現(也就是先通過一系列手段辨別哪個蘿蔔是蔫的或者發瘋生長長得像樹一樣的,再參考第一部分用新的正常的蘿蔔來取代它),不同的方法有其各自的特性和優缺點,選擇何種方法往往是由數據清洗者(It is you ,my dear friend)來決定的。

圖7 一種離群值分析方法

第三個部分是糾正數據中的不一致。數據中的不一致往往指的是格式差異導致的問題,例如對日期資訊記載的不同格式會導致你在數據導入或者數據整理過程中出現很多問題,比如導入Excel報錯等問題(即你想要的是畝產2萬8的雜交白蘿蔔,種下去的苗是胡蘿蔔苗)。在眼動數據中,對於時間的記錄是有不同的方式的,因此這樣的問題出現的頻率並不低。對於格式不一致的數據,我們處理的目的是將一個數據表中的數據的格式一致化,方法很多,但是靈活的進行處理可以帶來時間上的大量節省。例如使用R進行處理(這就是蘿蔔魔仙的巴拉啦仙女棒,魔棒一揮,胡蘿蔔全變白蘿蔔)。

到這裡,你的蘿蔔田,啊不,數據已經按照行列被整理的整整齊齊了,但是,你以為到這裡就萬事大吉了嗎?當你看到這個問號的時候,就應該明白,事情遠沒有這樣的簡單。數據清洗除了讓自己的數據整齊以外,還需要讓你能夠更好的進行後續的統計分析。因此,你的思路到了這裡就要明確自己後續的數據分析及統計檢驗的思路了。在這個過程中,你要開始明晰後續的統計分析要用到哪些變數(將你不需要的變數數據刪除,來降低數據表的複雜度並提升),不同的變數屬於什麼樣的變數類型(防止將數字代表的分類變數進行計數統計,例如用「1」代表男這樣的操作,一定要記下來)。當你把自己的數據能夠清洗到這樣的程度後,你的後續統計檢驗才能夠順順利利的進行。

那麼,我們還剩下最後一個問題,我們該用什麼方法來進行數據清洗呢?我們要知道,眼動數據往往是幾千行的,使用Excel和SPSS等介面方式來進行數據清洗是必然受到你的螢幕大小的限制的,你會不得已一直從左拖到右、再從上拖得下,當然了還得從右邊回到左邊,從下邊回到上邊。你可能會被這樣的上上下下、左左右右逼到奔潰。那麼,該用什麼方法呢?看下圖: