恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
平稳随机过程核心概念:严平稳与宽平稳、自相关函数与工程应用
首页
资讯中心
/
平稳随机过程核心概念:严平稳与宽平稳、自相关函数与工程应用
平稳随机过程核心概念:严平稳与宽平稳、自相关函数与工程应用
发布时间:2026/10/16 20:03:46
如果《随机过程》这套系列你已经看到了第三篇说明你已经越过随机变量那个静态关口开始接触真正随时间和状态变化的动态世界了。平稳随机过程这五个字是通信、信号处理、金融数据分析里绕不开的核心概念。通俗地讲平稳随机过程就是一类统计特性不随时间起点改变而改变的随机过程——你在任何一段时间里观测到的数据测出的均值、方差、相关结构都能代表这个过程的整体行为。这篇内容承上启下前面随机变量的知识会在这里动起来后面功率谱密度、线性系统响应、信号检测与估计全都从这里出发。无论你是正在啃专业课的学生还是工作中需要处理实测数据的工程师只要想搞懂数据为什么稳定以及怎么利用这种稳定这篇文章都能给你一套完整的思路。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_lag20): 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 检验这三步走完之后再决定要不要用平稳模型。这套流程我用了很多年几乎没有出过大偏差。我自己后来的体会是平稳随机过程不是世界的真实状态而是一种为了建模方便而采用的假设和分析框架。数据是复杂的、非平稳的但只要你合理地分段、去趋势、或者接受局部平稳这套框架就能给你提供非常强大的分析工具。把自相关当作过程的记忆把功率谱当作过程的能量分布你在信号处理和数据分析里就能少走很多弯路。