「隨機過程(stochastic process)」這個名字,第一次看到時其實不太直觀。「隨機」還算容易理解,但「過程」到底是什麼?而且有趣的是,我們熟悉的隨機變數的英文是 random variable,到了隨機過程卻變成 stochastic process。兩個「隨機」甚至用了不同的英文單字。(這主要是數學上的命名習慣,random和stochastic並不是兩種不同的隨機性。)理解隨機過程最重要的一句話是:
隨機過程是一族按照某種索引組織起來的隨機變數。
但如果只背這句話,通常還是不知道隨機過程到底在研究什麼。真正需要回答的是兩個問題:為什麼要把很多隨機變數組織在一起?組織起來之後,我們究竟要研究什麼?
在回答這兩個問題之前,先補上一點機率論與統計學中最基本的概念。
1. 從機率論開始
1.1 隨機試驗、事件與機率
考慮最經典的擲骰子問題。有一顆六面骰子,擲出去之後,結果可能是 。在擲之前,我們不知道最後會出現哪一個結果,這就是一個隨機試驗(random experiment)。
所有可能結果組成的集合稱為樣本空間(sample space),通常記成 。在這個例子中,可以寫成 。如果我們關心「骰出的點數大於 3」,那麼對應的結果集合就是 ,這個 稱為一個事件(event)。
機率則用來描述一個事件發生的可能性,通常寫成 。如果骰子是公平的,那麼 。
所以可以先建立一個簡單的概念:
- 隨機試驗:做一件結果不確定的事情;
- 事件:我們關心的某一類結果;
- 機率:描述這類結果有多可能發生。
當然機率有嚴格的數學定義,這裡討論的是古典概率,但是這種直觀的理解已經足夠我們往下看了。
1.2 隨機變數
擲骰子問題中,我們很關心的一個量就是每一次扔出來的結果,接下來定義 表示骰出的點數,那麼 。這裡的 就是一個隨機變數(random variable)。
名字雖然叫「變數」,但更精確地說,隨機變數其實是一個函數。它把樣本空間中的結果 對應成某個數值,可以寫成 ,也就是 。
在骰子的例子中,不需要一開始就把這件事想得太抽象。可以先理解成:隨機試驗產生一個結果,而隨機變數把這個結果表示成我們真正想研究的數值。例如這一次骰出 4,就可以寫成 。
這裡需要特別區分三件事: 是隨機變數,4 是 的一次實現值,而 則是一個事件。因此「隨機變數」和「隨機事件」並不是同一件事。
1.3 機率分布與期望值
只知道 可以取哪些值還不夠,我們通常還想知道每一個值出現的可能性有多大。這就需要機率分布(probability distribution)。
對公平骰子而言,。這整組機率共同描述了隨機變數 的機率分布。
有了機率分布之後,可以進一步定義一個非常重要的量:期望值(expected value)。(直觀理解就是我幹一個事情很多次,平均得到的結果是什麼。)對離散隨機變數而言,期望值定義為:
公平骰子的期望值為 。當然,骰子永遠不可能真的骰出 3.5。期望值不是「下一次最可能出現的值」,而比較像是:如果相同的隨機試驗重複很多次,結果的平均值會逐漸靠近哪裡。這個概念之後會一直出現在隨機過程裡。例如我們會研究 ,也就是某一個時間點 上這個隨機變數的平均行為。
1.4 機率論與統計學在做什麼
機率論和統計學關係非常密切,但兩者的方向有些不同。**機率論(probability theory)**通常是在已經知道一個隨機模型的前提下,研究它可能產生什麼結果。例如已知骰子是公平的,計算骰出大於 3 的機率。
**統計學(statistics)**則通常反過來:已經觀察到一些資料,希望從資料推測背後的機率模型。例如實際擲骰子 1000 次,發現點數 6 出現了 400 次,這時候就可能懷疑這顆骰子是否公平。
隨機過程主要建立在機率論之上,但在實際應用中,我們通常只能觀察到一條或幾條資料軌跡,因此最後又會回到統計推論。這也是為什麼「機率」和「統計」經常一起出現。
2. 從隨機變數到隨機過程
2.1 從一個隨機變數開始
回到骰子的例子。如果只擲一次骰子,可以用一個隨機變數 描述結果。但現在假設我們連續擲 1000 次骰子,可以定義 ,其中 表示第一次的結果, 表示第二次的結果,以此類推。
那麼 就是一個 1000 維隨機向量(random vector)。某一次實際執行這個實驗,可能得到 。這是一個具體的 1000 維向量,也是這個隨機向量的一次實現。
這裡可以把「連續擲 1000 次骰子」視為一次完整實驗。如果重新進行整個實驗,就可能得到另一組完全不同的結果。例如:
| 實驗 | |||||
|---|---|---|---|---|---|
| 1 | 3 | 6 | 1 | 1 | |
| 2 | 5 | 2 | 4 | 2 | |
| 3 | 1 | 3 | 6 | 3 | |
| 4 | 4 | 1 | 2 | 1 | |
| 4 | 1 | 2 | 1 |
這張表非常重要。直著看一欄,例如 ,看到的是「第一次擲骰子」這個隨機變數在不同實驗中的不同實現;橫著看一列,看到的是整個 1000 維隨機向量的一次實現。這也是理解隨機過程時最重要的兩個視角。
這裡可能會產生一個疑問:我原本只是想擲 1000 次骰子,為什麼現在又要把整個實驗重複 次?
實際上不一定真的需要做 次。這個想像主要是為了理解「隨機變數」的意義。即使現實中只做了一次實驗,在數學模型裡,我們仍然認為存在許多可能的實驗結果,而實際觀察到的只是其中一次。
2.2 從隨機向量到隨機過程
如果只有 ,把它稱為隨機向量完全沒有問題。例如在 VAE 中,latent variable 通常就是一個高維隨機向量。
但如果把索引繼續延伸成 ,甚至允許索引連續變化,例如 ,這時候就不再只是普通的有限維隨機向量。因此數學上通常把它寫成 ,其中 是一個隨機變數, 是索引,而 是索引集合。
這就是隨機過程(stochastic process)最基本的形式。如果 ,稱為離散時間隨機過程(discrete-time stochastic process);如果 ,則稱為連續時間隨機過程(continuous-time stochastic process)。
因此可以先建立一個直觀的演進關係:
隨機變數 → 隨機向量 → 隨機過程
隨機過程可以看成隨機向量向「無限多個索引」或「連續索引」的推廣。但這只是一種直觀理解。隨機過程真正重要的地方,並不是它有很多隨機變數,而是這些隨機變數之間存在某種結構。
3. 索引、實驗與樣本路徑
3.1 索引不一定是時間
隨機過程通常寫成 ,所以下標經常使用 。原因很簡單:很多隨機過程描述的確實是某個系統隨時間的變化。
例如 可以表示第 天的氣溫、時刻 的股票價格、隨機漫步在第 步的位置,或系統在第 個模擬步驟的狀態。
但 並不一定是物理時間。它也可以表示世代、迭代次數、取樣順序,或者其他具有順序或結構的索引。因此真正重要的不是「時間」這兩個字,而是:
這一族隨機變數之間存在一個有意義的索引結構。
3.2 隨機過程不是一條曲線
假設有一個隨機漫步,可以寫成 ,其中 有一半的機率取 ,另一半的機率取 。
從 出發,某一次可能得到 0 → 1 → 2 → 1 → 0 → -1 → 0 → ...,另一次可能得到 0 → -1 → 0 → 1 → 2 → 1 → 2 → ...。
這兩條曲線都是這個隨機過程可能產生的結果,但它們都不是隨機過程本身。每一條實際產生的完整序列,稱為一次實現(realization),也稱為一條樣本路徑(sample path)。對前面的骰子例子來說, 就是一條樣本路徑。因此可以說:
隨機過程描述的是所有可能的樣本路徑,以及這些路徑背後的機率規律。
這和隨機變數完全一樣。骰子這一次擲出 4,不代表隨機變數 就是 4;同樣地,今天看到某支股票的一條價格曲線,也不代表這條曲線本身就是隨機過程。它只是這個隨機過程的一次實現。
3.3 固定時間與固定實驗
隨機過程更完整的寫法其實是 ,其中 是索引,而 表示樣本空間中的一次基本結果。這個表示法看起來抽象,但其實就是前面那張表格的數學版本。
如果固定 ,讓 改變,那麼 就是一個普通的隨機變數。它回答的是:固定某一個時間點,不同可能的實驗結果會得到什麼值?例如固定第 10 次擲骰子,研究 的機率分布。
另一方面,如果固定某一個 ,讓 改變,那麼 就是一條樣本路徑。它回答的是:固定某一次完整實驗,系統隨著索引如何變化?
因此可以記成:
固定 :得到隨機變數 | 固定 :得到樣本路徑
這個視角非常重要。後面理解期望函數、自相關函數、高斯過程,甚至時間序列時,都會不斷用到它。
4. 從標量過程到隨機場
4.1 不一定是一個數
初學隨機過程時, 經常表示氣溫、價格或一維位置,所以很容易產生一個錯覺: 是不是一定要是一個純量?
其實不是。 本身完全可以是一個向量。例如二維隨機漫步可以寫成 ,這時候每一個 都是一個二維隨機向量。如果研究一台車的運動狀態,也可以定義 ,分別表示位置、速度與加速度。
所以需要分清楚兩件事: 描述的是索引的結構,而 描述的是每個索引位置上的狀態。一個隨機過程完全可以是「一維時間索引 + 高維狀態」。
4.2 索引本身也可以變成高維
還可以繼續往前走一步。假設我們不是研究時間,而是研究一張影像,可以令 表示影像位置 上的畫素值。此時索引不再只有一個 ,而是變成二維的 。這類具有多維索引的隨機物件通常稱為隨機場(random field)。(哈哈哈, 這裡的隨機又是random了。)
這裡可能又會出現一個問題:一張已經拍好的照片,每個畫素明明都是確定的,為什麼還要說它是隨機的?關鍵仍然在於「觀察之前」與「觀察之後」。已經拿到手上的某一張照片,當然是一個確定的影像;但如果我們建立的是一個「可能產生各種影像」的機率模型,那麼在影像真正被觀察之前,每個位置的畫素值都可以被視為隨機變數。另外,相機感光元件本身也會產生雜訊,因此即使對著相同場景重複拍攝,畫素值也可能有所差異。這類隨機性同樣可以利用隨機變數來描述。
如果是 RGB 彩色影像,可以進一步寫成 ,其中 表示色彩通道。如果再加入影片的時間維度,可以寫成 ,其中 分別表示時間、垂直位置、水平位置與色彩通道。
因此可以得到一個更統一的觀點:
| 物件 | 表示 | 索引結構 |
|---|---|---|
| 隨機變數 | 無額外索引 | |
| 隨機過程 | 一維索引 | |
| 二維隨機場 | 二維索引 | |
| 高維隨機場 | 多維索引 |
它們背後其實是同一個想法:
利用索引集合,組織一族彼此具有聯合機率結構的隨機變數。
5. 隨機過程真正研究的是什麼
這裡會產生一個很自然的問題:如果隨機過程只是一大堆隨機變數,為什麼還需要專門發展一整套理論?
原因是,我們真正感興趣的通常不是每個 單獨是什麼分布,而是不同時間點的隨機變數之間有什麼關係。
例如,假設我們已經知道每一天的氣溫都近似服從某個分布,這還遠遠不夠。我們還想知道:今天比較熱,明天是不是也比較可能偏熱? 和 之間有多強的相關性?已經知道 之後, 是否還能提供額外資訊? 的分布是否只和 有關?兩個時間點距離越遠,相關性會不會逐漸降低?過程的平均值 是否隨時間改變?
所以隨機過程並不要求 彼此獨立,也不要求它們具有完全相同的機率分布。它們可能獨立,也可能高度相關;可能每個時間點都有相同的分布,也可能隨時間不斷改變。
例如,如果每次擲骰子的結果彼此獨立,那麼 和 沒有依賴關係。但股票價格顯然不是這樣,今天的價格通常和昨天的價格有很強的關係。氣溫也是如此,今天是 30°C,明天突然變成 -20°C 的可能性通常很低。
所以隨機過程真正關心的是:
這一族隨機變數的聯合分布,以及它們之間的依賴結構。
這也是「把很多隨機變數放在一起」真正有意義的地方。
6. 小結
隨機過程最基本的數學形式是 ,其中每一個 都是一個隨機變數,而 是索引集合。
如果只記住一個最核心的直覺,可以記成:
隨機過程 = 一族按照某種索引組織起來的隨機變數。
但還要記住另一件更重要的事。實際觀察到的 ,只是隨機過程的一條樣本路徑;隨機過程本身描述的是所有可能的樣本路徑,以及它們背後的機率規律。
從隨機變數繼續往外擴充,可以形成:
隨機變數 → 隨機向量 → 隨機過程 → 隨機場
真正讓隨機過程值得被獨立研究的,並不是「隨機變數的數量變多」,而是不同 之間存在怎樣的聯合分布與依賴關係。
這也自然帶出下一個問題:假設我們已經知道每一個 自己的機率分布,例如知道 ,是不是就等於已經知道整個隨機過程?
答案是否定的。知道每一個時間點各自的分布,並不能告訴我們不同時間點之間如何一起變化。
因此,接下來真正需要討論的是聯合分布、期望值、變異數、共變異數、自相關,以及隨機變數之間的依賴關係。這些概念才是從「一群隨機變數」真正走向「隨機過程」的關鍵。