標籤:

為什麼樣本量太大時用卡方檢驗做獨立性檢驗會失效?

最近線上廣告系統發現:由同一個分布抽取出來的兩個樣本,如果抽取的樣本量非常大,使用卡方分布做獨立性檢驗的時候,基本都會拒絕原假設,認為兩樣本不是來自同一個分布。

請問這種現象正常么? 如果正常,如何做這種大樣本量的獨立性驗驗?


如果一句話回答,這種情形「有顯著的正效應」只是「正效應顯著地小以至於可忽略」的真實謊言——一句總是可以誤導聽眾的「真話」。

以下從幾個層面展開回答——

  • 只要不誤讀結論,樣本量總是越大越好。假設檢驗的模式最流行的誤讀,是把 p 值小/大、統計量大/小錯誤地當作效應大/小(Effect Size)。標準誤通常與樣本量的平方根sqrt{n}成反比例,chi^2大體上與n正比例。很大的樣本量得到很大的統計量、很小的 p,或者很小的樣本量得到不夠大的統計量和不夠小的 p,都不應該直接讀作實質性(substantive)效應大/小。如果樣本量大,應該看已經比較窄的區間估計,作出驗證型的最終結論;如果樣本量小,應該依據點估計作出(預研究層面的)探索型結論。

  • 心理學中,很大的樣本量,很窄的置信區間,但置信區間兩端(以及每個區間內點)都大於0且近似0的情形,通常應該解讀為(顯著地)效應小到可忽略,只有極少數特別研究場合才解讀為顯著地有(極小的但仍然重要的)效應,後者在心理學文獻中如此少見,以至於方法論文獻中常引用的例子只是物理學杜撰情形「假如不同方向光速測出極小的顯著差異」。
  • 以上置信區間和點估計只適用於效應量有明確的連續定義情形,此外還有第二種情形:效應量有連續的意義但沒有明確的操作化定義,比如總體與理論模型近似程度(或者說偏離理論模型的程度),最常見就是分布的檢驗、獨立性檢驗。如果檢驗報告的是chi^2統計量,通常可以用sqrt{frac{chi^2}{n} }frac{chi^2}{n}換算為某種點估計,在自由度相同但樣本量不同的研究之間橫向比較其效應量。樣本量很大、p 很小但效應量也很小,就可以認為總體與理論分布近似得足夠好。
  • 題主陳述的問題,如果是嚴格同一總體的兩次抽樣檢出顯著差異,通常問題出現在抽取的流程不符合嚴格有放回的獨立抽樣。但這只是現象層面並不重要的問題,真正重要的問題是題主(及相當多傳統統計課程教出來的題主同行)將顯著性誤讀為效應量。
  • 分布的檢驗、獨立性檢驗以及結構方程模型報告的chi^2附帶的 p 值,其H_0都是「嚴格符合」,實際研究中幾乎所有這類檢驗最後想得到的結論都是「近似程度未超出可接受的閾值」vs 「偏離程度超出不可接受的閾值」。樣本量很大的時候,拒絕H_0對實際研究的決策沒用。初學者往往納悶結構方程模型實證研究為啥對chi^2附帶的 p alpha結果從不討論,原因就在於這個 pH_0是「總體嚴格符合理論模型」,在社會科學的實證研究中總是不成立。
  • 如果要在行列數不同的研究之間橫向比較,寬的(列數ge行數的)k 行列聯表獨立性檢驗常用的效應量是 Cramer"s V = sqrt{frac{chi^2}{left( k-1 
