時間序列分析 是什麼?

Time Series Analysis:時間序列分析 的完整解釋

時間序列分析是研究按時間順序排列的數據點序列,以識別模式、趨勢和週期性,並預測未來值。

容易混淆

時間序列分析 vs 一般表格分析 時間序列分析重視時間順序 一般表格分析不一定在乎先後 最關鍵的區別:有沒有時間軸

時間序列分析 vs 趨勢線 趨勢線只是時間序列裡的一種表現 時間序列分析還會看季節性、波動和異常 最關鍵的區別:一條線不是全部

時間序列分析 vs 異常偵測 時間序列分析範圍更大 異常偵測只是其中一種任務 最關鍵的區別:整體方法和單一任務不要混淆

記住這句就好

先看時間順序,再看趨勢、週期和突然的跳點。

實際案例

門市營收 某家店每週收入在週末明顯上升,分析後發現是週末人流造成的週期現象,不是廣告突然失效

設備監控 伺服器 CPU 溫度平常穩定,半夜卻突然飆高,這種偏離原本模式的變化很適合先做異常分析

算法與應用

| 趨勢 | 看長期往上、往下或持平 | 常拿來判斷成長方向 | | 季節性 | 看固定週期重複出現的模式 | 例如週末、月底、節慶 | | 滯後特徵 | 把前幾期資料拿來當特徵 | 這是很多預測模型的核心 | | 預測與異常 | 預測未來值或找出離群點 | 兩者常一起使用 |

中英對照與常見說法

說法 出現場合
時間序列分析 台灣正式用語
时间序列分析 簡體寫法
Time Series Analysis 英文原名
時序分析、時間數列分析 常見變體
Forecasting(預測) 時間序列分析最常見的應用,兩者常被當同義詞使用

一條時間序列可以拆成什麼

成分 意思 例子
趨勢(trend) 長期往上或往下的方向 十年來的用電量逐年上升
季節性(seasonality) 固定週期的重複起伏 每年冬天用電量上升
循環(cycle) 週期不固定的起伏 景氣循環
殘差(residual) 拆完剩下的隨機部分 無法解釋的波動

拆解方式有加法模型(各成分相加)與乘法模型(各成分相乘)。振幅隨水準放大的資料用乘法模型,或先取對數再用加法模型。

定態與為什麼要在意它

定態(stationarity) 指的是統計性質不隨時間改變:平均值、變異數、自相關結構都固定。

ARIMA 這類傳統模型的理論建立在定態假設上,資料不定態就得先處理。常見手段是差分(後一期減前一期,去掉趨勢)與取對數(穩定變異數)。ARIMA 名稱裡的 I 就是差分(Integrated)的意思。

檢定定態常用 ADF 檢定(Augmented Dickey-Fuller)與 KPSS 檢定,兩個的虛無假設方向相反,一起用比較穩妥。

方法與驗證方式

方法 適合
移動平均、指數平滑 短期、平穩、要求可解釋
ARIMA / SARIMA 有明確自相關結構、單變量、資料量中等
Prophet 有多重季節性與假日效應,需要快速上手
梯度提升樹(配合滯後特徵) 有大量外生變數,表格化之後表現往往很強
深度學習(LSTM、Transformer 類) 序列多、長度長、有跨序列的共通模式

驗證方式一定要用時序切分,不能隨機切。 隨機切等於用未來的資料預測過去,離線指標會漂亮到不真實。正確做法是滾動式驗證(rolling origin):用前 N 期訓練、預測第 N+1 期,往後滾動重複。

一定要有樸素基準線。 最簡單的基準是「明天等於今天」(naive forecast),有季節性時是「今年這個月等於去年這個月」。複雜模型贏不過這條基準線的情況比想像中常見,沒有基準線就不會發現。

情境判斷

Q1(直覺題):你想預估下個月的訂單量,應該先看什麼? → 先看歷史時間序列的趨勢和週期,再決定要不要做預測模型。

Q2(判斷題):你把不同年份的銷售資料混在一起排序,結果還準嗎? → 通常不準,因為時間順序被打亂後,很多時間依賴關係就不見了。

相關術語

常見問題

時間序列分析一定要用深度學習嗎?

不一定,很多情況先用移動平均、ARIMA 或傳統統計法就很夠。

為什麼要特別保留時間順序?

因為未來不能先知道過去之後的資訊,順序錯了就會資訊洩漏。

時間序列和一般回歸有什麼不同?

回歸通常不把資料前後順序當重點,時間序列則把順序本身當成主要訊息。