線性迴歸或 T 檢定。如何選擇?
\ 我們經常被花俏的機器學習模型和深度學習突破所吸引,但讓我們不要忽視謙遜的線性迴歸。
\ ==在 LLM 和尖端架構的世界中,線性迴歸悄悄地扮演著關鍵角色,現在是時候讓我們聚焦於它如何在今天依然有益。==
\ 考慮一個場景,一家電子商務公司推出了新橫幅廣告,我們旨在評估它對平均工作階段長度的影響。為此,進行了一項實驗,並收集了數據進行分析。讓我們分析結果。
讓我們使用一個熟悉的工具來完成這項任務:T 檢定。
結果相當令人振奮:
指標的提升僅僅是對照組和處理組樣本平均值之間的差異。在我們的案例中,估計的提升為 0.56 分鐘,表明用戶平均多花 33 秒使用我們的產品。
現在,讓我們使用線性迴歸,以處理向量(是否顯示新橫幅廣告)作為自變量,平均工作階段長度作為輸出變量。
然後我們列印模型的摘要:
\
\ 值得注意的是,處理變量的係數與我們先前的提升估計值 0.56 一致。值得注意的是 R 平方僅為 0.008,我們用這個模型沒有解釋太多的變異數。
從 T 檢定得到的提升和處理係數相同,這是巧合嗎?讓我們深入探討這種聯繫。
\ 讓我們思考處理變量反映了什麼。當它等於 1 時,表示查看橫幅廣告的用戶的平均工作階段長度;當它等於 0 時,表示未看到橫幅廣告的用戶的平均工作階段長度。這意味著處理變量(或線性迴歸術語中的斜率)表示對照組和處理組之間平均值的變化。
線性迴歸中處理變量的虛無假設是什麼?
當我們對實驗應用 T 檢定時,虛無假設是什麼?完全相同。
因此,當計算相同假設的 T 統計量和 P 值時,我們的發現保持一致且相同。
然而,使用線性迴歸背後的原因是什麼?我們不想只是讓事情過於複雜。
\ 首先,讓我們思考是否只有處理對我們主要指標的變化負責。
\ 實際上,由於存在選擇偏差,這可能並不完全準確。
\ A/B 測試中的選擇偏差是一種錯誤類型,當被比較的組之間存在系統性差異,而這種差異不是由於隨機機會造成的,例如:
\
我們發現老用戶比新客戶更常接觸到新橫幅廣告。
\
我們在 AB 測試中使用的隨機分配有助於我們減輕它,但很難完全消除。
\ 讓我們制定如何估計真實效果。
ATE:我們旨在估計的平均處理效果。
\ ATT:受處理者的平均處理效果。我們也可以稱之為 ACE:平均因果效應。我們實際上可以計算它。它是對照組和處理組樣本平均值之間的差異。
\ SB: 我們旨在最小化的選擇偏差。
\ 我們如何將其最小化?
\ 線性迴歸允許我們添加 協變量/混淆變量。讓我們嘗試一下,並添加用戶 實驗前的平均工作階段長度作為混淆變量之一。
並列印模型的摘要:
我們的 R 平方飆升了!現在,我們解釋了 86% 的變異數。
\ 我們的處理效果現在是 0.47。
所以,我們有兩個處理效果:0.47 和 0.56;哪一個是正確的?
\ 在這種情況下,我們確切知道真實效果,因為我模擬了數據,真實提升為:0.5
import numpy as np import pandas as pd from scipy import stats import statsmodels.api as sm np.random.seed(45) n = 500 x = np.random.normal(loc = 10 ,scale = 3, size= 2 * n) y = x + np.random.normal(loc = 2 , scale = 1 ,size = len(x)) # For 50% of users we simulate treatment effect treat = 1 * (np.random.rand(2 * n) <= 0.5) experiment = pd.DataFrame(x, columns=["covariate"]) experiment['metric'] = y experiment['treatment'] = treat experiment['noise'] = np.random.normal(size = len(experiment)) # Add noise and uplift to 'metric' for rows where 'treat' is equal to 1 # The real uplift is 0.5 experiment['metric'] = experiment.apply(lambda row: row['metric'] + 0.5 * row['treatment'] + row['noise'] if row['treatment'] == 1 else row['metric'], axis=1)
這意味著 0.47 在絕對差異方面更好,更接近反映實際提升。
使用線性迴歸具有以下優勢:
\ 我們可以將線性迴歸用於其他測試,如 Welch T 檢定或卡方檢定嗎?
\ 簡單的答案是可以。然而,我們必須進行一些調整,我們將在接下來的文章中討論!


