上週抱恙,未能遊行,只看新聞。報載港大兩調查隊伍 ── 社工及社會行政學系教授
葉兆輝的小組及由
鍾庭耀主持的
港大民意研究計劃 (
POP) 所派小組 ── 分別估計遊行人數為 64000 與 58000。遊行人數,五萬又好,五十萬也好,都是很多。建制派出錢出力,年年舉辦各種「慶回歸」活動,也湊不足幾萬人參加。街上有數以萬計的庶民肯犧牲一日假期,無償地冒着酷暑上街示威。究竟市民多數為「回歸」而高興抑或為政局而憤怒,大家心知肚明。討論遊行人數是五萬抑或五十萬,就好像討論當年六四,共產黨有無在天安門廣場(而非週邊)殺人一樣,雖有學術價值,但對於瞭解大局而言,只是旁枝末節。
不過當奴上台以後,政治急劇敗壞,所以說上週只得五、六萬人遊行,就有些令人意外,亦令我想起 2004 年的爭議。自從 03 年五十萬人上街之後,七一遊行變得全城囑目。翌年七一,主辦的「民間人權陣線」(民陣)聲稱有 53 萬人上街,但憑多方學者估計,遊行人數應介乎十一萬至廿一萬之間,與民陣的估計天差地遠,引起激辯。今年遊行人數公認自 05 年以來最多,數目再成為話題。民陣聲言有廿一萬人,與前述兩港大隊伍估計的六萬四及五萬八,再次呈現巨大落差,亦令我想知道
今年及 04 年各方對七一遊行人數估計的細節。
2004 年大學聯隊與今年 POP 的統計方法
(資料來源:
#1,
#2,
#3,
#4,
#5)
2004 年的七一,有多個研究隊伍調查遊行人數,其中一隊由港大、理大及中大學者組成。港大的鍾庭耀當年也在聯隊之中,而拿當年聯隊的調查方法與今年 POP 的調查方法相比,基本上並無二致。以今年為例,簡單來說,隊伍先在遊行路線中,軒尼詩道與軍器廠街交界的天橋上設置監察點(下圖),佈置人員及攝錄機:
|
圖片來源:港大民意調查計劃 |
今年警方開放圖中 1, 2, 3 三條行車線供遊行用,而 POP 就以一人監視一條行車線的方式,用手動點算器 (hand tally counter) 點算通過天橋下方的人數。
每五分鐘時段,只點算頭三分鐘,餘下兩分鐘的人數,就用前三分鐘數字按比例推出。各時段及各路線的人數總和,就是
經過天橋底的總人數。當年聯隊的做法也一樣,只是那時警方曾一度開放所有行車線,而聯隊每五分鐘只點算頭一分鐘。
檢視較大的地圖
由於遊行人士可能提早離開,或者在大隊經過天橋後才加入,所以未必經過監察點。為求行文方便,姑且稱這類人為「
未監察人士」,而他們佔遊行人數的比例為「
未監察比例」。當年聯隊於遊行結束之後,嘗試用問卷找出未監察比例,他們以隨機抽樣電話訪問形式,成功訪問了 3512 位年滿十八歲的巿民,平均回應率是 63.8%,其中 231 位聲稱曾參與七一遊行。他們回答了下列問題:
你遊行時有沒有經過軒尼詩道與軍器廠街交界的行人天橋,從灣仔進入金鐘地段?結果 231 人當中有 77.4% 回答有經過該天橋底。由於聯隊從人手點算估計出有 149,057 名受監察人士,所以推斷總遊行人數為 149,057 × 100 / 77.4 ≈ 193,000。
調查結果發表之後,其電話訪問程序受到批評,譬如《東南西北》的宋以朗先生就認為有以下缺點:
- 聯隊假設了回應問卷者與拒絕受訪者的統計特徵沒有分別。
- 由於受訪者須年滿十八歲(很奇怪的要求),他們其實亦假設了 18 歲以下及以上的遊行人士有同一統計特徵。
- 3512 位回應者之中,竟然有 231 說有參加。由於當年香港居民之中,約 5,500,000 位為十八歲或以上,因此按問卷結果的比例計,應該有 5,500,000 x 231 / 3512 = 362,000 人遊行,明顯與聯隊估計的 193,000 人不符。這顯示了當年遊行氣氛熱烈,許多沒有遊行的受訪者也謊稱有去遊行。
當年聯隊的報告表示他們本身是完全清楚有上述局限的。上面以最後一點比較嚴重,但聯隊認為謊報者的答案應該沒有方向性(即不會特別傾向回答「有經過」或「無經過」)。
我的想法略為不同。一般人未必會想到「你遊行時有沒有經過軒尼詩道與軍器廠街交界的行人天橋,從灣仔進入金鐘地段」這道問題有何微言大義,既然謊稱有遊行,應該也會回答「有經過」。換言之,即使有人說謊,相信只會拉低未監察比例,從而拉低總遊行人數,所以聯隊根據問卷結果而對遊行人數作出向上修正,我相信應該是有效的,只是修正的幅度未必足夠。
今年 POP 依然以抽樣電話訪問來找出未監察比例,但尚未完成電話訪問,因而暫用去年未監察比例為 30% 這個數字作推算。他們亦無說明會否(或能否)改善問卷設計,減輕謊報的影響。以前有些家訪的問卷,含有敏感問題,於是調查員會讓受訪者抽暗籤,於敏感問題及某條人畜無害的問題之中二擇其一。由於調查員不知受訪者抽到那一條問題,因此受訪者可以放心回答。也許 POP 可以用類似方式應付謊報者。例如,與其問受訪者有無參加七一遊行,可不可以將問卷設計成下面這樣?
(A) 以下我會問兩條問題,若貴戶的成員數目為單數,請回答問題一,若是雙數則回答問題二。請勿告訴我你回答那條問題,只須回答「有」或「無」即可。
- 政府現正建議一套機制,當有立法會議員出缺時不再舉行補選,而是由換屆選舉落敗候選人其中之一補上。請問你於訪問前有無聽過這個替補機制?
- 你有無參加今年的七一遊行?
若受訪者回答「有」,再問下列問題,否則結束訪問。
(B) 以下我會再問兩條問題,若閣下剛才回答問題一,請繼續回答以下的問題一;若剛才回答問題二,請回答以下的問題二。請勿告訴我你回答那條問題,只須回答「有」或「無」即可。
- 去年(5月16日)立法會五區補選中你有無投票?
- 你遊行時有無經過軒尼詩道與軍器廠街交界的行人天橋,從灣仔進入金鐘地段?
由於調查者不知受訪者回答那一條問題,因此受訪者會少了說謊的誘因。此外,全港住戶成員數為單數的比率可從統計處獲得,問題 (A1) 及 (B1) 中回答「有」或「無」的比例也是
已知(註:為求方便,此處假設回答 A1 與回答 B1 並不相關,否則,應選擇不相關的問題或已知答案的 joint distribution 的問題來問),因此從問卷答案的統計,可計算出問題 (A2) 及 (B2) 中回答「有」或「無」的比率。對於問卷設計,我並不在行,不知上述方法實際是否可行,或有無其他解決辦法,還望有識之士不吝賜教。
葉兆輝的統計方法
(參考資料:
#1,
#2,
#3)
港大的葉兆輝於 2004 年及今年均有組織獨立隊伍調查遊行人數。葉本身的統計素養很高,但奇怪的是,他似乎從來都沒有像 POP 般在網站詳述調查方法。從當年報章及今年《星島日報》與《明報》報道來看,他的隊伍是每五分鐘點算頭一分鐘,方法與 POP 十分相似,只有兩點顯著分別:
- 葉除了於軍器廠街之外,還於波斯富街設置監察點(04年兩個監察點分別位於銅鑼灣電業城附近及金鐘太古廣場附近天橋)。
- 葉並非以電話訪問,而是在第二個監察點附近隨機訪問遊行者是否在第一個監察點以後才加入。假設於第一個監察點以後才加入遊行的受訪者比例為 p,而在第一監察點點算到的遊行人數為 m,在第二監察點點算到的遊行人數為 n,那麼葉就將總遊行人數推論為 m+np。
葉兆輝自己曾明確表示,他的辦法會先天地漏數 (a) 在第一監察點之前離開,(b) 在兩個監察點之間加入及離開,以及 (c) 在第二個監察點之後才加入的人。
如何界定「遊行人士」,人言人殊,但只要遭定義排除的遊行者數目不多,不把他們納入計算也影響不大。2004 年兩個監察點位於銅鑼灣電業城及太古廣場附近,較接近遊行路線的起末兩端,因此 (a), (c) 兩部份可以不理,但 (b) 部份可能有很大偏差。今年兩個監察點位於遊行路線太約三分一及三分二之處,(b) 部份的誤差仍可能顯著,但相信還不致於將民陣聲稱的廿二萬人低估成六、七萬人這麼離譜。
宋以朗先生當年於網誌中認為,大學聯隊所用方法不及葉兆輝的那麼好。就估計未監察比例而言,我也同意 ── 若聯隊可以用較複雜的問卷來消除謊報者的影響,要計算未監察比例的統計誤差就可能反過來變得複雜,不及葉的設計乾淨。然而,葉的調查本身亦有可議之處。用他的方法,遊行人士同樣可能謊稱自己沒有經過第一監察點,從而拉高未監察比例。更重要的,是葉並無詳細披露統計方法,有些細節付諸闕如。例如 2004 年那次,據《星島日報》所載(宋以朗譯):"At each counting station, three workers independently counted the number of marchers for the entire march period."何謂「獨立地點算」?是每人都負責所有行車線,然後取平均值?抑或如聯隊般一人負責一條線?他們當年「發現平均每分鐘最高流量達六百人次」(《星島》報道),亦即每秒十人,要是各人皆負責所有行車線,除非是神級的點算員,否則很難不出錯。
報章又說,按人手點算及現場抽樣訪問,前述的 m=125,000, n=110,000, p=0.23,所以 m+np ≈ 150,000。然而,考慮到漏數了前述 (a), (b), (c) 三項,
葉最後決定將總人數再加 10%,變成 165,000。這 10% 如何「估」出來,《星島》沒說,其他報章也沒說。更神奇的,是
添加了這麼一個來路不明的 10% 之後,葉兆輝竟然可以估計到 margin of error 為 25,000 人。當年聯隊的抽樣電話訪問縱有瑕疵,但每個數字均有來歷。相比之下,葉兆輝的調查也許準確,也許不然,但他沒有披露足夠細節,又似乎加入了好些人為因素,我覺得似魔法多於嚴謹的統計。葉兆輝是本地敢言的學者之中統計素養極高的一位,但科學討論講究證據,若其研究不夠透明,我認為報章不應將他的結果視作可靠。
一些誤差
綜觀以上兩種方法,均有一些瑕疵:
- 同時經過天橋底的人數會否太多,令調查員不及點算。
- 走在行人路上的遊行者會否遭忽略。
- 沒有經過監察點(天橋底)的遊行者會否遭忽略。
- 走在兩條行車線交界處的人會否遭重複點算或忽略。
- 同理,在每個作點算的時窗開始或終結時,正在越過天橋底的人士,究竟應否點算。
第一點會令遊行人數被低估。當年聯隊及今年 POP 均由一位調查員負責點算一條行車線,按
聯隊 04 年的統計結果,最高峰的 30 分鐘約有 5320 人通過天橋底的其中一條行車線,即平均每秒 2.95 人。平均數只是一個中間數字,實際上應該有一秒內有超過三人通過監察點的情況。在此情況下,調查員會否漏數人頭,值得懷疑。今年的調查數字指最高峰的 20 分鐘約有 1882 人通過天橋底的其中一條行車線,或每秒 1.57 人,相信漏數的程度較低,但仍不改高峰時可能低估遊行人數這個事實。葉兆輝的隊伍也是用人手現場點算人數,所以亦有此毛病。
第二點同樣令數字被低估。今年我無遊行,不知警方有無用鐵馬攔着監察點附近的行人路,若無的話,POP 的方法會數漏人頭。葉兆輝並無詳述其方法,不知有無中招。這種誤差很難避免。始終,何謂遊行人士,並無清楚定義。若有人沿着遊行方向在行人路上走,點算者那知道他是遊行人士還是普通行人?(反過來說,行人也可能走進遊行人士之中,但此情況應該罕有。)當然,以軍器廠街天橋底的情況來說,若有人從行人路繞過天橋並向遊行方向繼續走,應該是遊行人士無疑。要留意,除非調查隊伍事先充份宣傳各監察點的位置,否則這方面的誤差很難用問卷調查修正,原因是遊行者只會記得自己通過了監察點,但未必記得當時自己是從天橋下通過抑或從行人路繞過天橋。總之,很難責怪學者沒有顧及這方面。
第三點之前已討論過,它是上述各項當中最嚴重者,不過今年兩個調查隊均有考慮這點,相信不會引起大問題。順帶一提,04 年港大社會科學研究中心主任白景崇也調查過遊行人數(見
ESWN 摘錄), 方法是在金鐘天橋設置攝錄機,事後用人手點算錄影片段中的遊行人數,每三十秒點算頭四秒,再按比例推算出總人數。白景崇並無修正第三點所造成的誤差,以致結果嚴重偏低,不過他原本的目的並非要準確估計遊行人數,而是提供一種方法去驗證人手點算是否可靠。他的方法也沒有上述第一、二、四項毛病,有懷疑的時候也可重新點算。理論上,POP 及葉兆輝也可以並應該以從錄影片段的點算結果為本。他們取 hand tally 而棄錄影帶,相信是為了儘快向傳媒公佈統計數字。
第四、五兩點是雙向偏差。若負責相鄰路線的點算員均把走在行車線交界的人當作自己線上的遊行者,就會高估了數字;反之,若大家都剔除這類人不算,就會低估了人數。POP 的方法即有此毛病,葉兆輝並無詳述其方法,但相信屬同一套路。只要抽樣比較現場點算結果與從錄影片段中點算結果,這方面的誤差很容易修正,然而 POP 及葉兆輝均無解釋他們有否採取適當措施,不過這方面的誤差,相信極微。
整體來說,POP 及葉兆輝的方法均傾向低估遊行人數,但實際低估了多少,我無充份資料,難以判斷,不過我相信今年上述五項因素造成,而又未曾應付的誤差並不大。真正有問題的,反而是抽樣方法本身。
抽樣方法的問題
大學聯隊、POP、葉兆輝或白景崇,都是每某 m 分鐘點算頭 n 分鐘。電子工程佬稱此為 uniform sampling。從統計角度去看,採用 uniform sampling 是一種很奇怪的 practice,最低限度也應該使用
systematic sampling。Uniform sampling 與 systematic sampling 的分別,在於第一個時段如何點算。以聯隊的做法為例,他們每五分鐘點算
頭一分鐘。若是 systematic sampling 的話,應該從首五分鐘的時段隨機選擇其中一分鐘來點算,然後從該時點起,固定地每隔五分鐘取一次樣本。這樣,才可以令整個遊行中每一分鐘也有可能成為樣本。聯隊的做法,會令每五分鐘時段的後四分鐘不可能成為樣本。
此外,uniform sampling 與 systematic sampling,均有對週期性資料存在極大潛在偏差的弊病。舉個例,若人流以如下的波狀到達:
圖中人流以五分鐘為一週期,而每週期有 13+10+9+20+18 = 70 人通過,或每分鐘 14 人。若按 POP 的取樣方法,每五分鐘點算頭三分鐘,就會永遠碰着週期之中人流最低的三分鐘,令結果變成每三分鐘 13+10+9 = 32 人,或每分鐘 10.67 人,比正確數字低估了足足 24%。諷刺的是,若按聯隊的方法,每五分鐘取頭一分鐘,結果將成每分鐘 13 人,與正確答案只差一人。樣本較少反而較準確,但這只是死好命,不是可以依靠的辦法。
現實中的一波波人潮,當然不是那麼有規律,但是人流總有疏密變化,而我們不知道它有無局部的週期性。更重要的,是當我們使用 uniform/systematic sampling 的時候,
無法預知究竟抽樣頻率與人潮頻率比較,是高是低。電子工程佬也有類似概念。 舉例說,若對某電波每隔一秒抽樣,發現其波幅乃下圖各黑點所代表的數值:
|
圖片來源:維基百科 |
他們發現,若要從離散的樣本數值重構整個波形(例如利用
離散傅立葉變換),往往只會構作出較低頻的周波(本例中為圖中藍線),不能還原高周波(圖中紅線)。要準確還原波形,別無他法,只能用更高抽樣頻率。抽樣頻率愈高愈好,看似是「阿媽是女人」之類的廢話,但訊息處理 (signal processing) 理論其實說得更具體 ── 抽樣的頻率應該最少兩倍於所觀察的周波的最高頻率,方才可靠。電子工程佬稱此為
oversampling。
Simple random sampling and stratified sampling
|
遊行者以群落方式波狀推進(明報圖片) |
若將 uniform/systematic sampling 換成簡單隨機抽樣又如何?從整個遊行分為一個個只得一分鐘的小段落,然後在眾多小段落中隨機抽取五分之三來點算,會不會較每五分鐘點算頭三分鐘好?
簡單隨機抽樣,可以避免人流的局部週期性帶來的影響,但是它也帶來新問題。歷年的七一遊行,都是以中間時段為高峰,較早的時段次之,遊行將結束時流量最少。若隨機抽樣,萬一樣本集中在前後兩段,或集中於中間時段,就會「一鑊熟」。
較四平八穩的做法,是用
stratified sampling。用聯隊的例子來描述的話,我們仍可以五分鐘作一時段,但
每個時段內到底點算那一分鐘,則隨機決定。這種做法較少受到宏觀或微觀的人流起伏影響,比較穩陣。
讀者可能會問,各學者為何不採取這種抽樣方法?其中一個可能答案,是為了執行上的權宜。每條行車線及每個時段隨機選擇一分鐘,製成點算時間表,這可以事先做,但臨場通知每位點算員按時點算,要較多協調功夫,也容易出錯。人手有限之下,簡單的抽樣方法比較吸引。
幾分鐘的起伏
說甚麼局部的週期性,也許扯得太遠,事實上我也沒有證據顯示人潮的局部週期性真的對 uniform sampling 構成大影響,所以讀者不妨當我沒說過,忘記那些甚麼周波東東的廢噏。
但就算不考慮這個因素,各學者的統計方法,
如電鋸所言,仍忽略了最基本的 sampling error。撇開細眉細眼的數目不談,各學者基本上是這樣估計出遊行人數:
- 用 uniform sampling 數人頭,每某 N 分鐘點算頭 n 分鐘。
- 將整個 N 分鐘時段的人數,按比例當成 #1 點算結果的 N/n 倍。
- 在現場或事後用電話,抽樣訪問,找出未監察比例。
- 將 #2 的結果除以已監察比例,就是總遊行人數。
問題就出在 #2。每 N 分鐘點算頭 n 分鐘,再按比例乘出整個時段的人流,背後其實假設了餘下 N-n 分鐘的每分鐘流量與頭 n 分鐘無大分別。然而,若人流於後 N-n 分鐘經歷大變化,那麼各學者的統計方法就會出現很大問題。
短短幾分鐘之內的人流量,可以有多大變化?直覺上,人多的時候,大家的活動空間有限,遊行隊伍的密度縱有起伏,也只是逐漸變化。用高中數學術語來說,人流的時間曲線比較平滑,用前三分鐘的人流按比例算出後兩分鐘的人流,就好像用 retangular rule 或 trapezoidal rule 來計算定積分,方法儘管粗糙,但準確度應該令人滿意?
前面提到白景崇從錄影帶點算,目的是驗證其他隊伍人手點算的準確性。他每卅秒點算頭四秒,結果發現當年通過金鐘天橋的總人數為 112,000 人,與葉兆輝用人手點算得出的 110,000 人,只有二千人次的差距。驟眼看來,這似乎顯示結合上述 #1 與 #2 的結果會相當準確,但參照當年聯隊的報告,又似乎不是這樣:
讀者或許已注意到,不單按人流密度的多個遊行人數推算存在著很大差異,即使在相近地方作直接點算的遊行人數亦有很大差異。舉例說,本研究隊在軍器廠街天橋接近金鐘的點算站共錄得十四萬九千名遊行人士經過,而葉兆輝領導的另一支研究隊在金鐘太古廣場附近的天橋卻點算得十一萬人,兩個點算站相距不遠,但人數卻相差了四萬人。同樣地,葉兆輝領導的研究隊在銅鑼灣電業城點算到十二萬遊行人士,而《星島日報》刊載的大埔專上學生同盟研究隊,亦於銅鑼灣作點算,他們採用每十五分鐘拍攝一分鐘人流,然後投影及點算人流的方法,點算到途經該點算站的遊行人數為九萬人,兩者之間亦相距了三萬人。若非點算不準確,則中途加入或離開的遊行人數確實不少!
當年聯隊的報告還可以將差異歸因於兩隊的不同監察點之間有人中途加入或離開,但今年七一,兩隊均在
同一地點(軍器廠街天橋)設置監察點。按時間比例得出上述 #2 的結果之後,你猜他們估計有多少人通過監察點?
答案:POP ── 41,019 人;葉兆輝 ── 約 51,000 人,兩者相差 24%!
POP 是每五分鐘點算頭三分鐘,葉兆輝則點算一分鐘。除非其中一方人手點算 (即 #1) 出現很大錯誤,否則就是 #2 出問題,人流可以於五分鐘內有巨大起伏。
如何估計這方面的誤差?若沿用 uniform sampling 的話,是無能為力的。例如每五分鐘點算頭一分鐘,由於是固定樣本,頭一分鐘無代表性。用它來推斷其餘四分鐘的數字,我們不單不知道 margin of error,就連統計結果本身向那個方向偏差也不知道。儘管今年 POP 與葉兆輝也有公佈他們所謂的「統計誤差」(POP: interval estimate = 54,000─64,000; Yip: 60,000─70,000),但 POP 指的誤差是因計算未監察比例 (#3) 所引至的部份,而葉兆輝則一貫神奇地不知從何處得出誤差的大小。
如何估計遊行人數
要避免 uniform sampling 的弊病,最好還是從根本改善抽樣方法。用 simple random sampling 或 stratified sampling,均可得到 unbiased estimators。由於隨機抽樣,每一分鐘也有機會成為樣本,因此每個樣本也有代表性,可以用來計算統計誤差。
實作的話,應該用 stratified sampling 而不是 simple random sampling。兩者都是隨機抽樣,implementation 的難度相若,但 stratified sampling 可以控制取樣頻率,而且它理論上的誤差遠比 simple random sampling 低(若兩者皆有 n 個樣本,而前者有 n 個同樣大的 strata,每個 stratum 一個樣本,則前者的誤差只是後者的 1/sqrt(n) 倍)。
舉例說,調查隊可
以三分鐘作一時段,每時段均隨機選擇一分鐘,讓各路線的負責人同時點算(亦即各路線並非各自隨機選擇點算時間)。每三分鐘揀一分鐘來點算,亦即是兩次點算之間最多有四分鐘空檔,與葉兆輝或當年聯隊每五分鐘點算一分鐘所產生的空檔相若,每人亦最多連續點算兩分鐘,比 POP 的連續點算三分鐘短,隊員有較多時間休息。此外,取樣率是 1/3,比聯隊或葉兆輝的 1/5 高,但比 POP 的 3/5 低,調查隊伍的人力應該應付得來。各路線皆在同一分鐘點算,協調上也較方便。
從這種取樣方法估計出總遊行人數及其誤差,其實就是
Monte Carlo method,這些一般講 simulation 或 numerical integration 的大學教科書都有教,甚至列出公式,故此處不贅。