随机过程这个名字,很容易让人觉得它是在研究某种非常复杂、会随时间随机变化的系统。名字很奇怪,虽然都叫随机,随机变量(random variable)的随机叫random,到了随机过程(stochastic process)的随机确是stochastic。变量很好理解,过程是个什么?实际上,这两个随机有某种联系,最核心的理解是:

随机过程是一族按照某个索引组织起来的随机变量\boxed{\text{随机过程是一族按照某个索引组织起来的随机变量}}

真正需要理解的,不只是这个定义,而是:为什么要把很多随机变量组织到一起,以及组织起来以后究竟研究什么?

1. 从随机变量到随机过程

1.1 从随机变量开始

概率论中都会扔骰子,一个六面的骰子,随便扔一下肯定会有一个点数,定义XX 为骰子的点数,那么 X{1,2,3,4,5,6}X\in\{1,2,3,4,5,6\}。这里的 XX 是一个随机变量(random variable)。随便扔一次,结果可能是 44 ,那么 44 是随机变量 XX 的一次具体取值。

概率论中通常用大写字母 XX 表示随机变量,用小写字母 xx 表示它的一次具体实现。这里需要区分随机变量和随机事件。例如 X>3X>3 是一个随机事件,也就是“骰子的点数大于 3”,而 XX 本身是随机变量。

  • 随机事件讨论某件事情是否发生;
  • 随机变量把随机实验的结果映射成一个取值。

1.2 从随机变量到随机向量

现在不再只扔一次骰子,而是连续扔 1000 次。为什么要连续扔1000次呢?可能是做一个测试,研究一下骰子扔1000次的规律。虽然看起来场景有些牵强,但是总是能够想象的。对于同一个骰子,可以对这1000次扔的结果做一个汇总。为了后面描述清楚,我们特意用这个单位来表示这个一下子扔1000次的实验。

定义 X1X_1 为第一次扔骰子的结果,X2X_2 为第二次的结果,一直到 X1000X_{1000}。那么 (X1,X2,,X1000)(X_1,X_2,\dots,X_{1000}) 就是一个 1000 维随机向量。一回实际实验可能得到:

(3,6,1,4,2,5,6,3,1,2,...,1)(3,6,1,4,2,5,6,3,1,2,...,1)

重新做一回实验,则可能得到完全不同的结果。这里的一回实验是指扔1000次骰子,而不是扔一次。显然,有一种结果可能如下:

实验X1X_1X2X_2X3X_3\cdotsX1000X_{1000}
实验 1361\cdots1
实验 2524\cdots2
实验 3136\cdots3
实验 4412\cdots1
\cdots...\cdots.
实验 N412\cdots1

这张表提供了一个理解随机过程非常重要的视角。竖着看一列,例如 X1X_1,看到的是“第一次扔骰子”这个随机变量在不同实验中的实现。横着看一行,看到的是整组随机变量的一次具体实现。

等等,这里似乎有点混淆。我本来是要来测试这一个骰子的扔的结果,扔了1000次。我是想要统计这1000次结果的分布。这时候你给我说,你要做N回。你研究的是每一回实验(扔1000次)的第一个结果。你这个是要干啥?

没错,如果只是统计这个骰子扔出去得到点数的分布,实际上扔1000次大约能出个结果。之前学习过概率论就会知道,在每回1000次的实验中,每次的点数是一个随机变量。我扔之前知道它可以是123456结果中的一个,但是我不扔我就不知道这一次是多少。

1.3 从随机向量到随机过程

如果只有 (X1,X2,,X1000)(X_1,X_2,\dots,X_{1000}),那么把它称为随机向量完全没有问题。其实在vae中,latent z就是一个随机向量。

但如果继续扩展成 X1,X2,X3,X_1,X_2,X_3,\dots,甚至允许索引连续变化,例如 Xt, t0X_t,\ t\ge0,普通有限维随机向量就不再足够描述它。因此数学上通常写成:

{Xt}tT(1)\boxed{\{X_t\}_{t\in T}} \tag{1}

其中 XtX_t 是随机变量,tt 是索引,TT 是索引集合。式 (1) 就是随机过程最基本的数学表示。如果 T={0,1,2,}T=\{0,1,2,\dots\},它是离散时间随机过程;如果 T=[0,)T=[0,\infty),则是连续时间随机过程。因此可以粗略理解为:

随机变量随机向量随机过程\text{随机变量}\rightarrow\text{随机向量}\rightarrow\text{随机过程}

随机过程可以看成随机向量向无限维或连续索引的推广。

2. 如何理解索引与样本

2.1 为什么索引通常是时间

随机过程中的下标通常写成 tt,因为很多随机过程描述的是时间演化。

例如 XtX_t 可以表示第 tt 天的温度、时刻 tt 的股票价格,或者随机游走第 tt 步的位置。

tt 并不一定必须表示物理时间,它也可以表示第几个 simulation step、第几代、第几次采样等。因此真正重要的不是“时间”,而是:

这一族随机变量之间存在一个有意义的索引结构。

2.2 随机过程不是一条曲线

假设某个随机过程一次实际运行得到:

0 → 1 → 2 → 1 → 0 → -1 → 0 → ...

这条轨迹并不是随机过程本身,而只是随机过程的一次实现(realization),也称为 sample path。 就前面扔1000次骰子的实验来说,一次实现就是一回实验,就是扔1000次骰子。

再来一个简单随机游走,可以写成:

Xt+1=Xt+ϵt+1X_{t+1}=X_t+\epsilon_{t+1}

