時間序列

喺數學上，**時間序列**（參見）係處理數據嗰陣成日用到嘅概念，指一列若干個數據值，當中每個值都掕住一個數值，表示嗰一件數據值喺時間上係第幾個發生嘅。例如經濟學上分析股價（或者第啲經濟指標），一列數值紀錄咗每日收市嗰陣嘅道指，又或者醫療做分析，一列數據紀錄病人每秒嘅腦電活動。用圖像化嘅方式表達嘅話，時間序列通常會畫成趨勢圖，當中打戙軸係變緊嗰個變數而打橫軸係時間。

時間序列其中一個重要特徵，就係有天然嘅次序，按時間分先後。一般嘅數據，淨係喺某一個時間點量度咗若干位受試者，原則上會假設抽樣過程做到統計獨立，所以啲數據個案與個案之間唔會話有乜嘢「天然嘅次序」；相比之下時間序列本質上就要分次序，而「可以做咩推論」呢點又受制於數據喺時間上嘅先後，譬如依家要做因果關係嘅推論，就冇得話某件數據會引致佢打前嗰啲數據出現變化，因為喺時間上因必定發生喺果之前。

喺統計學上，時間序列可以用好多方法分析，但係由於時間序列有種種獨特性質，好多普通用開嘅分析方法都處理唔嚟，於是統計學界就開發咗一啲特殊方法嚟分析時間序列數據，例如係自迴歸模型呀噉。

## 基本概論

定義上，一條長度為 m 嘅時間序列，係一個有次序嘅實數數據列：
:T = (t_1, t_2, \dots, t_m) 
當中 t1 係第一個時間點，t2 係第二個時間點... 等等。而一條長度為 n 嘅**子序列**就係指由序列 T 當中抽出連續 n 咁個元素而成嘅，即係：
:T_{i,n} = (t_i, t_{i+1}, \dots, t_{i+n-1})，其中 1 \leq i \leq m - n + 1
換句話說，子序列係一啲根據原有次序排列，中間可能略去咗部分元素嘅數據序列。統計學有好多技術可以用嚟分析數據，由數據當中搵出規律同埋變數之間嘅關係。

要分析時間序列，統計師要面對一條基本嘅難題：時間序列本質上就唔係彼此獨立嘅；如果話兩個個案（或者數據點）彼此獨立，即係話其中一個個案出咩數值，唔會影響另外嗰個出咩數值，例如由全世界嘅人當中隨機抽兩個人出嚟再度佢哋身高，抽第一個人得出咩數值，唔會影響抽第二個人得出咩數值；但係本質上，時間序列就係睇緊某個個案喺指定時間之中嘅變化（例如睇住同一個人嘅身高變化）而個個案喺某個時點嘅數值，原則上實會同佢之前或者之後嘅數值有相關；同時好多傳統嘅統計學方法，譬如係線性迴歸噉，本身就假設數據點之間係互相獨立嘅。如果直接用呢啲方法分析時間序列，就好有可能會得出唔可靠嘅推論。因此，時間序列分析需要有一套獨特嘅理論同技術，專門處理數據點之間存在自相關嘅情況。

## 分析方法
時間序列數據可以用好多唔同類嘅統計模型嚟分析。

### 自迴歸

自迴歸模型可以用嚟分析時間序列數據。假想有個自迴歸模型，**序迾**係 *p* 咁多，定義上呢個模型可以以下嘅式描述：
: X_t = \sum_{i=1}^p \varphi_i X_{t-i} + \varepsilon_t
當中 \varphi_1, \ldots, \varphi_p 係模型嘅參數，而 \varepsilon_t 係白雜訊。用日常用語講，條式以 X_t 做應變數，而預測佢嘅變數就係 X_{t-1}（前一個時間點嘅 X）、X_{t-2}（再前一個時間點嘅 X ）... 一路至 X_{t-p} －用個變數喺之前嘅時間點嘅值，預測佢依家嗰刻嘅值。條式又可以用褪後操作符 *B* 寫做
: X_t = \sum_{i=1}^p \varphi_i B^i X_{t} + \varepsilon_t 
要行噉嘅自迴歸模型，數據集就要整到每行橫行表示某個時間點嘅值，並且有 *p* 咁多條直行，表示嗰一個值之前嗰 *p* 個時間點量度到嘅值。好似噉嘅自迴歸模型，只可以分析一個變數點樣隨時間變化，而更進階嘅變體仲有得模擬多個變數點樣互相影響或者預測對方嘅變化，例如向量自迴歸（VAR）就將自迴歸模型嘅概念廣義化，同時考慮多個唔同變數嘅變化，當中有兩個變數，序迾 = 1 嘅 VAR 模型就可以用矩陣寫成：
:\begin{bmatrix}y_{1,t} \\ y_{2,t}\end{bmatrix} = \begin{bmatrix}c_{1} \\ c_{2}\end{bmatrix} + \begin{bmatrix}a_{1,1}&a_{1,2} \\ a_{2,1}&a_{2,2}\end{bmatrix}\begin{bmatrix}y_{1,t-1} \\ y_{2,t-1}\end{bmatrix} + \begin{bmatrix}e_{1,t} \\ e_{2,t}\end{bmatrix}
矩陣呢個概念可以用嚟表示線性映射。喺上便條式當中，
:
\begin{bmatrix}a_{1,1}&a_{1,2} \\ a_{2,1}&a_{2,2}\end{bmatrix}
\begin{bmatrix}y_{1,t-1} \\ y_{2,t-1}\end{bmatrix}

