导言
假设我们想用Python程序模拟并绘制白噪声过程 ,其中每一个 均服从独立正态分布,在绘制的图像中,横轴为 ,纵轴为 。我们将通过Python用不同的方式实现。
在运行Python程序之前,我们需要导入需要用到的包
import numpy as np
import matplotlib.pyplot as plt
# 导入分析所需要的包
方式一
代码如下:
plt.rcParams['figure.figsize'] = (10,6)
# 设置绘制图像显示比例
varepsilon_values_1 = np.random.randn(100)
# 随机生成100个服从标准正太分布的点
plt.plot(varepsilon_values_1)
plt.show()
# 绘制图像
输出结果如下:
方式一输出图方式二
方式二采用for循环构造白噪声序列,代码如下:
t = 100
varepsilon_values_2 = []
# 创建一个空列表
for i in range(t):
e = np.random.randn()
varepsilon_values_2.append(e)
# 循环获得随机数,并合并入列表
plt.plot(varepsilon_values_2)
plt.show()
# 绘制图像
输出结果如下:
方式二输出图利用白噪声序列模拟线性模型
掌握了绘制白噪声序列的方法后,我们尝试将其运用于线性模型的模拟。假设我们需要模拟以下自相关时间序列模型:
其中,,,{} 满足独立同分布(IID) 且服从正态分布。设定,。
代码如下:
alpha = 0.9
T = 200
# 设定参数
x = np.empty(T+1)
# 生成长度为T+1的空序列,用来储存x
x[0] = 0
for t in range(T):
x[t+1] = alpha * x[t] + np.random.randn()
# 用生成的随机数模拟模型
plt.plot(x)
plt.show()
# 绘制图像
自相关时间序列
网友评论