昨天談了為什麼「平均時間」不夠用,今天用具體數字,把「信心水準」這個概念講得更清楚,為明天寫程式碼做準備。
假設你過去 10 次搭同一班公車 + 走路去某個地點,花費的時間紀錄如下(單位:分鐘):
25, 27, 26, 30, 28, 35, 26, 29, 27, 40
如果只看平均值,大約是 29.3 分鐘。但如果我們把這 10 筆資料由小到大排序:
25, 26, 26, 27, 27, 28, 29, 30, 35, 40
這個「由小到大排序後,取某個百分位」的做法,統計上叫做分位數(Percentile / Quantile) 。
它不需要複雜的公式,本質上就是「排序 + 取某個位置的值」。
因為它完全不需要理解常態分布、標準差或任何進階統計理論,只要會排序陣列、取索引值,就能做出一個有意義的機率式建議。這也是為什麼我會選它作為 SyncETA Lite 的簡化版核心邏輯——用最少的數學,換到最多的直覺理解。
在真實系統中,這些「過去花費時間的紀錄」可以從歷史資料估計,或者簡化成用「TDX 即時到站時間的變動範圍」來近似。
明天,我們就要把這個分位數的概念,寫成 src/logic/recommend.js 裡的第一版推薦規則。