封存文章
本文源自 2019 HiMCM Problem B。舊版以隨機產生的表現分數比較 Concord、 San Francisco 與 SF Airport,因而不能支持任何真實政策排名。 本版本把「量度政策影響」與「按價值觀選擇方案」分開,保留 AHP/TOPSIS 作為決策工具,而不是把它們當作因果證據。
一次性樽裝水禁售的直覺目標是減少塑膠廢物、化石燃料使用與運輸排放; 反對者則關注消費者轉買含糖飲品、替代包裝、飲水可得性與緊急供水。 Concord 的政策、San Francisco 市有物業規則與機場零售限制,涵蓋範圍和使用者群組不同, 不能只用三個地方名稱當作同一組「alternatives」排序。
一個完整模型要回答兩層問題:
- 效果層: 每項政策會改變多少瓶裝水銷售、廢物、排放、成本與飲水行為?
- 價值層: 不同持份者如何權衡環境、經濟、健康、公平與韌性?
一、先定義政策方案
每個地區應獨立比較可行方案,例如:
- :維持現狀;
- :只禁售 L 的 plain water PET bottles;
- :禁售並增加 refill stations;
- :收費/deposit-return 而非全面禁售;
- :公共採購限制加零售資訊措施;
- :有災害、醫療與無安全自來水時的豁免。
機場還需要處理 security checkpoint、旅客停留時間、國際旅客、airside refill 容量與 concession contracts。這些變數令同一政策在城鎮和機場有不同效果。
二、物料流與替代
令政策前每年售出 樽,禁售合規率為 ,消費需求轉移至選項 的比例為 ,且
政策後被避免的目標水樽數量約為
表示跨境購買、非合規或其他 leakage。對替代選項:
替代可能包括:
- 自攜可重用樽及 refill;
- 鋁罐、玻璃或紙複合包裝;
- 較大容量容器;
- 汽水、果汁或其他飲品;
- 不再購買飲品。
若忽略 ,就會把每一個少賣的水樽當成淨消失,而高估環境效益。
廢物
物料 的年度廢物流為
其中 是每件包裝中物料 的質量, 是實際回收/回收後有效替代 virgin material 的比率。 收集率不等於真正循環率;出口、污染和 downcycling 要分開。
生命週期溫室氣體
在一致 system boundary 下:
可重用樽的 per-use impact 取決於實際使用次數 :
因此「可重用」不會自動等於低排放;break-even uses 應由當地能源、水和清洗行為計算。
三、健康、可得性與公平
飲品替代可用 transition matrix:
表示政策 下由原飲品 轉向 的概率。 若一部分消費者轉向含糖飲品,可估算 added sugar exposure;若轉向 refill, 則要量度水站可靠性、排隊時間與水質。
公平性不能只用平均值。可按群組 報告:
其中 是額外成本, 是取得飲水的時間負擔。 旅客、無家者、戶外工作者、殘疾人士及災害期間使用者可能承受不同影響。
四、經濟與營運
政策的社會淨成本可寫成
這不是要求把所有結果強行貨幣化。無法可靠 monetise 的健康、公平或韌性指標 可以保留為獨立 criteria。
機場模型還要加入:
- 每小時旅客流與 peak demand;
- refill station flow rate、故障率及 queue;
- security 後空樽可否攜帶;
- concession revenue 與替代飲品存貨;
- flight disruption 或緊急事件的 bottled-water reserve。
簡單的 station capacity condition 是
其中 是到達率, 是水站數, 是單站服務率。 平均可行仍不代表高峰排隊可接受,應以 queue simulation 檢查。
五、因果效果如何估計
政策後銷量或 litter 下降,未必全由禁售造成;季節、疫情、價格與遊客量都會改變。 若有適當比較地區,可用 difference-in-differences:
估計政策的平均處理效果,但需要 parallel-trends 假設。 資料可包括:
- POS 銷售與飲品類別;
- 廢物 audit 與 litter transects;
- refill station flow meter;
- 消費者 intercept survey;
- 零售價格與 concession data;
- 水站 uptime、水質與 queue;
- 旅客/人口與天氣;
- enforcement records。
若只有政策前後單一地點,應誠實稱為 interrupted time-series 或 descriptive study, 並報告較弱的因果識別。
六、AHP:由持份者判斷取得權重
效果估計完成後,AHP 可協助取得 criteria weights。 對 reciprocal pairwise matrix :
權重可取 principal eigenvector:
一致性指標為
是常用 heuristic,不表示判斷「真實」或政策結論可靠。 舊稿前段以 row average 寫權重公式,只有在先做特定 normalization 時才成立; 實作則用 eigenvector,兩者不應混為一談。
import numpy as np
def ahp_weights(matrix, random_index):
matrix = np.asarray(matrix, dtype=float)
if not np.allclose(matrix * matrix.T, 1.0):
raise ValueError("pairwise matrix 必須 reciprocal")
eigenvalues, eigenvectors = np.linalg.eig(matrix)
idx = np.argmax(eigenvalues.real)
weights = np.abs(eigenvectors[:, idx].real)
weights /= weights.sum()
n = len(weights)
ci = 0 if n == 1 else (eigenvalues[idx].real - n) / (n - 1)
cr = 0 if n <= 2 else ci / random_index[n]
return weights, cr
不同持份者不應被一張由研究者自行填寫的 matrix 取代。 可以分別取得居民、零售商、清潔部門、健康部門與倡議團體的權重,再展示共識與衝突。
七、TOPSIS:方向與尺度
給定 alternatives × criteria 的 decision matrix ,向量正規化:
對 benefit criterion,理想值是最大;對 cost criterion,理想值是最小:
再計算
舊 Python 把所有 criteria 的 maximum 當理想值;但 carbon、cost、litter、 sugar exposure 等都是越低越好,所以 ranking 可能反轉。
def topsis(matrix, weights, benefit):
x = np.asarray(matrix, dtype=float)
denom = np.linalg.norm(x, axis=0)
if np.any(denom == 0):
raise ValueError("constant zero criterion 無法作向量正規化")
v = (x / denom) * np.asarray(weights)
benefit = np.asarray(benefit, dtype=bool)
ideal = np.where(benefit, v.max(axis=0), v.min(axis=0))
anti = np.where(benefit, v.min(axis=0), v.max(axis=0))
d_plus = np.linalg.norm(v - ideal, axis=1)
d_minus = np.linalg.norm(v - anti, axis=1)
return d_minus / (d_plus + d_minus)
AHP score 與 TOPSIS closeness 的數值尺度不同,不能把兩組 bar height 當成同一量比較; 合理比較是 ranking、rank reversal 和 sensitivity。
八、為何舊排名無效
舊例子:
- 隨機產生 sub-criteria pairwise comparisons;
- 隨機產生 Concord、San Francisco、SF Airport 的表現分數;
- 再用 AHP 與 TOPSIS 排名;
- 因兩者偶然同序,便稱結果相似、robust。
隨機 seed 只令同一組虛構數字可重現,不令它成為政策資料。 而且三個地點不是互斥政策方案;San Francisco 可能同時包含機場政策。 因此所有舊 ranking 圖只可視為 software demo,不能推論禁售效果相近。
舊 sensitivity 亦只用
任意擾動 criteria weights。它沒有擾動測量誤差、替代率、LCA factors 或 compliance, 也沒有解釋 concentration 10 的依據。TOPSIS boxplot 沒有「箱」只可能表示模擬中排名不變, 與 TOPSIS 不檢查 AHP consistency 無直接關係。
九、完整不確定性與情景
對每個政策 ,把 outcome model 寫成
包括 baseline sales、substitution shares、recycling、 emission factors、compliance、station uptime 等。可用 bootstrap/Bayesian posterior 或明確情景傳播,而不是所有參數任意 ±10%。
最終可報告:
- 各 outcome 的區間;
- 每個方案成為第一名的概率;
- 權重改變造成的 rank acceptability;
- 哪些參數最可能改變決策;
- regret:
若一項方案在多數合理情景下低 regret,即使不是每次第一,也可能較穩健。
十、政策設計建議
在沒有本地資料前,模型不應直接推薦全面禁售;但可提出可測試設計:
- 禁售與 refill capacity 同步上線;
- 保留醫療、災害與供水中斷豁免;
- 監測替代飲品,避免包裝與糖分 leakage;
- 以分階段 rollout 建立比較組;
- 公開銷量、廢物、水站 uptime 與投訴 dashboard;
- 設定預先承諾的 review date 與 adjustment rule。
對較大城市,模型架構可沿用,但參數不可直接由 Concord 放大: 人口密度、通勤、旅遊、供水信任、零售市場與回收系統都會改變效果。
結論
瓶裝水禁售不是單純的「膠樽減少」問題。可信分析需要:
- 先把每個地區的政策選項定義清楚;
- 用物料流與 substitution model 估計實際 outcome;
- 以準實驗或時間序列評估政策效果;
- 把健康、公平、經濟、環境與韌性分開量度;
- 最後才用 AHP/TOPSIS 表達持份者取捨;
- 對權重與科學參數同時做敏感度。
AHP 和 TOPSIS 可以整理價值衝突,卻不能把隨機分數轉化為公共政策證據。 修正後的模型不再聲稱哪個城市「排名第一」,而是清楚列出要收集的資料、 可驗證的因果問題,以及不同價值選擇如何改變決策。
參考資料
- COMAP, Inc. (2019). HiMCM 2019 Problem B: Bottle Battles.
- Saaty, T. L. (1980). The Analytic Hierarchy Process. McGraw–Hill.
- Hwang, C.-L., & Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications. Springer.
- ISO. (2006). ISO 14040: Environmental management—Life cycle assessment—Principles and framework.
- Angrist, J. D., & Pischke, J.-S. (2009). Mostly Harmless Econometrics. Princeton University Press.