iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0
Software Development

SyncETA 開發日記:手把手打造你的智慧出發時間推薦 PWA系列 第 17

【Day 17】用簡單例子理解「信心水準」的概念

  • 分享至 

  • xImage
  •  

昨天談了為什麼「平均時間」不夠用,今天用具體數字,把「信心水準」這個概念講得更清楚,為明天寫程式碼做準備。


一個簡化的例子

假設你過去 10 次搭同一班公車 + 走路去某個地點,花費的時間紀錄如下(單位:分鐘):

25, 27, 26, 30, 28, 35, 26, 29, 27, 40

如果只看平均值,大約是 29.3 分鐘。但如果我們把這 10 筆資料由小到大排序:

25, 26, 26, 27, 27, 28, 29, 30, 35, 40
  • 如果你想要有 50% 的信心水準 準時到達,抓中間值(第 5、6 筆之間)大約 27.5 分鐘就好——這其實跟平均值很接近,也代表有一半機率會遲到。
  • 如果你想要有 90% 的信心水準 ,你要抓到排序中第 9 筆左右,也就是 35 分鐘——因為 10 次裡有 9 次都在 35 分鐘以內完成。

這個「由小到大排序後,取某個百分位」的做法,統計上叫做分位數(Percentile / Quantile)

它不需要複雜的公式,本質上就是「排序 + 取某個位置的值」。

為什麼這個做法對初學者友善?

因為它完全不需要理解常態分布、標準差或任何進階統計理論,只要會排序陣列、取索引值,就能做出一個有意義的機率式建議。這也是為什麼我會選它作為 SyncETA Lite 的簡化版核心邏輯——用最少的數學,換到最多的直覺理解。


對應到我們的資料

在真實系統中,這些「過去花費時間的紀錄」可以從歷史資料估計,或者簡化成用「TDX 即時到站時間的變動範圍」來近似。

明天,我們就要把這個分位數的概念,寫成 src/logic/recommend.js 裡的第一版推薦規則。


上一篇
【Day 16】為什麼「準時到達」是機率問題,不是單一數字?
系列文
SyncETA 開發日記:手把手打造你的智慧出發時間推薦 PWA17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言