Excel 中的指數平滑法,是透過對最近的觀測值套用平滑常數 α,並對每個較舊的觀測值套用幾何遞減權重 α(1−α)^k 來計算,其中 k 代表該觀測值距離現在的期數。將遞迴預測公式 F_{t+1} = α·Y_t + (1−α)·F_t 展開 n 期,你會得到一個加權平均,其中觀測值 Y_{t−k} 的權重正好是 α(1−α)^k。底數 (1−α) 會被提升到整數次方 k,這就是為什麼整個運算依賴重複的乘法。例如當 α = 0.3 且 k = 3 時,Y_{t−3} 的權重為 0.3 × (1−0.3)^3 = 0.3 × 0.343 = 0.1029。Excel 可以用儲存格公式建立這個結果,但真正負責運算的是 (1−α)^k 這一項,而它本質上就是一個單純的指數計算。指數計算機會在你輸入的同時,即時回傳 (1−α)^k 的結果,讓你在實際寫入試算表之前,能更輕鬆地測試不同的 α 值,並觀察權重衰減的速度。

how to calculate exponential smoothing in excel
如何在 Excel 中計算指數平滑的 Alpha

指數平滑權重背後的數學原理

簡單指數平滑法透過單一遞迴方程式,將新的觀測值與先前的預測結合:

F_{t+1} = α·Y_t + (1−α)·F_t

反覆將 F_t 代入自身,遞迴式就會展開成一個單一的加權平均,一次呈現所有的權重:

F_{t+1} = α·Y_t + α(1−α)·Y_{t−1} + α(1−α)²·Y_{t−2} + α(1−α)³·Y_{t−3} + …

規律非常清楚:Y_{t−k} 的權重是 α(1−α)^k。前面的 α 是常數,而 (1−α)^k 才是真正執行運算的指數部分。一旦用這種方式來看,預測值就只是兩個欄位之間的點積——觀測值與權重——而權重不過是 α 乘上 (1−α) 的整數次方。

從這個結構中可以歸納出幾個特性:

  • 所有權重加總為 1,因為 α 乘上 k 從 0 到 ∞ 的 Σ(1−α)^k 這個幾何級數,等於 α · 1/α = 1。
  • α 越高,權重衰減越快,最近的觀測值影響力越大。
  • α 越低,衰減越慢,較舊的觀測值仍會對預測產生影響。
  • 當你展開有限的歷史資料時,指數 k 永遠是整數,這就是為什麼這個運算符合整數次方的指數規則。

最後一點在實務上很重要。因為 k 是整數,你可以讀出完整的展開式。以 α = 0.3 且 k = 3 為例:

權重 = α(1−α)^k = 0.3 × (1 − 0.3)^3 = 0.3 × 0.7^3 = 0.3 × (0.7 × 0.7 × 0.7) = 0.3 × 0.343 = 0.1029

把乘法過程完整寫出來,能讓幾何衰減變得具體而不再抽象——這正是指數計算機在處理小型整數次方時,會在答案旁邊額外顯示的步。

挑選合適的平滑常數 Alpha

平滑常數 α 控制預測的反應速度。以下三個大致範圍可涵蓋大部分情境:

Alpha 範圍 權重衰減 適用情境
0.7 – 0.9 快速——較舊的資料在幾期內就會淡出 具趨勢、變動快速的數列,最近的觀測值具有主導性
0.3 – 0.6 中等——典型的幾何衰減 穩定的數列,帶有輕微雜訊——日常的預設選擇
0.05 – 0.2 緩慢——舊資料會在多期中持續影響預測 長期且緩慢的數列,趨勢不明顯,且擁有大量可用的歷史資料

多數教科書會以 α = 0.2 或 0.3 作為中性的預設起點,接著若預測持續落後實際值就向上微調,若每次尖峰都過度反應則向下微調。在這個範圍內,衰減形狀的變化幅度相當大,這正是指數計算機派上用場的時刻——在 Excel 中選定數值之前,先到指數計算機試幾個底數,讓欄位的形狀符合你對「預測應該有多敏感」的直覺。

如何在 Excel 中計算指數平滑權重

