關於辛普森悖論的深度解析

更多數據分析精彩幹貨內容,歡迎持續關註微信公眾號(持續更新):北平黛絲

Pre Reading案例

以一個比較弱智的題目作為本文的導引:

鴨堡某學期期末考試,考數學、物理、化學三科,黛絲的數學比唐納德高2分,物理比唐納德高15分,化學比唐納德高3分,請問黛絲的總分是否比唐納德高?很多人會說,這不是廢話麼,問題太弱智瞭,當然是黛絲的總分比唐納德高瞭!那我們再換個話題,很多人都愛看NBA比賽,最近幾年的騎勇大戰,使得詹姆斯和庫裡在球迷心目中的印象非常深,有一場騎勇大戰,詹姆斯和庫裡的兩分球與三分球命中率如下表所示:

其中:

兩分球命中率 = 兩分球命中數 / 兩分球出手數 * 100%

三分球命中率 = 三分球命中數 / 三分球出手數 * 100%

那麼請問本場比賽,詹姆斯的投籃命中率,是否低於庫裡?投籃命中率 = (兩分球命中數 + 三分球命中數) / (兩分球出手數 + 三分球出手數) * 100%;很多人也會說,這不是跟上面期末考試那個題一樣弱智嘛,這還用說嘛,肯定是詹姆斯的投籃命中率低於庫裡呀!我們把細項的數據拉出來看,確實是這樣的:

但是,這真的是弱智和廢話麼?我們再來看另一場比賽這兩位兄弟的表現吧:

這一場比賽,詹姆斯和庫裡誰的投籃命中率高呢?這次你如果還說這是弱智和廢話,當然是庫裡的投籃命中率高瞭,那這回你可就沒這麼幸運瞭,讓我們看看細項數據吧:

是的,你沒有看錯,詹姆斯的兩分球命中率也低於庫裡,三分球命中率也低於庫裡,但是匯總起來看,詹姆斯的投籃命中率是要高於庫裡的!

