☰
平稳随机过程核心概念:严平稳与宽平稳、自相关函数与工程应用
2026/10/16 20:03:24 网站建设 项目流程

如果《随机过程》这套系列你已经看到了第(三)篇,说明你已经越过随机变量那个"静态关口",开始接触真正随时间和状态变化的"动态世界"了。平稳随机过程这五个字,是通信、信号处理、金融数据分析里绕不开的核心概念。通俗地讲,平稳随机过程就是一类统计特性不随时间起点改变而改变的随机过程——你在任何一段时间里观测到的数据,测出的均值、方差、相关结构,都能代表这个过程的整体行为。这篇内容承上启下:前面随机变量的知识会在这里"动起来",后面功率谱密度、线性系统响应、信号检测与估计全都从这里出发。无论你是正在啃专业课的学生,还是工作中需要处理实测数据的工程师,只要想搞懂"数据为什么稳定"以及"怎么利用这种稳定",这篇文章都能给你一套完整的思路。

1. 平稳随机过程到底在讲什么

1.1 严平稳:整个概率分布在时间面前"纹丝不动"

我先从最严格的定义说起。一个随机过程 X(t),如果对于任意的时间平移 τ,它的任意有限维分布都保持不变,就说它是严平稳的。换句话说,你记录 X(1)、X(2)、X(3) 这三个时刻的联合分布,和 X(5)、X(6)、X(7) 的联合分布完全一样,不管时间怎么平移,概率分布的形状都不变。

这个概念理论上很美,但说实话,实际工程里几乎没人去验证"任意有限维分布"这件事。因为完整概率分布需要无穷多个参数才能刻画,你根本没法从有限数据里全都测出来。所以严平稳更多是理论分析的起点,构建模型时的一个理想化假设。就像物理里说"光滑平面",现实中不存在,但你先假设它存在,摩擦力算起来才方便。

1.2 宽平稳:一阶矩和二阶矩说了算

工程和统计里真正天天用的是宽平稳(也叫弱平稳或广义平稳),它只约束一阶矩和二阶矩,条件比严平稳宽松得多:

  • 均值恒定:E[X(t)] = μ,是一个不随时间变化的常数;
  • 自相关函数只依赖时间差:R_X(t₁, t₂) = E[X(t₁)X(t₂)] = R_X(τ),其中 τ = t₂ - t₁;
  • 二阶矩有限:E[X²(t)] < ∞,也就是方差是有限值。

你可以把宽平稳理解为"过程的外在统计形态稳定"。均值不漂移、相关结构只和两个时刻的间隔有关,至于更高阶的分布长什么样,宽平稳根本不关心。

1.3 严平稳和宽平稳的关系:不是谁包含谁的故事

教科书上最容易被考到、也最容易被绕晕的,就是这两者的关系。直接给结论:

  • 严平稳 + 二阶矩存在 → 一定是宽平稳;
  • 宽平稳 → 不一定是严平稳,因为均值方差一样不代表整个分布一样;
  • 但有一个特例:高斯过程。高斯分布被均值和方差完全决定,所以高斯意义下的宽平稳自动升级成严平稳。

打个生活化的比方。严平稳像是一个人整个性格都很稳定,任何场合下的反应都一致;宽平稳像是只要他在公司里工作时长和状态稳定就行,至于他周末在家的表现,无所谓。而高斯过程的宽平稳之所以能自动变成严平稳,是因为高斯分布这个"人格模型"本身就只有两个参数,均值方差稳了,整个人格就稳了。

1.4 为什么要区分这两种定义

区分它们不是考试考纲逼的,而是实际操作决定的。你要验证严平稳,必须确认所有阶的联合分布,这在数据里基本做不到。宽平稳只需要检查均值和自相关函数,这两个量都有成熟的样本估计方法,用数据能直接算。所以你会发现,通信、控制、信号处理里的"平稳"默认指宽平稳;真正做时间序列建模时,你检验的也是宽平稳。

还有一个容易被忽略的细节:宽平稳只用到二阶矩,可很多自然的随机过程是"厚尾"的,二阶矩可能不存在,比如某些金融收益序列。这时候你还硬套宽平稳框架,算出来的自相关函数本身都没有统计意义。遇到这种情况,要么做变换压缩尾部,要么转用更稳健的非参数方法。