你可以用兩個欄位加上一個公式,就能算出每一個權重 α(1−α)^k。設定過程大約只要兩分鐘,而且適用於任何近期版本的 Excel 或 Google 試算表。

  1. 開啟一個空白活頁簿,在第 1 列為四個欄位命名:A1 Period、B1 Observation、C1 k (periods back)、D1 Weight α(1−α)^k。
  2. 在一個固定的儲存格輸入平滑常數,例如 E1 = 0.3。請加上錢字號($),這樣往下拖曳時公式參照才會保持鎖定。
  3. 在 A2:A11 輸入 0 到 9 的期數標籤,其中 0 代表當期,9 代表最舊的一期。在 B2:B11 以反向順序貼上觀測值——B2 是今天,B11 是九期之前。
  4. 在 C2 輸入 0,然後往下填到 C11,讓該欄依序顯示 0、1、2、……、9。
  5. 在 D2 輸入公式 =$E$1*(1-$E$1)^C2,然後往下填到 D11。
  6. 讀取 D 欄。第一列會回傳 α 本身,第二列會回傳 α(1−α),之後每一列都會再衰減一個 (1−α) 因子——從最近的觀測值往後形成平滑的幾何淡出。
  7. 若要預測第 t + 1 期,可將 B 欄的每一列乘以對應 D 欄的數值,再以 =SUMPRODUCT(B2:B11, D2:D11) 加總。該總和就是一步前的預測值,而且整個過程完全不需要遞迴。

同一個公式適用於任何正整數 k,而這也是指數計算機唯一需要處理的指數型態——沒有分數次方,沒有複數的意外狀況,就只是 k = 0、1、2、…… 的 α(1−α)^k。

使用相同權重模式的變形方法

α(1−α)^k 這個結構只是基礎,並非全貌。幾種 Excel 友善的預測方法在不更動基本指數模式的前提下延伸了它:

  • Holt 線性趨勢法加入了第二個平滑常數 β 來處理趨勢成分。Level 仍使用 α(1−α)^k 權重,而趨勢則對過去的趨勢估計值套用 β(1−β)^k 權重。
  • 阻尼趨勢每期將趨勢乘上一個介於 0 到 1 之間的阻尼因子 φ,讓長期預測趨於平緩,而不是沿直線無限延伸。
  • Holt-Winters再加上第三個平滑常數 γ 來處理季節性,使得季節性權重在整個週期中遵循相同的 γ(1−γ)^k 模式。

這些方法都沒有改變基本的形狀。每一種都只是在指數模式上多乘上一個常數,然後將各成分加總。因此,只要你的 α(1−α)^k 表格在 Excel 中能運作,同一套指數計算機的做法就能處理 β、γ 與 φ——每個平滑常數使用一個底數,搭配整數次方,完全不需要煩惱分數次方的例外狀況。

指數計算機在什麼時候能幫你省時間

一旦表格建立完成,Excel 就能接手處理。但在實際選定 alpha 之前,你通常會想測試三、四組候選值,並目視判斷權重衰減的速度。每次都得在 Excel 中修改 E1、重新拖曳公式,再用眼睛掃描整個欄位;事實上,公式 =$E$1*(1-$E$1)^C2 每個儲存格只做一次指數運算——僅此而已。

這正是指數計算機更有效率的地方。把 (1−α) 當作底數輸入——例如 0.7——再輸入指數,它就會即時回傳 0.7^k,並在下方列出完整的乘法過程。將底數改成 0.8 來測試 α = 0.2,改成 0.5 來測試 α = 0.5,或改成 0.9 來測試 α = 0.1,新的權重會在你打完的那一刻就顯示出來。x²、x³ 與 √x 這幾個一鍵按鈕能幫你直接設定指數,讓你方便抽查底數的平方、立方或平方根。

這個工具遵循的指數規則,與你 Excel 公式依賴的規則完全相同,包括:

  • 任何非零底數的 0 次方都回傳 1,所以 α(1−α)^0 = α,與 alpha 的值無關。
  • 負數底數在整數次方下運作正常,但一旦遇到分數次方就會變成複數——在這裡並不相關,因為 k 永遠是整數。
  • 極小的權重會以科學記號顯示,這與 Excel 處理長尾數值的格式一致。
  • 所有運算都在你的瀏覽器本機執行,因此計算過程完全私密,且頁面載入後也能離線使用。

如果你也使用 Excel 來建立其他基於衰減的預測模型,指數移動平均指南會以相同的 α 對應 N 框架,以及同樣的核心指數表格,逐步介紹那個變形方法。

若想更深入了解,請參閱在 Excel 中計算四捨五入:函數、模式與情境。