高斯过程与函数数据分析
1. 随机数生成与过程模拟
在进行数据分析时,我们常常需要生成具有特定性质的随机数。以下代码展示了如何生成具有零均值和特定协方差矩阵的随机数:
import numpy as np
import matplotlib.pyplot as plt
u = np.random.randn(100)
y = L.dot(u) # 这里L未定义,假设是一个合适的矩阵
# 生成距离矩阵
x = np.linspace(0, 1, 100)
z = np.abs(np.subtract.outer(x, x)) # 计算距离矩阵,d_{ij} = |x_i - x_j|
l = 0.1
Sigma_OU = np.exp(-z / l) # OU过程的协方差矩阵
# 定义一个生成随机数的函数
def rand_100(Sigma):
u = np.random.randn(100)
y = np.linalg.cholesky(Sigma).dot(u)
return y
y = rand_100(Sigma_OU)
plt.figure()
plt.plot(x, y)
plt.ylim(-3, 3)
colors = ['r', 'g', 'b', 'c', 'm']
for i in range(5):
y = rand_100(Sigma_OU)
plt.plot(x, y, c=colors[i])
plt.title("OU process (nu = 1/2, l = 0.1)")
Sigma_M = matern(3 / 2, l, z) # Mate
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