ight) n} };如果要在自由度不同的研究之間橫向比較,結構方程模型最重要的擬合指標(Goodness Of Fit)是 RMSEA =sqrt{frac{chi^2-df}{dfleft( n-1 
ight) } },隨著樣本量 n 無限擴大,RMSEA 會收斂到它所估計的總體參數,這個參數有可操作的定義和明確的理論意義。Crammer"s V 就沒有明確的理論意義。我確信 RMSEA 的公式理論意義同樣適用於列聯表獨立性檢驗,雖然沒有什麼同行真的這麼用。教科書中常引用 Cohen (1988) ,按sqrt{frac{chi^2}{n} }的參考值 0.1(小),0.3(中) 和 0.5(大) 換算 Cramer"s V (Cohen 書中叫 Cramer"s Phi)不同 k 取值的參考值。
  • 這些效應量的大中小參考值都是泰斗硬點、同行引用、習以為常。泰斗本人(Cohen)特別提示它們在特定領域很可能不適用。R. Lenth 在他的網頁 Russ Lenth"s power and sample-size page 謔其為 T-shirt Effect Sizes。雖然參考值本身沒有科學的道理,但學術圈對統一參考值的剛需卻有科學史的道理。這一層緣由可以參見另一問題回答(如何看待心理學研究中的邊緣顯著? - 李曉煦的回答 )的最後一小段。


(更新答案:)

根據LZ評論中的描述更新了答案。

1. 既然數據如此,那就是說明明x和y兩種廣告的比例在考慮的兩個stream里就是不一樣的——也許這也是人家策略的一部分:不同種類廣告的投放比例不一樣。

2. LZ應該考慮換個方法來做這個問題。

檢驗策略是否有效根本不需要兩個stream中x和y的比例一樣。可以就用Logistic regression。將每個用戶點擊與否記為ctr_i,取值為1如果用戶點擊了推送的廣告,否則取0;然後對用戶i:定義type_i,取值1如果用戶觀看的廣告類型是x,否則取0;定義stream_i,取值1如果用戶來自Stream 1,否則取0。於是likelihood function寫作:

Probability(ctr_i=1 | type_i, stream_i) := logit^{-1} (mu + alpha * type_i + eta * stream_i)

其中mu是intercept項,表示baseline效應/背景效應,所有用戶的intercept相同;logit(p):=p/(1-p)而logit^{-1}是其逆。

估計這個Logistic regression的係數alpha和eta,可以知道不同的策略和不同廣告類型的影響分別有多大。檢驗假設H_0: eta&<=0 vs H_a: eta&>0,可以回答LZ關心的問題:廣告策略A到底是不是比B好(這裡一般用likelihood ratio test,各種主流統計軟體都有現成的功能可以做此檢驗)。

============================================================

(舊答案OBSOLETE:)

LZ你最好把你怎麼抽樣,怎麼做chi-sq test的步驟完整精確地寫下來,這樣我們才好判斷出了什麼問題。

在此之前我先推測下可能的原因:

1. 抽樣過程導致相關性,也就是兩個樣本並不是真正獨立地抽樣的。還有從大樣本中抽樣如果是無放回的抽樣那麼抽樣的樣本量相比原來大樣本的大小一般不能太大否則容易出問題。我覺得LZ提供更多抽樣過程的細節對診斷很重要。

2. 執行檢驗的過程導致相關性,比如分布是連續分布,使用chi-sq test就需要將變數離散化,也就是統計若干給定區間中變數出現的頻次,這時如果離散化使用的區間數過多,也可能導致偽相關。這種事情發生的具體概率需要視情形仔細計算。


從描述看,似乎是你的抽樣過程本身就引入了很大的雜訊。所以才會樣本越多抽樣雜訊越大,兩個背景分布的區別就越難顯現。


拖了半年才來答這個問題,主要是這半年的學習對很多概念有了新的理解,但同時也有了新的困惑。下面也借這個問題表達一下我的困惑吧~

首先,所謂 拒絕原假設 就是 我在一次實驗中發現了一個小概率事件,理論上 在原假設成立的條件下 它是幾乎不會發生的,但是 在我的這次實驗中 它竟然發生了,那麼 我就有理由拒絕原假設了。但是,如問主的情況,當我需要很大的樣本量才能找到這樣一個足以使我有理由拒絕原假設的小概率事件時,此時得到的拒絕原假設這一結論還有多少意義?所以,我們是否應該認為 小樣本量時的拒絕原假設 和 大樣本時的接受原假設 更有意義?但是,往往我們傾向於將我們希望證明的觀點放在備擇假設處(也即我們期望通過拒絕而非接受原假設來驗證某種觀點),那麼 在大數據背景下,我們應該如何處理這種情況呢?

最後,非常抱歉用另一個問題來回答這個問題,但確實這是我現在很困惑的一個問題,大數據幫我們解決了很多問題,但它並沒有幫我們解決全部的問題。

以上如果講的有任何欠考慮的或者你能解答我的困惑的,都十分歡迎你與我討論。


給你一個直觀的例子:

期望頻率是100和200, 觀測到了99,和201, 卡方檢驗不顯著。

大樣本下,期望頻率是100000和200000, 觀測到了 99900 和200100, 則卡方檢驗顯著了,雖然觀測值完全是因為雜訊的影響。

為了解決卡方檢驗大樣本的過度敏感性,引入了gini指數(請自行google), gini指數&<0.03則認為結果不顯著。

另外,不但對於大樣本卡方檢驗不行,對於極小的樣本卡方檢驗仍然不行,例子:

擲骰子,擲了4次,拿到三個5一個6,H0為骰子平衡, 卡方統計量為8.0,結果不顯著,即使我們連續觀測到了三個5了。

這種極小樣本的情況下,要使用exact inference了。


我在學習卡方擬合優度檢驗的時候就有這樣的疑惑,你可以從檢驗統計量看出,如果觀察蘋數與理論評述同時增加9倍,你會發現整個的檢驗統計量也會增加9倍,而且由於類別不變,服從的分布不不改變。我估計樓主也是和我一樣的遭遇吧。就我而言,我對這個的理解就是,在增加的9倍的抽樣中,並不會出席一模一樣的情況,從而是統計檢驗量變小。希望高手解答我的疑惑


瀉藥!

先寫個簡短的!

N太大,兩樣本原本存在的隨機誤差導致的細微差異被放大。

理論上來講,當檢驗樣本很大的情況下,只要總體上分布差異不是很大,是可以認為你的兩次抽樣差異沒有實際意義的。就譬如兩次線上廣告的抽樣,僅僅對同一分布的不同時段(按題主的意思應該是沒有考慮時間差異對分布的影響),那麼得到的大樣本資料分布形式總體來講應該是不會出現明顯差異的,即分布曲線擬合度較好也就可以了。


正常,因為原始樣本的分布並不滿足你使用的卡方檢驗的原始假設要求的一系列條件。這個在小樣本的情況下不明顯,但是數據量非常巨大的情況下就會直接影響到檢驗的結果。

這類大數據假設檢驗的問題直觀的理解就是,例如你在檢驗x是不是正態分布(或其他分部),而x實際上是一個接近正態分布的另一個分布,小樣本情況下你的檢驗一般都會接受假設,但是大樣本情況下這個差異就會顯示出來,假設會被拒絕。

話說你為啥要檢驗這個東西的獨立性?好好研究一下數據的性質調整一下原假設重做模型吧。


超大樣本帶來的檢驗顯著敏感度增加。

對樓主說的廣告樣本和抽樣一點都不理解,但我想如果抽樣沒有問題,數據分類沒有問題,那麼應該是這個原因。

以前看到過一個比喻。你喝了一杯咖啡,你會感覺狀態良好且做事很有效率,但你喝了一百杯咖啡,結果狂躁不安,一點點動靜都能刺激到你。超大樣本的假設檢驗也有相似的情況,拒絕原假設的敏感度增加。

即使是在同一個分布裡面,隨機抽一個小樣本和一個超大樣本,goodness-of-fit test很可能對後者給一個很小的P值。遇到這樣的問題時,我們一般做分布圖看一看。

背後的具體統計原理我沒有深究過,期待高人解答。


謝邀,但本人只是一個本科統計在讀學生,學到的知識只是皮毛,不過,我還是查了一下資料:

任何檢驗方法對樣本量都是有要求的,不是說越多越好。希望您滿意。


「獨立」的概念定義要慎重理解

同樣的置信概率,樣本量越大允許的偏差絕對數值越小,這是教材上的一個例子,具體情況記不清了。


我都覺得是因為分布的問題,假如分布偏離假設太大的話那出來結果就可能不對,所以還是先檢驗assumption保險哦


不太明白題主的描述,是指同一總體內抽取兩組樣本?

做獨立性檢驗類似反證法,H0:x與y無關,H1:x與y有關

如果H0成立則k2應過小,否則拒絕H0,H1成立

題主是需要H1吧?


是卡方的局限性,樣本大,卡方相應增加。。。。。。。。。by my dentist

因為這個問題,我和我的牙醫鬧掰了。


推薦閱讀:

如何有效處理特徵範圍差異大且類型不一的數據?
能否使用3的指數來減小二進位文件存儲的體積?
應該怎樣理解bootstrap的結果可以通過λ=1的泊松過程來模擬?
為什麼有些公司在機器學習業務方面傾向使用 R + Hadoop 方案?
「千年級別的人體經驗數據」到底有多大?

TAG:統計學 | 統計 |