其中 ϵt\epsilon_t 以相同概率取 +1+11-1。一次可能得到 0 → 1 → 2 → 1 → 0,另一次可能得到 0 → -1 → 0 → 1 → 2。这些都是不同的 sample path。

随机过程本身描述的是:

所有可能的样本路径,以及这些路径背后的概率规律\boxed{\text{所有可能的样本路径,以及这些路径背后的概率规律}}

这和随机变量完全类似:骰子这一次扔出 4,并不意味着随机变量 XX 就是“4”;4 只是一次实现。

2.3 固定时间和固定实验

随机过程有时会更严格地写成 X(t,ω)X(t,\omega),其中 tt 表示索引,ω\omega 表示一次随机实验的结果。这个写法其实就是前面那张表格的数学版本。

如果固定 tt,让 ω\omega 改变,那么 X(t,ω)X(t,\omega) 是一个随机变量。ω\omega 其实是某个分布的参数,也就是说:

固定一个时间点,看不同实验可能得到什么。

如果固定某一次实验 ω0\omega_0,让 tt 改变,那么 X(t,ω0)X(t,\omega_0) 就是一条 sample path。因此:

固定 t:得到随机变量;固定 ω:得到样本路径\boxed{\text{固定 }t\text{:得到随机变量;固定 }\omega\text{:得到样本路径}}

3. 从标量过程到随机场

3.1 随机过程中的 XtX_t 不一定是一个数

初等例子里 XtX_t 经常表示温度、价格或一维位置,所以容易让人以为 XtX_t 必须是一个标量。实际上完全没有这个要求。

例如二维随机游走中,Xt=(xt,yt)X_t=(x_t,y_t),此时 XtX_t 本身就是一个二维随机向量。也可以进一步定义 Xt=(xt,vt,at)X_t=(x_t,v_t,a_t),用一个状态同时表示位置、速度和加速度。因此,随机过程中的每个 XtX_t 本身完全可以是高维随机变量。

3.2 从随机过程到随机场

不仅随机变量本身可以增加维度,索引也可以增加维度。例如一张黑白图片,可以定义 Xi,jX_{i,j} 为图像第 (i,j)(i,j) 个位置的像素值,那么 {Xi,j}\{X_{i,j}\} 就是一个二维索引的随机对象,通常称为随机场(random field)。哈哈哈,这里的随机又回到了random了。

奇怪!现在的黑白图像明明是确定的像素呀,为什么还要弄一个随机的像素值呢?确实,那这里用来描述噪声吧。由于电子元器件本身物理特性,图像传感器都是有噪声,有些结果测试不准确,会有一定随机性,这种随机性我们用随机变量来描述。

如果是 RGB 彩色图片,可以写成 Xi,j,cX_{i,j,c}。如果再考虑视频,则可以写成Xt,i,j,cX_{t,i,j,c},其中分别表示时间、高度、宽度和颜色通道。因此可以形成一个统一理解:

对象表示索引结构
随机变量XX无额外索引
随机过程XtX_t一维索引
二维随机场Xi,jX_{i,j}二维索引
高维随机场Xt,i,j,cX_{t,i,j,c}多维索引

它们背后的思想其实一致:

用索引集合标记一族随机变量\boxed{\text{用索引集合标记一族随机变量}}

4. 随机过程研究变量之间的关系

到这里会出现一个很自然的问题:

如果随机过程只是一族随机变量,为什么还需要专门研究它?

原因在于,我们真正感兴趣的不只是每个 XtX_t 自己是什么分布,而是不同 XtX_t 之间是什么关系。

例如:

  • XtX_tXt+1X_{t+1} 是否相关?
  • 知道 XtX_t 后,能否预测 Xt+1X_{t+1}
  • 更早的 Xt1,Xt2X_{t-1},X_{t-2} 是否还能提供额外信息?
  • 增量 Xt+hXtX_{t+h}-X_t 是否独立?
  • 随着两个时间点越来越远,它们的相关性是否逐渐衰减?

因此,随机过程并不要求 X1,X2,X_1,X_2,\dots 独立同分布。

它们可以独立,也可以相关;可以同分布,也可以随着时间改变分布。

随机过程理论真正研究的是这些随机变量之间的联合结构和依赖关系。这些结构和关系是我们在自然界中先观察,然后推导出来的。

5. 小结

n 随机过程最基本的数学形式就是式 (1):

{Xt}tT\{X_t\}_{t\in T}

其中每一个 XtX_t 都是随机变量。如果只记住一个直觉,可以记成:

随机过程 = 一族按照某种索引组织起来的随机变量(2)\boxed{\text{随机过程 = 一族按照某种索引组织起来的随机变量}} \tag{2}

而一次实际观察到的 x0,x1,x2,x_0,x_1,x_2,\dots,只是随机过程的一条 sample path。

从随机变量到随机场,可以理解为索引结构不断扩展:

随机变量随机向量随机过程随机场\text{随机变量} \rightarrow \text{随机向量} \rightarrow \text{随机过程} \rightarrow \text{随机场}

真正让随机过程成为一门独立学科的,并不是“随机变量变多了”,而是这些随机变量之间存在怎样的联合分布和依赖结构。

因此下一节真正需要回答的问题是:

如果我们已经知道每一个 XtX_t 自己的概率分布,是不是就已经知道整个随机过程了?

答案是否定的。

要描述随机过程真正的概率结构,我们还需要进一步讨论联合分布、协方差、自相关和依赖关系