2. 平稳性的价值:从各态历经到功率谱

2.1 各态历经性:用一个样本看全集

这是平稳随机过程里最"救命"的性质。理论上随机过程是所有样本函数的集合,你观测到的只是一条样本曲线。如果每次只能看到一条曲线,那怎么估计整个过程的均值?答案就是各态历经性——当时间趋于无穷时,一条样本函数的时间平均值以概率1收敛于过程的统计平均值。

满足各态历经的平稳过程,你可以光明正大地用"一条时间序列"去估计均值、方差、自相关函数。这就是为什么所有信号处理书里都在大量使用时间平均。比如测一个稳压电源的噪声电压,你不需要同时开一百台电源取统计平均,盯着一台测足够长时间,时间平均就是它的统计平均。

2.2 自相关函数的三个性格

自相关函数是平稳过程最重要的"画像",它有三个性质你必须烂熟:

第一,偶对称性:R(τ) = R(−τ),自相关函数是关于τ=0的偶函数,只看正半边就够了。

第二,最大值在原点:|R(τ)| ≤ R(0),而 R(0) = E[X²(t)] 就是过程的均方值。这个性质非常直观——一个随机信号和自己最"相关",时间差越大,相关程度一般越弱。

第三,非负定性:自相关函数是正定的,这是它能对应到功率谱密度的数学基础。如果某个函数让你随便画,画出来不是非负定,那它一定不是某个平稳过程的自相关函数。

实际应用里,R(∞) 的趋势也很有信息量。如果 R(τ) 在 τ→∞ 时趋向 μ²,说明过程里存在一个直流分量;如果趋向0,说明过程不含确定性直流成分。这在信号检测里是用来判断数据里是否埋着一个常值偏置的常用手段。

2.3 维纳-辛钦定理:时域和频域的一座桥

平稳随机过程的功率谱密度 S_X(f) 和自相关函数 R_X(τ) 互为傅里叶变换对,这就是维纳-辛钦定理。它把"时域相关性"和"频域功率分布"绑定在了一起:自相关函数衰减越快,功率谱越宽;自相关函数衰减越慢,功率谱越窄。

这个定理的实际含义是巨大的。通信系统里的带宽、噪声分析、滤波器设计,几乎全都建立在功率谱概念之上。白噪声的自相关是δ函数,功率谱是常数,所以它"均匀地"分布在所有频率上;一个缓慢变化的信号,自相关拖得很长,功率谱就集中在低频。你做完一段数据的功率谱估计,本质上就是在测量它的自相关结构。

我建议你把这个定理当作"桥梁"来记:时域看不懂的数据,变换到频域看功率谱;频域算不清楚的地方,回到时域算自相关。两个域互相验证,是工程里排查问题的重要思路。

3. 实操:如何判断一组数据是不是平稳的

3.1 第一关:目测法和简单的统计检验

拿到一段数据,第一步永远是肉眼先看。画出时间序列,观察均值有没有明显漂移、方差有没有周期性或者递增趋势。如果曲线整体在一条水平线附近上下波动,振幅也比较均匀,初步可以判定是"视觉平稳"的;如果曲线有明显的上升趋势,或者有分段跳跃,那基本可以断定非平稳。

目测完再做定量验证。最朴素的做法是分窗对比:把数据切成几段,分别算每段的均值和方差,比较它们之间的差异是否只在正常波动范围内。这个方法简单粗暴,但非常有效,很多工程现场就是用这个快速筛查。

如果要更严谨,现在主流做法是单位根检验,比如 ADF 检验。它的原假设是"序列存在单位根(非平稳)",如果 p 值小于显著水平(比如0.05),就拒绝原假设,认为序列是平稳的。需要注意的是,ADF 检验对样本长度敏感,数据太短的时候检验功效很低,会出现"假拒绝"的误判。

3.2 用 Python 快速算自相关函数

我建议所有学这块内容的人,都亲手写一次自相关估计,不要只调现成库。核心逻辑很简单:

