Neuromatch Academy课程内容解析:线性系统中的确定性与随机性组合
2025-07-10 07:25:07作者:姚月梅Lane
教程3:确定性与随机性的组合
本教程属于Neuromatch Academy课程"线性系统"第二周第二天的内容,主要探讨时间依赖过程中确定性与随机性相结合的系统行为。
教程目标
预计学习时间:45分钟
本教程将帮助我们理解神经科学中常见的既包含确定性又包含随机性的动态系统,具体目标包括:
- 模拟随机游走过程
- 研究Ornstein-Uhlenbeck(OU)过程的均值和方差特性
- 量化OU过程在平衡状态下的行为
理论基础
随机游走模型
随机游走是最简单的随机过程之一,可以描述许多自然现象。以一维随机游走为例:
- 初始位置x₀=0
- 每个时间步长随机选择向左(Δx=-1)或向右(Δx=+1)
- 位置更新公式:xₖ₊₁ = xₖ + Δx
这个模型可以推广到步长服从高斯分布的情况,此时步长可以取任意实数值。
Ornstein-Uhlenbeck过程
OU过程是一种均值回归的随机过程,结合了确定性趋势和随机波动:
dx = -λ(x - x∞)dt + σdW
其中:
- λ:回归速率
- x∞:长期均值
- σ:随机波动强度
- dW:维纳过程(布朗运动)
代码实现
随机游走模拟
我们可以使用NumPy高效地模拟多个随机游走轨迹:
def random_walk_simulator(N, T, mu=0, sigma=1):
"""模拟N个随机游走,每个T个时间点"""
steps = np.random.normal(mu, sigma, size=(N, T))
return np.cumsum(steps, axis=1)
可视化分析
通过绘制多个随机游走轨迹,我们可以观察到:
- 初期所有轨迹都接近起点
- 随时间推移,部分轨迹远离起点
- 多数轨迹仍保持在起点附近
# 模拟1000个随机游走,每个10000步
sim = random_walk_simulator(1000, 10000)
plot_random_walk_sims(sim, nsims=10)
统计分析
我们可以分析不同时间点的位置分布:
# 查看不同时间点的分布
for t in [1000, 2500, 10000]:
mu = sim[:, t-1].mean()
sig = sim[:, t-1].std()
plt.hist(sim[:,t-1], bins=np.arange(-300,300,20), alpha=0.6,
label=f't={t} (μ={mu:.2f}, σ={sig:.2f})')
关键发现
- 随机游走的方差随时间线性增长
- OU过程在长期会收敛到平衡分布
- 平衡分布的方差与回归速率λ和噪声强度σ相关
应用意义
这种确定性与随机性相结合的系统在神经科学中有广泛应用:
- 神经元膜电位的随机波动
- 动物觅食路径的建模
- 决策过程中的随机成分
通过本教程的学习,我们可以更好地理解神经系统中常见的混合动态系统行为,为后续更复杂的神经动力学建模打下基础。