因果推理「三問」 是什麼?為什麼需要?如何使用?

2021-10-12 17:23:07 字數 4365 閱讀 2323

譯者:ai研習社(聽風1996)

作為一名經濟學博士,我致力於尋找某些變數之間的因果關係,用來完成我的**。因果關係強大到可以讓人們有足夠的信心去做決策、防止損失、求解最優解等。在本文中,我將討論什麼是因果關係,為什麼需要發現因果關係,以及進行因果推理的常用技巧。

因果關係描述的是兩個變數之間的關係,即乙個變數如何誘發另乙個變數的發生。它比相關關係要強得多,因為相關關係只是描述兩個變數之間的共同運動模式。通過繪製散點圖,可以很容易地觀察到兩個連續變數的相關性。對於分類變數,我們可以繪製柱狀圖來觀察其關係。要知道兩個連續變數之間的確切相關性,我們可以使用皮爾遜相關公式。皮爾遜(pearson)的相關性介於-1和1之間,絕對值越大表示相關性越強。正相關意味著兩個變數在同一方向共同運動,反之亦然。

但對於因果關係,要把握的關係就要複雜得多。為了知道變數a是否引起了變數b的發生,即干預a是否引起了結果b,我們需要保持所有其他變數不變,以隔離和量化干預的效果。我們需要控制的其他變數稱為混雜變數,即與干預和結果都相關的變數:

有關混淆變數的例子

在上圖中,我舉了乙個混淆變數,其中年齡與戒菸率和致死率都是正相關的。年齡越大,死亡率越高,但吸菸率越低。如果我們在估計吸菸對死亡率的影響時沒有控制年齡,我們可能會觀察到吸菸會減少死亡率這樣荒謬結果。我們不能在這裡得出因果關係,因為我們沒有控制所有混雜變數。關於這個例子的更多細節,你可以閱讀我討論 "辛普森悖論 "的文章:

在得出因果效應的結論時,我們需要記住的另乙個因素是選擇偏差。為了隔離**效果,我們需要確保**組單位是在人群中隨機選擇的。這樣,我們在**後觀察到的差異不是因為其他因素,而是因為**。舉個例子,當一家超市想估計提供優惠券對提高整體銷售額的影響時。如果超市只把優惠券傳遞給在店裡購物的顧客(干預組),發現他們比沒有收到優惠券的顧客(對照組)購買了更多的商品,那麼市場由於選擇偏差而無法在此處得出因果關係。沒有將顧客隨機選擇到**組中。他們之所以在這裡,是因為他們在超市購物,這表明與對照組相比,即使沒有優惠券,他們也更可能從超市購買商品。比較來自**組和對照組的結果變數在這裡將毫無意義。    

得到因果關係是如此複雜的,何必還要呢?我們為什麼不直接使用相關性呢?我們知道相關性在進行**時是有用的。如果我們知道變數a與變數b有很強的相關性,那麼知道變數a的值就可以幫助我們**變數b的值。在業務環境中,我們可以利用相關性來**給哪些客戶群體做**,這樣我們就可以根據客戶過去的行為和其他客戶特徵來提高轉化率。但是,即使是最準確的**模型,也不能得出結論,當你觀察到客戶轉化率提高了,就是因為**。我們需要設計實驗或進行準實驗研究,才能得出因果關係並量化干預效果。在這個例子中,因果推理可以告訴你,提供**活動是否增加了客戶轉化率,以及增加了多少。因此,與相關性相比,因果關係能給決策者更多的指導和信心。

估計因果效應與估計你的利益結果變數的干預效應是一樣的。根據具體的研究或業務問題,可以選擇不同的**效果進行估計。假設y是結果變數,其中y⁰是沒有干預的結果,y¹是有干預的結果。t為虛擬變數,表示單位i是在干預組(t=1)還是對照組(t=0):  

平均而言,干預組和對照組之間的結果變數有何不同?  

平均干預效應

平均而言,干預組中的單位在接受和不接受干預的情況下,結果變數的差異是什麼?

平均干預效果 

在這裡,e(y¹|t=1)是干預組單位的預期結果,它是可觀察的。然而,e(y⁰|t=1)是不可觀察的,因為它是假設的。乙個單位只能有y⁰和y¹這兩種結果中的一種,這取決於這個單位所在的組別。如果這個單位已經接受了干預,我們可以觀察y¹,並使用不同的技術來估計y⁰這個反事實變數。我將在後面討論不同的技術。

條件平均干預效果 

條件平均干預效果是應用某些條件x來估計ate。在某些情況下,干預會對不同的子組產生不同的影響,並且ate可以為零,因為這些效果被抵消了。cate可以用於估計子組之間的異質效應。 

個體干預效果

個體干預效應與cate相同,應用的條件是單位是單位 i。

如上所述,在宣告因果關係之前,需要採取許多措施。在進行因果推斷時,請記住以下假設: 

1、單位i接受干預不會影響其他單位的結果,即無網路效應。

2、如果單位i在干預組中,其接受的干預與干預組中的所有其他單位一樣,即只有乙個種干預型別。

因果推理最大的挑戰是,我們只能觀察到每個單位i的y¹或y⁰,我們永遠無法完美測量每個單位i的干預效果,為了應對這個問題,我們需要為干預組找到完美的對照組,使兩組之間唯一的區別就是干預。這可以通過執行隨機化實驗或在隨機化不切實際的情況下尋找匹配的干預組和對照組(準實驗)來實現。以下是我認為有用的工作流程:

隨機對照試驗(rct)

