Markov process 是隨機過程中最重要的一類,經常被簡化解釋成「未來只依賴現在,不依賴過去」。這句話方便記憶,卻容易誤導:如果 X1X_1 影響 X2X_2X2X_2 又影響 X3X_3X1X_1 明明會透過 X2X_2 間接影響 X3X_3,為什麼還能說 X3X_3 不依賴過去?關鍵在於 Markov 性質說的不是「過去沒有影響」,而是在已經知道當前狀態以後,過去不會再提供額外資訊

1. Markov 性質

1.1 定義:條件獨立,不是無記憶

離散時間的一階 Markov 性質寫成 P(Xt+1Xt,Xt1,,X0)=P(Xt+1Xt)P(X_{t+1}\mid X_t,X_{t-1},\dots,X_0)=P(X_{t+1}\mid X_t):已經知道當前狀態 XtX_t 時,為了預測下一步 Xt+1X_{t+1},更早的歷史 Xt1,Xt2,X_{t-1},X_{t-2},\dots 不再提供額外資訊。

考慮 X1X2X3X_1\rightarrow X_2\rightarrow X_3 這條依賴鏈:一般而言 X1X_1X3X_3 相關(X1⊥̸X3X_1\not\perp X_3)完全可能成立,因為影響會沿著鏈條傳導。但 Markov 性質要求 X1X3X2X_1\perp X_3\mid X_2:一旦 X2X_2 已知,再告訴我們 X1X_1,不會進一步改變對 X3X_3 的條件分佈。這叫條件獨立機率與統計 2第 4 節討論過條件分佈如何隨新資訊改變,是理解條件獨立的基礎。

1.2 用一個兩狀態例子驗證條件獨立

假設系統只有 0 和 1 兩種狀態,每一步有 90% 的機率保持原狀態、10% 的機率翻轉。若只知道 X1=1X_1=1,確實可以據此推測 X3X_31111\to1\to1 的機率是 0.9×0.9=0.810.9\times0.9=0.811011\to0\to1 的機率是 0.1×0.1=0.010.1\times0.1=0.01,兩條路徑加總,P(X3=1X1=1)=0.82P(X_3=1\mid X_1=1)=0.82,明顯不同於直接翻轉一次的機率。

但只要已經知道 X2=0X_2=0P(X3=1X2=0)=0.1P(X_3=1\mid X_2=0)=0.1;這時候即使再告訴我們 X1=1X_1=1,結果仍然是 P(X3=1X2=0,X1=1)=0.1P(X_3=1\mid X_2=0,X_1=1)=0.1,完全不變。真正被切斷的是「額外資訊」,不是過去對現在的歷史影響——過去仍然透過 X2X_2 影響 X3X_3,只是一旦 X2X_2 已知,X1X_1 就不再能補充任何東西。

2. 狀態設計決定 Markov 性

2.1 同一個系統,換一種狀態表示就能變成 Markov

考慮一個運動物體,若只用當前位置 XtX_t 當作狀態,通常不足以預測下一秒的位置,因為還需要知道速度:兩輛車當前在同一位置,一輛向東高速行駛、一輛向西高速行駛,下一秒顯然會到不同地方,所以「位置過程」本身可能不是 Markov 的。但只要把狀態擴充成 St=(Xt,Vt)S_t=(X_t,V_t),同時包含位置和速度,在簡單動力學模型裡 St+1S_{t+1} 就可能只依賴 StS_t。同一個物理系統在不同狀態表示下,可以表現為 Markov 或非 Markov,這是選擇狀態表示時最容易忽略的一步,也是建模時最常見的錯誤來源。

2.2 非 Markov 的例子與修補方式

考慮 Xt+1=Xt+Xt1+ϵtX_{t+1}=X_t+X_{t-1}+\epsilon_t:只知道 XtX_t 還無法確定下一步的條件分佈,因為 Xt1X_{t-1} 仍提供額外資訊,P(Xt+1Xt,Xt1)P(Xt+1Xt)P(X_{t+1}\mid X_t,X_{t-1})\neq P(X_{t+1}\mid X_t),這是一個簡單的非一階 Markov 過程。把狀態重新定義為 St=(Xt,Xt1)S_t=(X_t,X_{t-1}) 之後,新的狀態過程就會重新變成一階 Markov——這個技巧幾乎可以無限套用:任何 kk 階 Markov 過程,都能透過把過去 kk 步打包成一個更大的狀態,重寫成一階 Markov 形式,代價是狀態空間會隨 kk 指數成長。