import numpy as np def estimate_autocorr(x, max_lag=20): mu = x.mean() n = len(x) xc = x - mu out = np.zeros(max_lag + 1) # 无偏估计:除以 n - k for k in range(max_lag + 1): out[k] = np.sum(xc[:n-k] * xc[k:]) / (n - k) # 归一化:除以 R(0),方便看趋势 out = out / out[0] return out

这里有一个细节值得反复强调:除以 n−k 是无偏估计,但 k 越接近 n 的时候,参与计算的数据对越少,方差会非常大;除以 n 是有偏估计,但整体方差更稳定。教科书上常用无偏公式做理论推导,实际代码里反而更推荐除以 n 的那个版本,因为我吃过亏:算长延迟的自相关时,无偏估计在尾部会出现锯齿状的巨大抖动,图像很难看,也容易误导判断。

3.3 常见陷阱:随机游走和伪平稳

随机游走是判断平稳性时最经典的陷阱。比如你看到一段数据上下波动但没有明显趋势,很可能会觉得它平稳,但实际上随机游走一阶差分 X(t)−X(t−1) 是白噪声,X(t) 本身的方差却随时间线性增长。它根本没有稳定在一个水平上,属于典型的非平稳过程。

另一个伪平稳例子是分段平稳:数据在前一半均值是0,后一半均值跳到10,每段内部都平稳,但整体不平稳。如果你直接算整段数据的自相关函数,会看到相关值衰减得很慢,误以为是长记忆过程,其实只是因为均值跳变了。先做分段目测,再加 ADF 检验,基本能规避这个坑。

4. 平稳随机过程在工程里的真实应用

4.1 通信系统:噪声和信号的建模基础

通信原理里几乎所有噪声建模都站在平稳随机过程之上。接收机热噪声通常被建模为宽平稳的白噪声过程,它的功率谱密度在目标带宽内近似恒定,自相关在非零时延处几乎为零。这个模型之所以好用,是因为可以计算信噪比、误码率、滤波器输出噪声功率,而这些都是平稳框架下的标准操作。

信号检测里的匹配滤波器,其设计依据就是假设信号是确定性信号叠加平稳噪声。噪声的统计特性不变,信号检测器才能先验地定出判决门限。你稍微想象一下,如果噪声的方差随时间剧烈变化,误码性能就根本没有办法稳定预测,整个系统设计就会变成一锅粥。

4.2 信号处理里的"局部平稳"

现实中很多信号并不是全局平稳的,比如语音。一句话的响度和音调一直在变,方差随时变化,严格平稳无从谈起。但语音处理领域的通行做法是"短时平稳"假设——把信号切成长度20到50毫秒的帧,在每一帧内认为它是平稳的。因为人的发声器官在一个很短的时间窗内基本不变,帧内信号可以用平稳模型处理。

这套思路扩展到音乐处理、机械振动监测、生物医学信号分析里也一样。轴承振动的故障信号,转速变化时频率也跟着变,但你截取一个很短的时间段,转速近似恒定,就能用平稳方法来估计功率谱和特征频率。我做工程时,遇到非平稳第一反应不是放弃平稳方法,而是想"这段数据能不能拆成若干段局部平稳"。

4.3 时间序列分析里的平稳化操作

金融领域的收益率序列常被近似看作宽平稳,但价格序列通常非平稳。原因是价格序列往往带有一个随机游走的成分,方差随时间增长,均值也不稳定。建模之前要做操作:最常见的三种是差分、对数变换、去趋势。

差分是消除趋势和单位根的标准手段,一阶差分能把随机游走变回平稳序列;对数变换可以压缩方差和幅度之间的比例关系,让数据更像正态分布;去趋势则是先拟合一个确定性趋势,再研究去掉趋势后的残差。我记得曾经处理过一组实测振动数据,原始信号带很强的温度漂移,直接做自相关估计得到的是衰减极慢的形状,差点被误判为长记忆过程,后来做了线性去趋势,真正的周期性特征才显现出来。

5. 常见问题与排查技巧实录

5.1 均值估计为什么总是"飘"

很多同学做实验时发现,一段数据的均值在不同时间段算出来不一样,怀疑过程是否平稳。这里有个陷阱:如果过程满足各态历经性,时间平均确实收敛到统计均值,但收敛速度取决于自相关的衰减速度。自相关衰减慢的过程,有效样本数比实际采样点数小得多,均值估计的方差大,看起来自然"飘"。