如果總能隨機分出干預組和對照組,生活就會輕鬆很多! 隨機分配干預後,我們可以分別估計**組和對照組的結果變數,其差異就是平均**效果(ate)。由於單位是隨機選入干預組的,所以干預組和對照組的單位之間唯一的區別就是是否接受過干預。因此,結果變數的差異就是干預的效果。但是,有時由於網路效應或技術問題,無法將干預組和對照組隨機化。或者把使用者分成兩組成本太高。例如,在估計**活動的效果時,如果將部分使用者排除在**活動之外,會對使用者的滿意度產生負面影響。在這種情況下,我們可以進行準實驗,也就是不依賴隨機分配的實驗。

差異(did):

did通常是在對照組和干預組之間存在已存在差異時使用的。但是,我們認為干預組和對照組的結果變數增長趨勢沒有顯著差異(平行趨勢假設)。也就是說,按照下表的定義,兩組在結果變數上的差異在**前後是相同的,d_post=d_pre:

干預組的結果差異為d_t,定義為y(1,1)-y(1,0),對照組的結果差異為d_c,定義為y(0,1)-y(0,0)。d_t和d_c之間的差值為did,即干預效果,如下圖所示。

平行趨勢假設是乙個很強的假設,當違背這個假設的時候,did估計就會出現偏差。

匹配 儘管不可能進行隨機實驗,但我們可以找到完美匹配的干預組,在不進行干預的情況下量化結果變數。我們可以根據interests特徵構建乙個人工對照組。例如,我們可以在乙個城市給予**活動,並與其他沒有**活動的城市進行結果變數的比較。這些城市除了**活動外,其他因素都是相似的。這就像乙個橫向比較。

我們可以使用的另一種方法是時間序列比較,這叫做switch-back檢驗。例如,我們可以選擇乙個城市,在一周內給出**活動,然後將結果變數與最近一段時間沒有**活動的這個城市進行比較。差異將是**的效果。

這些技術在面對網路效應時相當有用。使用橫向比較或時間序列比較,我們不需要把乙個市場分成不同的群體。因此,我們不需要擔心同一市場中群體之間的溢位效應。在對整個市場進行比較時,必須確保對照組和干預組市場之間的唯一差異是干預。

內生性

處理內生性問題總是很麻煩。除了包括所有混淆變數和引入一些隨機化外,回歸不連續和工具變數是解決內生性問題的另外兩種方法。 

1、回歸不連續

回歸不連續是在乙個分界點測量干預效果。用乙個例子會更容易理解。假設我們想估計發放獎學金對學生成績的影響。簡單地估計有獎學金和沒有獎學金的學生之間的成績差異,會因為內生性而使估計結果出現偏差。獲得獎學金的學生即使沒有獎學金,也更有可能獲得更好的成績。如果我們有乙個給獎學金的臨接點,我們可以利用回歸不連續來估計獎學金的效應。例如,如果我們給成績高於80分的學生發放獎學金,那麼我們就可以估計成績接近80分的學生的成績差異。這背後的直覺是,在影響成績的其他特徵方面,得到79分的學生很可能與得到81分的學生相似。對於成績在79到81之間的學生來說,被分配到干預組(有獎學金)和對照組(沒有獎學金)是大致隨機的。因此,我們只能看這個子人群的成績差異來估計**效果。更多詳情請檢視維基百科頁面。

2、工具變數

工具變數指的是與自變數x高度相關,但與因變數y不直接相關的變數,它們的關係就像下圖。

工具變數

由於工具變數與結果變數並不直接相關,如果改變工具變數引起結果變數的變化,那一定是干預變數的原因。例如,在估計教育對未來收入的影響時,常用的工具變數是父母的教育水平。父母的教育水平與孩子的教育水平高度相關,而與孩子的收入並不直接相關。為具體的研究問題尋找工具變數是很困難的,它需要對相關文獻和領域知識有充分的了解。在得到工具變數後,我們可以用2sls回歸來檢驗這個工具變數是否好用,如果好用,處理效果如何。詳情請參考維基百科頁面。

如果,你也是位熱愛分享的ai愛好者。歡迎與譯站一起,學習新知,分享成長。

自動化測試靈魂三問 是什麼 為什麼和做什麼

在軟體測試領域,有兩種測試技術 手動測試和自動測試。兩種方法都旨在執行測試用例,然後將實際結果與預期結果進行比較。概括來講手動測試是一種人工執行操作的測試技術,可確保軟體 完成應有的功能。那麼什麼是自動化測試呢?相反,這是一種自動執行測試技術,管理測試資料以及利用結果來提高軟體質量的實踐。對於一名測...

自然語言處理是什麼,我們為什麼需要處理自然語言?

什麼是自然語言處理?自然語言處理 nlp 是指機器理解並解釋人類寫作 說話方式的能力。nlp的目標是讓計算機 機器在理解語言上像人類一樣智慧型。最終目標是彌補人類交流 自然語言 和計算機理解 機器語言 之間的差距。自然語言處理 下面是三個不同等級的語言學分析 句法學 給定文字的哪部分是語法正確的。語...

邊沿觸發是什麼意思 為什麼CPU需要時鐘這種概念?

最近在研究計算機裡的基本邏輯電路,想到乙個問題 為什麼cpu需要時鐘這樣的概念?首先考慮如下邏輯電路 當a b 1時,q 0。當輸入訊號發生變化時,邏輯元件不會立即對輸入變化做出反應,會有乙個傳播時延 propagation delay 當b變化為0時,由於b也作為xor的直接輸入,所以xor異或門...