使用python实现画AR模型时序图

yipeiwu_com6年前Python基础

背景:

用python画AR模型的时序图。

结果:

代码:

import numpy as np
import matplotlib.pyplot as plt
"""
AR(1)的时序图:x[t]=a*x[t-1]+e
"""
num = 2000
e = np.random.rand(num)
x = np.empty(num)
 
"""
平稳AR(1)
"""
a = -0.5
x[0] = 2
for i in range(1,num):
 x[i] = a*x[i-1]+e[i]
plt.subplot(321,title = "AR({0}):x[t]={1}*x[t-1]+e".format(1,a))
plt.plot(x,"or")
 
"""
非平稳AR(1)
"""
a = -1.01
x[0] = 2
for i in range(1,num):
 x[i] = a*x[i-1]+e[i]
plt.subplot(322,title = "AR({0}):x[t]={1}*x[t-1]+e".format(1,a))
plt.plot(x,".b")
 
"""
平稳AR(2)
"""
a = -0.2
b = 0.7
x[0] = 2
for i in range(2,num):
 x[i] = a*x[i-1]+b*x[i-2]+e[i]
plt.subplot(323,title = "AR({0}):x[t]={1}*x[t-1]+{2}*x[t-2]+e".format(2,a,b))
plt.plot(x,"og")
 
"""
非平稳AR(2)
"""
a = -0.3
b = 0.8
x[0] = 2
for i in range(2,num):
 x[i] = a*x[i-1]+b*x[i-2]+e[i]
plt.subplot(324,title = "AR({0}):x[t]={1}*x[t-1]+{2}*x[t-2]+e".format(2,a,b))
plt.plot(x,".y")
 
"""
非平稳AR(2)
"""
a = -0.2
b = 0.8
x[0] = 2
for i in range(2,num):
 x[i] = a*x[i-1]+b*x[i-2]+e[i]
plt.subplot(313,title = "AR({0}):x[t]={1}*x[t-1]+{2}*x[t-2]+e".format(2,a,b))
plt.plot(x,"+",color="purple")
 
plt.show()

以上这篇使用python实现画AR模型时序图就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyTorch实现ResNet50、ResNet101和ResNet152示例

PyTorch实现ResNet50、ResNet101和ResNet152示例

PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks import torch import torch.nn...

django中账号密码验证登陆功能的实现方法

django中账号密码验证登陆功能的实现方法

今天分享一下django的账号密码登陆,前端发送ajax请求,将用户名和密码信息发送到后端处理,后端将前端发送过来的数据跟数据库进行过滤匹配,成功就跳转指定页面,否则就把相对应的错误信息...

python try except 捕获所有异常的实例

如下所示: try: a=1 except Exception as e: print (e) import traceback import sys try: a = 1...

在Python中使用gRPC的方法示例

在Python中使用gRPC的方法示例

本文介绍了在Python中使用gRPC的方法示例,分享给大家,具体如下: 使用Protocol Buffers的跨平台RPC系统。 安装 使用 pip pip install gr...

pytorch使用Variable实现线性回归

pytorch使用Variable实现线性回归

本文实例为大家分享了pytorch使用Variable实现线性回归的具体代码,供大家参考,具体内容如下 一、手动计算梯度实现线性回归 #导入相关包 import torch as...