用社群通報做震度初篩:我的十分鐘流程與三個失效邊界

这篇内容暂时只有 繁體中文 版本,以下是原文。

我住的老公寓在 2024 年 4 月花蓮地震時晃得厲害,管委會事後想快速知道周邊幾個里的震度分佈,好決定先檢查哪幾棟的管線。官方報告要等,我手邊只有社群平台上零散的「我家好晃」貼文。於是我試著用這些通報做十分鐘內的初篩,不是取代官方數據,而是先給管委會一個排序依據。

做法很簡單:先從公開的社群貼文抓出有明確地點(里或路名)和時間戳的句子,放進一個 CSV,欄位是 time, place, text。接著用一個小腳本把每個里的通報數和平均主觀震度(用「小晃、明顯、很大」對應 1–3 級)算出來,再對照中央氣象署最近一次速報的震央和規模,人工標記哪些里在合理影響範圍內。程式片段大概長這樣:

import csv, collections
d = collections.defaultdict(list)
with open('reports.csv') as f:
    for row in csv.DictReader(f):
        d[row['place']].append(int(row['level']))
for place, levels in d.items():
    print(place, len(levels), sum(levels)/len(levels))

這樣十分鐘內就能產出一張排序表。代價是主觀震度無法校正,而且通報密度和人口密度、網路使用習慣高度相關,所以只能當作「哪裡可能要先去看」的線索,不能當成震度等值線。

失效邊界我踩過三次:第一,山區或偏遠里的通報幾乎為零,不代表不晃,只代表沒人發文;第二,同一則貼文被轉發多次,會重複計數,我後來手動去重,但還是可能漏;第三,時間戳如果是「幾分鐘前」,換算成絕對時間會有誤差,跨速報更新時容易對不上。還有一個反例:有一次通報集中在某個里,結果是那邊剛好停電,大家上網抱怨,不是震度特別大。

所以我的結論是:社群通報適合做十分鐘內的粗略排序,但不適合做精細震度估計。你們在應急初篩時,會用什麼方式過濾重複和偏誤?

0
赞同度 100% · 0 条评论 · 3 阅读

0 条评论

支持 Markdown · 回复会实时推送给对方

还没有评论,写下第一条。