解决办法是先计算自相关函数,估计相关时间,再看观测时长是否远大于相关时间。如果观测时长只有相关时间的几倍,那均值估计不稳定是正常的,不是过程出了问题。

5.2 自相关函数在零点附近有什么异常

自相关函数 R(0) 应该是整个函数的最大值,归一化后 R(0)=1。但实测归一化自相关时,经常出现 R(0) 附近出现一个尖峰,而两侧马上掉下去,同时 R(0) 比相邻值突兀很多。这往往意味着数据里混入了测量噪声——噪声在每个采样点独立,所以只在零延迟处贡献相关。

这个现象其实是个"指路标":杂散尖峰可以让你估计噪声和信号的比例。如果尖峰特别高,说明信号被噪声污染得厉害;如果噪声是白的,你还能从 R(0) 与 R(0+) 的差值大致反推信噪比。

5.3 功率谱估计为什么毛刺多

直接从数据做傅里叶变换再取模平方得到功率谱,叫周期图法,频率分辨率高,但方差大得惊人——相邻频率点之间的抖动幅度几乎跟谱值本身一个量级。解决办法是分段平均,每段各自做谱估计再取平均,方差能降下来,代价是频率分辨率变差。这就是巴特利特法和韦尔奇法的基本思想。

此外,加窗也是必须的。直接截断数据相当于加了矩形窗,会在频谱里引入旁瓣泄漏。选择汉宁窗或者汉明窗能明显降低旁瓣,代价是主瓣稍微变宽。实际做谱分析时,我会权衡分辨率和平滑度:频率分辨需要高就少分几段,方差大就多分几段加窗,没有一劳永逸的参数。

5.4 非平稳数据怎么办:差分、去趋势、分段处理

这是工程中最高频的问题。我的建议按顺序来:先目测检查数据里有没有确定性趋势,有就去趋势;如果趋势不明显但方差明显变化,尝试方差稳定变换,比如对数变换;如果数据看起来随机游走,做一阶差分再检验;如果整段数据没法统一建模,就分段处理,在每一段内套用平稳方法。

一定要警惕过度差分。很多时候一阶差分就够了,二阶差分会把数据变成过度平滑的低频成分缺失,反而丢信息。判断标准化:差分后数据有没有变成宽平稳,用 ADF 检验辅助确认。做一次差分不平稳,再考虑二阶;一阶就已经平稳,就到此为止。

6. 学习建议:这一章之后怎么走

6.1 和后续章节的衔接

平稳随机过程是整门课的"承重墙",后面的功率谱密度估计、线性系统通过随机过程、维纳滤波和卡尔曼滤波,全部要站在平稳假设上。学这一章时,我建议重点掌握宽度平稳条件下自相关函数和功率谱密度的关系,因为这直接关系到你在频域里做的每一个操作。

线性系统那一章会非常依赖这里的内容:输入是平稳过程,通过线性时不变系统,输出也是平稳过程,输出自相关等于输入自相关与系统冲激响应的双重卷积。这条链如果现在搭不起来,后面各种滤波器推导你会看得很痛苦。

6.2 我个人踩过的坑

说实话,我刚开始学这块时,最大的误区是死抠严平稳和宽平稳的逻辑关系,浪费了大量时间。后来做实际信号分析才明白:工程里默认宽平稳,检验宽平稳,用完整个框架之后,如果结果和物理直觉对得上,问题就不大。理论咬文嚼字留给考试,实操里抓住均值、自相关、功率谱这三个核心量,比什么定义都管用。

还有一个小技巧分享:遇到拿不准的数据,先画时间序列图,再画自相关图,最后做 ADF 检验,这三步走完之后,再决定要不要用平稳模型。这套流程我用了很多年,几乎没有出过大偏差。

我自己后来的体会是,平稳随机过程不是"世界的真实状态",而是一种为了建模方便而采用的假设和分析框架。数据是复杂的、非平稳的,但只要你合理地分段、去趋势、或者接受局部平稳,这套框架就能给你提供非常强大的分析工具。把自相关当作过程的"记忆",把功率谱当作过程的"能量分布",你在信号处理和数据分析里就能少走很多弯路。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询