3. Markov chain 與轉移矩陣

3.1 一步轉移矩陣

時間和狀態空間都離散時,得到的是 Markov chain(馬爾可夫鏈)。假設狀態空間只有 A,B,CA,B,C,一步轉移矩陣可以寫成:

P=[0.70.20.10.10.80.10.30.20.5]P= \begin{bmatrix} 0.7 & 0.2 & 0.1\\ 0.1 & 0.8 & 0.1\\ 0.3 & 0.2 & 0.5 \end{bmatrix}

第一行表示目前處於 A 時,下一步仍在 A 的機率是 0.7、轉移到 B 是 0.2、轉移到 C 是 0.1;每一行之和都等於 1,因為下一步一定會落在某個狀態上。

3.2 多步轉移:Chapman–Kolmogorov 的具體計算

若已知一步轉移矩陣 PP,任意多步以後的轉移機率就是 PP 的冪:nn 步轉移矩陣等於 PnP^n。以上面的 PP 為例,計算 P2P^2 可得從 A 出發、兩步後到 B 的機率 P(X2=BX0=A)=0.32P(X_2=B\mid X_0=A)=0.32。這個數字也可以直接用路徑加總驗證:兩步內經過 A、B、C 三種中間狀態到達 B 的機率分別是 0.7×0.2=0.140.7\times0.2=0.14(經過 A)、0.2×0.8=0.160.2\times0.8=0.16(經過 B)、0.1×0.2=0.020.1\times0.2=0.02(經過 C),三者相加正好是 0.14+0.16+0.02=0.320.14+0.16+0.02=0.32。這正是 Chapman–Kolmogorov 方程式的具體體現:多步轉移機率等於對所有可能的中間狀態,把「先到中間狀態」和「再到終點」的機率相乘後加總。一個看似複雜的長期隨機演化,因此可以完全由局部的一步轉移規則組合得到,不需要另外假設任何新規律。

4. 常見誤解與模型限制

把 Markov 性質理解成「過去和未來完全無關」是最常見的誤解:真正的意思是給定當前狀態以後,過去不再提供額外資訊,過去仍然可以透過當前狀態間接影響未來,只是它的作用已經被壓縮在 XtX_t 裡。第二個常見錯誤是狀態設計不足:很多「看起來不是 Markov」的系統,其實只是狀態選得太窄,補上缺少的資訊(例如前述例子裡的速度、或更高階的歷史)以後就能重新變成 Markov;但這也代表一階 Markov 的假設本身可以被任意「作弊」式地滿足,真正有意義的問題往往不是「能不能寫成 Markov」,而是「用多大的狀態空間才能寫成 Markov」——狀態空間過度膨脹會讓估計和計算都變得不切實際。第三個限制是轉移機率本身通常假設不隨時間改變(時間齊次),若系統的規律本身會隨時間演化,就需要額外處理時變轉移矩陣,不能直接套用 PnP^n 這個結果。

5. 小結

Markov 性質是條件獨立,不是「過去和未來無關」:給定當前狀態以後,過去對未來不再提供額外資訊,但過去的影響仍然可以沿著 X1X2X3X_1\to X_2\to X_3 這樣的鏈條傳導,只是已經被壓縮進當前狀態。一個過程是不是 Markov,取決於狀態怎麼定義,這也是 state representation 在 Markov 理論中如此核心的原因。一步轉移矩陣可以透過矩陣冪,組合出任意多步以後的轉移機率,這個性質也是接下來討論 Markov chain 長期行為——隨機過程 6:馬爾可夫鏈的長期行為裡 stationary distribution、recurrent、transient、absorbing state 與 mixing 等概念——的計算基礎。