問題來瞭,這是怎麼回事呢?這不符合常理啊!大傢可以先對著該案例的細項數據先琢磨一下為什麼會是這樣,本文後邊會有針對這個案例的分析解讀。這裡我們直接進入本文的正題,這個“不符合常理”的現象,在數據分析領域中會時不時遇到的,並且在業內有個專門的術語:辛普森悖論(Simpson's paradox)


辛普森悖論的概念解析

維基百科(wikipedia)上,對辛普森悖論是這樣寫的:

Simpson's paradox, which also goes by several other names, is a phenomenon in probability and statistics, in which a trend appears in several different groups of data but disappears or reverses when these groups are combined. This result is often encountered in social-science and medical-science statistics and is particularly problematic when frequency data is unduly given causal interpretations.

如果通俗一點來講,就是:

計算分項的比例(比如各種各樣的率)數據時,A方的每一分項的數據都比B方要高,但是把各分項一匯總起來算總體數據時,A方卻比B方低。這種不符合常規認知的“悖論”現象,在數據分析領域並不少見;這種在進行分組研究的時候,有時在每個組比較時都占優勢的一方,在總評中有時反而是失勢的一方的“悖論”現象就叫辛普森悖論。

既然辛普森悖論是數據分析領域中常見的現象,那麼其也是有數學層面的表達式的,表達式見下:

這個就是辛普森悖論比較通俗易懂的表達式瞭,那麼怎麼證明這個表達式呢?我能想到的就是用反證法瞭,因為“推不出”是概率觸發的,需要滿足一定的數字特征才能觸發(本文後邊會詳細梳理辛普森悖論現象的觸發條件);

反證法的話,最簡單的就是列舉一組數據,就像上面詹姆斯和庫裡的投籃命中率的那組數據一樣,每個數據都可以往這個表達式對號入座,從而證明推不出這個表達式;另外如果是數學專業的同學,也可以參考下面,有人用向量的視角來證明辛普森悖論的這個表達式:

這裡來嘗試解讀一下這個圖:

這裡有兩組矢量,屎黃色的L1、L2與天藍色的B1、B2,可以理解為代表四個比例;這時同樣下標的矢量相比時,L1在B1的右邊(說明L1的斜率是小於B1的),同樣,L2也在B2的右邊。可是當你把同顏色的矢量加起來(即兩個矢量構成的平行四邊形的對角線)的時候,L1+L2卻在B1+B2的左邊瞭,也就是L1+L2的斜率反而大於B1+B2瞭;為什麼會這樣呢?這裡也開始嘗試解讀一下,因為L1比B1短得多,而L2比B2長得多。在L1+L2中,主要的貢獻來自第二組的矢量L2;而在B1+B2中,主要的貢獻卻來自第一組的矢量B1。


辛普森悖論案例解讀

概念說完瞭,下面再來以一個案例來解讀一下辛普森悖論。

為比較美國西部航空和阿拉斯加航空兩個航空公司的運營效率,將統計周期內美國西部全部5個樞紐城市的所有航班進行瞭延誤率統計,數據結果為阿拉斯加航空的整體延誤率為13.27%,西部航空的整體延誤率為10.89%;那麼大傢認為這兩個航空公司誰的整體延誤率更低呢?這個應該明擺著的吧,當然是西部航空的整體延誤率更低瞭,客觀數據在那兒擺著呢。然而,數據分析是為瞭助力決策的,僅僅憑借這兩個數據進行決策,往往草率瞭些,是不是應該看看更細化的數據呢?比如拆分到各機場來看看?

按照機場這麼一拆分,有意思的事情來瞭,雖然說西部航空的整體延誤率要低於阿拉斯加航空,但是如果把5個機場分別來看,西部航空竟然每個機場的延誤率都要高於阿拉斯加航空,讀到這裡的同學,這時候心(neng)裡(gen)就(bie)有(ren)概(zhuang)念(bi)瞭:這是辛普森悖論啊!但是,這個案例中,為什麼又一次出現瞭辛普森悖論呢?

其實原因也比較簡單,從細分數據來看,不難看出問題出現在鳳凰城機場上,西部航空的大部分航班都來自於鳳凰城機場,而鳳凰城機場的延誤率又要顯著低於其他機場,相當於西部航空的延誤率主要由鳳凰城機場延誤率決定的;而阿拉斯加航空方面,盡管鳳凰城機場的延誤率甚至還要低於西部航空,但其鳳凰城的航班也少啊,對阿拉斯加航空的整體延誤率起不到太大的決定作用,而真正能對阿拉斯加航空的整體延誤率起較大作用的是西雅圖機場,其延誤率可不低呢(盡管西部航空在西雅圖機場的延誤率更高,但人傢航班少啊);所以綜上所述,也就不難理解為什麼西部航空在每個機場的延誤率都要高於阿拉斯加航空的情況下,整體延誤率卻更低瞭。人傢西部航空把占絕大多數航班的鳳凰城機場的延誤率控制得很好,那人傢當然有資格享受整體延誤率更低的殊榮啦,但是,西部航空的其他機場的延誤率可控制得不怎麼樣,需要好好的復盤總結;這應該就是數據分析應該得出的客觀結論吧。

這時,我們再把目光回到剛才觸發辛普森悖論的那個詹姆斯和庫裡的那組投籃命中率數據上,來解讀一下原因:詹姆斯的投籃主要來自於兩分球,三分球投的少,而庫裡的投籃主要來自於三分球,兩分球投的少;而三分球的命中率天然就會比兩分球要低很多,所以主要靠三分球吃飯的庫裡,盡管三分球命中率遠高於詹姆斯的三分球命中率,但再高也沒有詹姆斯的兩分球命中率高;而庫裡的兩分球投的少,所以庫裡的總投籃命中率主要由其三分球命中率主導,而詹姆斯的總投籃命中率主要由其兩分球命中率主導(庫裡的兩分球命中率雖然也比詹姆斯高,但庫裡才投瞭幾個兩分球啊),這樣也就不難理解,為什麼庫裡的兩分球、三分球命中率都高於詹姆斯的情況下,總投籃命中率不如詹姆斯瞭。


結構化梳理辛普森悖論觸發原因

案例說完瞭,那麼到底什麼情況下會觸發辛普森悖論呢,這裡也做瞭一些結構化的梳理,供各位參考:

我們抽象出一個通用模板,兩個統計對象在兩個分項的比例指標和匯總的比例指標,如下表:

當出現以下3個數字特征的時候,即使統計對象1在兩個分項指標都高於(或低於)統計對象2,那麼也有較大的概率,使得匯總數據出現反轉;這三個特征是:

1、統計對象1中,分項1和分項2的分母p1和p3不是一個數量級(比如p1是萬級,而p3是千級甚至百級之類);

2、統計對象1中,分項1的比例值(q1/p1)顯著高於(或低於)分項2的比例值(q3/p3)(例如65% vs 35%之類);

3、統計對象2的分母p2,p4,和統計對象1的分母p1,p3的分佈明顯不同(例如統計對象1的分母p1,p3的比例是9:1,但統計對象2的分母p2,p4的比例是6:4之類)

以上,關於辛普森悖論的詳解,就算完事瞭,然而文章還在繼續……


辛普森悖論的擴展應用

在真實的數據分析工作中,辛普森悖論不可能以這麼標準的形態展現在你面前,真實的數據形態往往更復雜,更多樣,而標準的辛普森悖論也有很多的擴展甚至是變種的形態。其實,根據這麼多年的數據分析經驗總結起來,辛普森悖論更多的時候是從總體拆分到細項維度的時候發現的,而觸發辛普森悖論,就是因為你選擇瞭這個維度做拆分。所以,在數據分析中,對決策危害最大的錯誤就是:在分析的時候遺漏瞭關鍵的維度;而觸發辛普森悖論的維度,恰恰是最不應該遺漏的!

所以,辛普森悖論的擴展定義可以歸納為:在增加瞭維度後使得數據結論反轉的現象,均可稱為是辛普森悖論現象。

這部分我們來看兩個案例,來感受一下遺漏關鍵維度的危害。

案例1:一個城市的司法到底存不存在種族歧視的現象

某國的一個某受種族歧視輿論壓力很大的城市,經常被報道說該市的法院在近幾年謀殺案的死刑判決上,存在著嚴重的種族歧視行為(種族歧視是指法院在謀殺案的判決方面,對黑人是不利的,黑人更容易被判處死刑)。法院為瞭反駁這個輿論指控,就把近5年來所有的謀殺案件刑事判決材料都調瞭出來,進行數據統計,數據的真實性無可置疑。其判決數據如下:

從數據統計看,白人判死刑的比例為11.9%,黑人為10.2%,白人死刑率還略高於黑人,所以法院用數據分析不可辯駁的證明瞭該市並不存在所謂的種族歧視問題。

然而事實真的是這樣麼?

乍一看數據以及基於統計分析的結論,貌似是沒什麼問題,這張交叉表也很難和辛普森悖論聯系起來。但是如果仔細的想想,光憑這些數據來下結論真的就夠瞭麼?是不是遺漏瞭什麼關鍵維度呢?殺人案件的構成要素是什麼,是殺人者和被殺者,這份數據統計表隻交代瞭殺人者的身份,卻隱藏瞭被殺者的身份,這顯然是不對的。那麼加上被殺者這個維度之後的數據會變成什麼樣子呢?

基於這份數據,如果該市法院再說自己關於謀殺案的死刑判決,不存在種族歧視,恐怕就很難說得過去瞭吧。這就是比較典型的辛普森悖論的擴展場景。瞧瞧,遺漏瞭一個關鍵維度,數據分析結論就會完全相反,也會誤導大眾的視聽。這時突然想到瞭一句關於統計學的名言:數據是一個有力的武器,它既能被用來澄清現實,也能被用來混淆是非。

案例2:回歸系數為什麼是負的?

在對數據的相關性、甚至因果性的分析時,線性回歸分析是一個常用的手段。例如我們想知道客戶端某個按鈕的用戶點擊次數與客戶端使用時長的關系(基於大傢的業務認知,這個按鈕對用戶的時長是有比較明顯的帶動作用的),用戶每多點擊一次這個按鈕,平均會帶來多少分鐘的使用時長,這時候一般會用一元線性回歸分析來回答這個問題,自變量為按鈕點擊次數,因變量為客戶端使用時長,統計粒度為用戶粒度。這時我們畫一個散點圖來看下自變量和因變量的數量關系,發現竟然是這個樣子:

這時感覺有點慌,這個散點圖看起來像是負相關啊,難道用戶點擊那個按鈕的次數越多,時長就越短麼?這時趕緊跑一個一元線性回歸模型看看:

這回徹底被宣告完蛋瞭,線性回歸方程的回歸系數是負的。按照這樣來解釋,就是用戶每多點擊一次這個按鈕,客戶端的使用時長就會減少XX分鐘,這和大傢的業務認知是完全不符的呀。問題出在哪兒呢?很簡單,在進行相關性分析的時候,遺漏瞭關鍵的維度,要知道客戶端的用戶,活躍度是不一樣的,有高活用戶、中活用戶、低活用戶,而不同活躍度的用戶,數據表現相差是很遠的。所以,如果按照用戶的活躍度(全勤、高活、中活、低活、超低活)分別來看的話,其實是這個樣子的:

所以,不用多說,並不是數據建模結論不符合業務認知,隻是我們遺漏瞭關鍵的維度(用戶活躍度),從而導致模型的結論很詭異。而如果按照用戶活躍度分別來看的話,其建模結論就是正確的瞭。


辛普森悖論對數據分析思路的啟發

舉一反三,辛普森悖論也能對分析師的分析思路起到一定的啟發作用。再看一個案例:

某年央視春晚節目結束後,某市場研究公司和新浪網均對該晚會的用戶滿意度進行瞭調查,題目為5分量表,如果用戶打分為4分和5分,則為滿意。調查結果出爐後,令人大跌眼鏡:市場研究公司所得出的用戶滿意度為91%,而新浪網所得出的用戶滿意度為18%;那麼請問,該年央視春晚節目的滿意度到底是高是低呢?到底應該信誰的呢?

科班出身的數據分析師應該會提出這樣的疑問,這兩傢調研平臺的用戶群體,抽樣框,抽樣方式、調研方式都是完全不一樣的,所以出現91%和18%兩個相差甚遠的數據,是正常的現象,同時並不能說91%和18%到底誰對誰錯。確實是這樣的,但是問題還在那裡擺著,這臺晚會的滿意程度到底是高是低呢?

受辛普森悖論思想的啟發,其實這個問題也不難回答,既然這兩個數據沒有可比性,那麼我們需要引入一個Benchmark的概念,來參與對比測算,具體怎麼做呢?那傢調研公司,不可能隻做過這麼一個大型晚會調研項目吧?應該在近一段時間做過好多類似規模的晚會的滿意度調研吧,那些晚會的滿意度都是多少,平均滿意度是多少?這臺央視春晚的滿意度和那些晚會的滿意度比怎麼樣?高於平均線還是低於平均線?同樣的道理,新浪網也不可能隻做過這一臺晚會的滿意度調研,這臺晚會和新浪網近段時間做過的其他類似規模的晚會滿意度比怎麼樣?是否高於平均線?從而能夠相對客觀的判斷出這臺晚會的滿意度是高是低啦(比如,新浪調查的91%的滿意度雖然感覺挺高,但新浪近期調查的其他類似規模的晚會的滿意度就沒有低於95%的,那麼這臺晚會的用戶滿意度就是較差的)。


結語

通過本文對辛普森悖論的深入解析,有幾點總結,供大傢參考:

1、辛普森悖論,其實細想想,他並不是悖論,隻是個現象而已(前面Wikipedia上用的詞也是is a phenomenon,並非is a paradox)。隻不過這個現象是反直覺的。但我們的直覺本身就不嚴格,沒有經過任何數學層面的推導證明。這個直覺隻是經常成立,而不是必然成立,如果數據特別一點,就不成立瞭。問題是:我們最初怎麼會產生那個錯誤的直覺的?

2、數據分析是用來做決策的,所以結論一定要慎重,數據分析能力除瞭靠專業知識技能打底,更要靠經驗來烘托;

3、數據分析中,遺漏瞭不該遺漏的維度,分析結論很有可能就是錯誤的,甚至是完全相反的;

4、數據是一個有力的武器,它既能被用來澄清現實,也能被用來混淆是非;有人掌握瞭辛普森悖論,去幫助自己進行正確的數據分析,引導決策者進行正確的決策;也會有人利用自己所掌握的辛普森悖論,故意混淆視聽,去蒙騙誤導不懂統計學決策者。

赞(0)