近日媒體瘋炒民調加權問題,我沒任何資料,也不知各方民調結果發表數據加權是否得當,但必須說一句:加權,在很多時候是必要的;又有時候雖非必要,卻是改善精確度的好方法。
何時加權必要,何時又雖非必要但加權又比不加權好?如果群體是有分成幾個次群體,抽樣是按次群體分別抽出樣本,但各層抽出率不等,則加權是必要的,這就是所謂「分層抽樣 (stratified sampling)」;如果抽樣時未分層,但有各層(次群體)大小,將樣本資料分層統計後再依各層大小加權,這稱為「事後分層 (post-stratification)」。
分層抽樣是實務統計調查經常使用的方法。統計調查最受關注的當然是群體平均數(群體比例也是一種平均數),但各次群體平均差異預想可知極明顯時,或各次群體的平均數等統計特徵也是關注標的時,分層抽樣變成一種有利或必要的策略。例如調查工廠盈利、營收、員工、薪資等,將整個群體按登記資本額或其他已有數據可查能代表工廠規模的標準分層,各層相互獨立隨機抽出足以代表該層的 n_h 家工廠進行調查。台灣許多全國性的大型調查如勞動力調查、家庭收支調查。前列兩項調查都是首先以各縣市為次群體,再於各次群體內採用分層二段抽樣,先依某些變數將全縣市內村里分屠,再從各層獨立隨機抽出第一段樣本,又從各樣本村里中抽出適當數量的樣本戶接受調查。分屠分段抽樣可說是大型調查的常態,有的機構做全台調查更會採取分層三段抽樣。不過本文談的是分層抽樣,不涉及分段。
假設總群體是由 L 個次群體組成,其大小各為 N_h, h = 1, ..., L, 各抽取 n_h 個樣本觀測值。令
N = Σ_h N_h, n = Σ_h n_h, W_h = N_h/N, w_h = n_h/n
則總群體平均 μ 和各層群體平均 μ_h 關係為
μ = Σ N_h μ_h/N = Σ W_h μ_h
而總樣本平均 Y. = Σ_h Σ_i Y_{hi}/n 除非在 w_h ≡ W_h 時,否則是無用的。總群體平均 μ 的一個普遍被採用的不偏估計是
μ^ = Σ W_h Y_h. ≠ Σ w_h Y_h. = Σ_h n_h (ΣY_{hi}/n_h)/n = Y.
上列 Y_h. = ΣY_{hi}/n_h 是第 h 層子樣本的樣本平均,是 μ_h 的不偏估計,因此 μ^ 是 μ 的不偏估計;而
E[ Y. - μ] = Σ_h w_h (E[Y_h.] - μ) = Σ_h (w_h - W_h) μ_h
故 Y. 不偏的條件有二:一是層別無差異;二是所有 w_h 與 W_h 都一致,即
n_h = n W_h = n (N_h/N)
符合上列條件的樣本配置,即 n_h 的設定,稱為「比例配置 (proportional allocation)」, 同時因為總平均估計是層平均估計用樣本結構加權平均計算等同於用群體結構加權,也叫「自我加權樣本 (self-weighting sample)」, 一般性地說,自我加權樣本是群體中每一個成員被選入樣本的機率是一樣的,如分層抽樣比例配置,則第 h 層的成員被選入樣本的機率是 n_h/N_h = n/N。很多時候分層抽樣會考慮其他樣本配置法,如 Neyman allocation 使 Var[μ^] 最小化,
n_h = n (N_h S_h)/(Σ_t N_t S_t)
式中 S_h 是第 h 層(次群體)標準差。又有最優或最適配置 (optimal allocation) 或稱 Deming allocation,因各層每調查一個樣本可能單位成本 C_h 不等,於是在控制總成本下求抽樣誤差 Var[μ^] 最小,或在控制誤差下總調查成本最小,結果
n_h = n (N_h S_h/√C_h)/(Σ_t N_t S_t√C_t)
也有把 Neyman 配置稱最優配適的。也有可能因其他原因而採取不同樣本配置規則;再者,即使在比例配置,n_h 只能是整數,因此 w_h 與 W_h 僅可能近似相等,而非真正相等。因此,分層抽樣調查結果分層平均彙總以估計群體平均 μ,必然是要加權的;而以樣本觀測值來看,等於各層樣本觀測值要給予不同權量:
μ^ = Σ W_h Y_h. = Σ_h Σ_i (W_h/w_h) Y_{hi}/n
由於 w_h 與 W_h 不一玫,每一觀測值在不同層給予權值調整 W_h/w_h。
如果對總群體抽出一個簡單隨機樣本,而後根據群體分層結構比例當權量做加權估計群體平均數 μ,其效果除了各層樣本分配不可控以外,與分層抽樣可說相同:
μ^ = Σ_h W_h Y_h.
這稱為事後分層。在第 h 層被抽到 n_h 個樣本個案的情形,猶如抽樣時就採分層抽樣,第 h 層配置的樣本大小是 n_h;而第 h 層抽到的 n_h 個樣本個案,也是自第 h 層抽出的大小為 n_h 的隨機樣本。所以 Y_h. 是 μ_h 的不偏估計。由於本就是簡單隨機樣本,μ 當然可採用簡單隨機樣本的估計式
Y. = Σ_h Σ_i Y_{hi}/n = Σ_h (n_h/n) Σ_i Y_{hi}/n_h = Σ_h w_h Y_h.
在給定各層樣本數已知的條件下,Y. 的條件期望值是
E[Y. | n_h, h = 1, ..., L] = Σ_h w_h μ_h
但實際上 w_h = n_h/n 是隨機的,諸 n_h 聯合服從多項分布
E[n_h] = n(N_h/N) = n W_h, Cov(n_h, n_t) = n W_h(δ(h,t) - W_t)
因此 E[Y.] = Σ_h W_h μ_h = μ;而 Y. 的變異數是
Var[Y.] = E[Var(Y. | n_h)] + Var[E(Y. | n_h)]
= E[Σ n_h S_h^2/n^2] + Var[Σn_h μ_h]/n^2
= Σ W_h S_h^2/n + Var[Σn_h μ_h]/n^2
其總和是 S^2/n,其中 S 是總群體標準差。另一方面,事後分層估計式 μ^ 的變異數是
Var[μ^] = E[Var(μ^ | n_h)] = Σ W_h^2 E[S_h^2/n_h]
上式顯現出事後分層一個最大的問題:如果某一層沒抽到樣本怎麼辦?事實上這問題在 μ^ 這估計式就存在了:當 n_h = 0 時無法估計 μ_h,所以完整,或完善定義的 μ^ 需要考慮此一問題。而 μ^ 的變異數或均方誤差 (MSE) 形式要比上列公式複雜,還需考慮有 n_h = 0 時 μ^ 的置換方案。不過,如果 n 夠大,W_h 也不特別小,n_h = 0 的機率 (1-W_h)^n 也將很小,因此我們只需就上式做個近似估算。由
1/X = 1/E[X] + (E[X]-X)/(X E[X])
= 1/E[X] - (X-E[X])/(E[X])^2 + (X-E[X])^2/[X (E[X])^2]
= 1/E[X] - (X-E[X])/(E[X])^2 + (X-E[X])^2/(E[X])^3 -+…
由 n_h 的前四階中心動差得
E[1/n_h] ≒ 1/(n W_h) + (1 - W_h)/(n W_h)
- (1 - W_h)(1 - 2 W_h)/(n W_h)^2
+ (1 - W_h)(1 - 6 W_h + 6 W_h^2)/(n W_h)^3
或 E[1/n_h] = (2 - W_h)/(n W_h) + O(1/n^2)。故
Var[μ^] = Σ W_h^2 S_h^2 [(2 - W_h)/(n W_h) + O(1/n^2)]
= Σ W_h(2 - W_h) S_h^2/n + O(1/n^2)
這比分層抽樣比例配置多了各層 2 - W_h = 1 + (1 - W_h) 這些因子,如果分的層數多,諸 W_h 小,則高出很大的比例;另一方面,不做事後分層的簡單平均估計,則多了 Var[Σn_h μ_h]/n^2 的部分,
Var[Σn_h μ_h]/n^2 = Σ W_h μ_h^2/n - (Σ W_h μ_h)^2/n
即層間平均數差異的部分。以變異數分析的觀念來說,整個群體成員間的變異可分為層內變異(由諸 S_h^2 所衡量)與層間變異(由層平均數 μ_h 間的差異所衡量),簡單隨機抽樣這兩部分都會對總群體平均數估計的誤差(用變異數衡量)有等重的「貢獻」, 分層抽樣則消除了層間變異的影響;事後分層則因各層樣本數不受控制,雖說消除了層間變異的影響,卻加重了層內變異的作用,但在層間變異大而層內變異小的惰形,事後分層將因為利用了各層群體大小這資訊而獲益;當然如果層間變異相對於層內變異偏低,則事後分層的估計式誤差可能反而會超過簡單平均估計式。
有時候我們的抽樣設計並不能完全切合目標群體,分層更是不完整。例如現在各種民意調查常採用電話訪問調查,抽樣也是從電話簿抽樣或隨機產生號碼而後空號於電訪時自動去除。往昔對電話抽樣的詬病是群體中有些成員沒有電話;電話本抽樣更有些電話未刊載而不能涵蓋。今者更因行動電話普遍,及人群生活習慣的改變,使得接受一般電話訪查的對象有很大的偏向。於是,在現今,民意調查除一般電話(市話)訪查之外,又加了行動電話(手機)訪查。但是,且不說這兩種樣本是否能涵蓋完整的目標群體,單說市話和手機訪問各自代表何種群體?它們是互斥的或重疊的?筆者並未做這方面的研究,僅能談談個人的猜想:這兩種樣本各有偏向,但卻無法明確界定其所涵蓋的群體。以市話來說,論者謂其偏向老人,但這裡說的「老人」卻非一般認定的,或法律上規範的老年人。電話抽樣原有「戶中抽樣」之議,但據筆者經驗,卻是接電話的便是受訪者,並未再進行戶中抽樣,也未指定接聽者年齡。然而實際上接獲市話而受訪者卻有可能真的年齡偏高,但卻無法排除有年輕人亦為受訪對象。論者認為手機受訪者偏年輕,然而手機普遍的今日,台灣雖未如對岸因購物支付方式使得手機成為人人皆需置備,實際上卻是老年人也有相當高比例在使用,除非打通後還經年齡篩選,否則手機訪查對象也將涵蓋全部一定年齡以上對象。因此,兩種樣本各有偏向卻又不完整,且兩者所涵蓋的群體有相當高的重疊性。此種情形可視為「不完全分層」,表面上是兩個次群體的樣本,一為市話層,一為手機層;實際上不考慮兩樣本皆不能涵蓋的對象,它們至少是把群體分為三層:一是純市話群,二是純手機層,三是重疊層。如果這三層有完整明確的結構比例資料,且不論其樣本大小為何,理論上我們可以採用群體結構比當作權數對結果加權,實際上卻只能主觀地把兩來源樣本平均做調查者以為適當的方式加權,但因分層的不完整,兩樣本無法確定所涵蓋的群體,所以也無所謂「正確的」」加權方式。那麼不加權直接用簡單平均呢?既然兩樣本被認為有偏向,或至少如前述可將群體分為三層:
純市話層(N1) 純手機層(N2) 重疊層(N3)
市話樣本 n_11 n_13
手機樣本 n_22 n_23
從上列不完全分層之設定來看,第一層群體大小 N1 有樣本大小 n_11;第二層群體大小 N2 有樣本 n_22;,而第三層比較特殊,群體大小是 N3,樣本卻有兩個來源,大小分別是 n_13 和 n_23。假設對第三層,兩種樣本沒道理得到不同結果,那麼估計該層平均數 μ3 時兩樣本是否加權其實無太大問題;重要的是三層平均數估計要彙總成總平均時,需要用群體大小做權量而非樣本大小,也就是簡單地兩樣本合併成一大樣本計算簡單平均,如前述是有偏的。實際的問題可能更複雜,首先我們無法清楚界定上列的分層,因此無法確知 N1, N2, N3 的大小;其次我們無法分割出
n_1 = n_11 + n_13; n_2 = n_22 + n_23
再者,即使以上問題解決了,兩來源樣本平均數可能對 μ3 有不同方向和幅度的偏誤,因此如何由兩不同來源樣本得到重疊層平均數的不偏估計也是個問題。如果兩種樣本都能涵蓋整個群體,只是群體中不同特性的成員(不同層)有不同的被抽中率,倒是比較好解決。例如群體可被分成 L 層,兩樣本在各層的樣本數分別是 n_{1h} 與 n_{2h},如果兩種樣本在各層都是不偏的,忽略有限群體校正因子,第 h 層平均數或比例的估計就直接兩樣本合併計算即可,再用群體 Wh 將各層做加權平均。當然這裡假設「兩種樣本在各層都是不偏的」可能不符事實,但我們也只能做這樣的假設,畢竟我們不知甚至不能估計兩種樣本會有怎樣的偏誤。
對於樣本結構與群體結構不同的樣本資料,就像分層抽樣其各層樣本數不依比例配置決定一般,直接計算樣本的簡單平均數用於估計群體平均是有偏的,取而代之的是設法做事後分層。例如將樣本做年齡分組,並取得目標群體年齡分組的結構,以群體結構計算年齡分組平均的加權平均。結果雖仍不能完全消弭樣本結構偏差的偏誤,卻因分組而大幅減低其偏誤幅度。實務上採用多變數反覆加權來校正偏誤,它有 sample-balancing、raking ratio estimation、iterative proportional fitting 等不同稱呼,據悉最常用用的是 raking 一詞。首先,就前述事後加權來說,不加權算法相當於對各層平均以樣本結構比 w_h = n_h/n 加權;而我們需要的是以 W_h = N_h/N 加權,這相當於對第 h 層,每一個樣本觀測值要當成
u_h = W_h/w_h = (N_h/N)×(n/n_h)
個樣本來看待,所以
Σ_h Σ_i u_h Y_{hi}/n = Σ_h (N_h/N)×(n/n_h)/n Σ_i Y_{hi}
= Σ_h W_h Σ_i Y_{hi}/n_h = Σ_h W_h Y_h.
也就是說:計算 u_h Y_{hi} 的簡單平均數等於各層樣本平均以群體結構為權量的加權平均。本來第 h 層樣本數是 n_h, 經加權後相當於
n_h u_h = n_h (N_h/N)×(n/n_h) = n (N_h/N) = n W_h
現在假設我們關心的不是一個變數的結構,而是多個變數,例如年齡與性別。理想上是交叉分層 (h,k),但實務上只要求將樣本結構調整至各變數所謂邊際結構和群體的邊際結構符合:
m(h+)/n = Σ_k m(hk)/n = Σ_k N(hk)/N = N(h+)/N = W(h+)
m(+k)/n = Σ_h m(hk)/n = Σ_h N(hk)/N = N(+k)/N = W(+k)
其中 m(hk) 即 n(hk) 經加權調整後的結構,其法是:
(1) Let m^{0}(hk) = n(hk), W(hk) = N(hk)/N
(2) For r = 1, 2, ...
let u_h = W(h+)*n/m^{r-1}(h+), then set m'(hk) = m^{r-1}(hk) u_h;
let v_k = W(+k)*n/m'(+k), then set m^r(hk) = m'(hk) v_k.
此程序將收斂至 m(hk) 符合前面邊際結構條件,即:m(h+)/n = W(h+), m(+k)/n = W(+k)。用於此處樣本結果之加權調整,應是計算 (h,k) 層之權量 u(hk) 如下:
(1) Let w^{0}(hk) = n(hk)/n, W(hk) = N(hk)/N
(2) For r = 1, 2, ...
let u_h = W(h+)/w^{r-1}(h+), then set w'(hk) = w^{r-1}(hk) u_h;
let v_k = W(+k)/w'(h+k), then set w^r(hk) = w'(hk) v_k.
上列程序 w^r(hk) 收斂至 w*(hk),則所需的 u(hk) = w*(hk)/w(hk),也就是說 w*(hk) 是群體結構 W(hk) 的替代。若是有更多變數分組需要符合,只要把上列程序稍做修改即可。當然,若有群體之交叉分組結構,也就是說我們有 N(hk),則直接定
w*(hk) = (N(hk)/N)*(n/n(hk))
完全不需迭代程序,所以需要那麼麻煩,而且得到的不是完全符合群體結構加權的效果,只因實際上欠缺完整的群體結構。例如前舉性別年齡別的例子,應不難取得群體性別年齡別交叉分類人口數,也就是 N(hk),可以直接加權;若年齡別和教育程度別,我們可能較難取得交叉分類資料,則可用上述程序做此兩變數交叉加權,使其邊際結構同於群體之邊際結構。
上述迭代比例配適即多變數反覆加權校正的方法雖然能修正抽樣的一些偏誤,但只是一種補救方法而不能完全解決偏誤問題:
(1) Raking 雖然依多個因素調整了,但只求其邊際結構一致,而不是整體結構一致。以性別、年齡別為例,按性別和年齡別分別調整的方式,等於對性別、年齡別樣本結構 w(hk) 分別乘上性別和年齡組別調整比率 a(h), b(k), 結果調整後結構 ah)w(hk)b(k) 與群體結構 W(hk) 並不會一致。
(2) 即使能取得重要分組(分層)變數交叉分組結構據以加權,我們仍不能確定沒有其他變數應考慮而未考慮,也就是說加權不完整。例如考慮了性別年齡別,但卻忽略了教育程度別對調查主題反應也有影響而未適當加權。
(3) 即使考慮了所有可想到的因素並且蒐集了資料,一方面因素太多交叉分組數太大有些分組未抽到樣本發生前述 n_h = 0 的問題;另方面有些不可觀察或不易確定因素的影響仍將使結果發生偏誤。
完全隨機抽樣雖然有可能發生 n_h = 0 的問題使得事後加權遭遇困難,但或者放棄可能降低統計誤差的事後加權方式,或者藉合併相鄰(相似)分層避免 n_h = 0 的發生;但上述迭代比例配適法之所以需要,是因無法做到完全隨機抽樣的效果,更重要的是造成這種現象的原因和結果都可能影響調查目標反應。迭代比例配適或單一因素的加權只是改善了不完全隨機導致的部分結果偏差,卻無法修正所有結果的偏誤,對於基本偏誤更是無能為力,如下圖:
我們透過 raking 能調整如性別年齡別等重要特徵使符合群體結構比例而削減目標反應的一些偏誤,但無法修正調整所有特徵的結構偏差如宗教信仰,raking 也只調整了年齡組別等邊際結構而非交叉結構;而除此之外,即使這些特徵相同的不同人其反應還會有所不同,而不完全隨機抽樣會導致將有不同反應的人被納入樣本的機率不同,這就是前面說的基本偏誤,統計人員對此束手無策,只能假設「隨機」或「完全隨機」,這在調查被拒或未完成,統計分析所謂資料遺失 (data missing) 的處理也是如此假設。
留言列表