乘出嚟會係：
:y_{1,t} = c_{1} + a_{1,1}y_{1,t-1} + a_{1,2}y_{2,t-1} + e_{1,t}\,
:y_{2,t} = c_{2} + a_{2,1}y_{1,t-1} + a_{2,2}y_{2,t-1} + e_{2,t}.\,
由手上數據嗰度估計 a_{1,1} 等參數嘅值，就可以得知啲變數之間有咩關係，以及有幾強嘅關係。

### 增長曲線

增長曲線係一種圖像表示方法，描述某個變數（例如健康狀況、行為表現等）點樣隨時間變化。以學生嘅閱讀能力為例，如果每年測一次分數，就可以畫出一條曲線反映佢哋嘅成績點樣一年一年噉變化。唔同人可能會有唔同形狀嘅曲線，有啲一路升、有啲升完又跌、有啲基本不變。

增長曲線噉嘅思考，可以用（例如）潛在增長模型（LGM）嚟分析，潛在增長模型呢種統計模型可以用數學式簡單寫成：
:y_{it} = \alpha_i + \beta_i \cdot t + \epsilon_{it}
呢條式表示第 i 個人喺第 t 個時間點嘅觀察值 y_{it} 等於：
*佢自己嘅起始水平 \alpha_i（即係 intercept），
*加上斜率 \beta_i 乘以時間（反映增長速率），
*再加上誤差 \epsilon_{it}。
呢種模型常見於教育學同心理學：例如研究學生喺若干年內嘅閱讀能力（或者其他能力）嘅發展呀噉。

技術化啲講，呢種模型可以用結構方程式模型（SEM）噉嘅形式嚟諗。譬如設定兩個潛在變數代表 \alpha 同 \beta，然後將每一個可觀察變數（包括第一、二、三個時間點... 等量度到嗰個變數值）對應落去，每一個可觀察變數對 \alpha 嘅負荷量固定為 1 咁多，同時每個可觀察變數對 \beta 嘅負荷量就隨時間改變，例如 0 1 2... 等，當中第 n 個時間點嘅可觀察變數數值嘅負荷量設定為 (n-1) 咁多。呢類模型喺教育學、心理學、公共衞生等嘅社科中零舍常見，因為呢啲領域好多時只係收集到幾個時間點嘅重複量度。

### 畫做圖像

統計師同相關嘅人員想將時間序列用視覺化噉表達出嚟，通常都會用到趨勢圖，趨勢圖嘅做法係打橫軸設做時間點，將每個觀察點嘅數值按時間順序排好，打戙軸就代表研究緊嗰個變數，將每個點用線連起嚟，展示變數隨住時間過去而變化嘅情況。透過趨勢圖，研究者可以直觀噉睇整體走勢，例如睇吓變化趨勢係上升定下跌、有冇出現明顯嘅轉折點、數據有冇季節性嘅規律或者不規則波動。

好似下圖噉（想像研究緊嘅係道指每日收市嗰時嘅數值）：




## 領域應用
時間序列分析喺唔少領域上都會用到。

## 睇埋
*隨機漫步
*訊號處理
*生還分析
*蒙地卡羅方法

## 文獻
歐美文獻：

* Li, Y., Williams, L., Muth, C., Heshmati, S., Chow, S. M., & Oravecz, Z. (2025). A growth of hierarchical autoregression model for capturing individual differences in changes of dynamic characteristics of psychological processes (PDF). *Structural Equation Modeling: A Multidisciplinary Journal*, 32(2), 237-250.
* Zolhavarieh, Seyedjamal; Aghabozorgi, Saeed; Teh, Ying Wah (2014). "A Review of Subsequence Time Series Clustering". *The Scientific World Journal*. 2014: 312521，講到攞時間序列數據嚟做聚類分析。


## 參考
註釋：

引用咗嘅來源：

## 外拎

* 乜嘢係自迴歸模型？，IBM SPSS，講解點樣用自迴歸模型分析時間序列數據。