【VAR

2023-10-27

以美国 GDP 和通货膨胀数据为例:

1. 数据集

下载数据我们需要从 FRED 数据库下载美国 GDP 和通货膨胀数据,并将它们存储在 CSV 文件中。可以在 FRED 网站(https://fred.stlouisfed.org/)搜索并下载需要的数据。在这里,并且将它们命名为 ‘gdp.csv’ 和 ‘inflation.csv’。

在这里插入图片描述
网站为:

https://fred.stlouisfed.org/

在这里插入图片描述

  • 在搜索栏中输入 ‘GDP’ 并按下回车键,在结果列表中选择 ‘Gross Domestic Product’。
  • 在搜索栏中输入 ‘CPIAUCSL’ 并按下回车键,在结果列表中选择 ‘Consumer Price Index for All
    Urban Consumers: All Items in U.S. City Average’.

注意数据保存为csv格式:

在这里插入图片描述

2. 合并数据集

需要使用 pandas 读取这些 CSV 文件并合并它们。以下是示例代码:

import pandas as pd
# 读取 GDP 和通货膨胀数据
gdp = pd.read_csv('./data/gdp.csv', index_col = 'DATE', parse_dates = True)
inflation = pd.read_csv('./data/inflation.csv', index_col = 'DATE', parse_dates = True)

# 合并数据
data = pd.concat([gdp, inflation], axis=1, join='inner')
data.columns = ['GDP', 'Inflation']

在这里,我们使用 pd.read_csv() 方法读取 GDP 和通货膨胀数据。

我们将它们存储在 gdp 和 inflation 变量中,并使用 pd.concat() 方法将它们合并为一个数据框。

我们还使用 join=‘inner’ 参数来确保只包括同一时间段中的数据,并使用 data.columns 属性为列指定新的名称。

3. 模型使用

接下来,需要使用 VAR() 方法创建 VAR 模型对象。以下是示例代码:

from statsmodels.tsa.api import VAR
model = VAR(data)

在这里,我们使用 Statsmodels 库的 VAR() 方法来创建 VAR 模型对象。我们将合并的数据传递给 VAR() 方法。

然后,我们需要使用 fit() 方法拟合 VAR 模型。以下是示例代码:

results = model.fit(maxlags=2, ic='aic')
results.summary()

在这里,我们使用 fit() 方法拟合 VAR 模型,并指定最大滞后阶数为 2。我们还使用 ic=‘aic’ 参数选择 AIC 准则进行模型选择。最后,我们使用 summary() 方法输出模型参数。

4. 预测

最后,我们可以使用 forecast() 方法进行预测,并使用 plot() 方法将预测结果可视化。以下是示例代码:

import matplotlib.pyplot as plt
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)

lag_order = results.k_ar
forecast_input = data.values[-lag_order:]
forecast = results.forecast(forecast_input, steps=12*3)
# 将预测结果可视化
forecast_index = pd.date_range(data.index[-1], periods=12*3, freq='M')
forecast_df = pd.DataFrame(forecast, index=forecast_index, columns=['GDP', 'Inflation'])
data.plot(figsize=(12, 6), legend=True)
forecast_df.plot(figsize=(12, 6), legend=True)
plt.xlabel('Time')
plt.ylabel('percent')
plt.show()

在这里插入图片描述
在这里插入图片描述
在这里,我们使用 forecast() 方法预测未来三年(36个月)的 GDP 和通货膨胀。然后,我们使用 plot() 方法将实际数据和预测结果可视化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【VAR 的相关文章

随机推荐

  • vsCode 配置记录

    目录 1 import路径提示 2 按住ctrl点击鼠标 进入指定的文件 3 中文包安装 4 自定义函数和文件注释 4 1 快捷键不生效的处理办法 5 scss css id全局提示 5 1 scss变量 函数等全局提示 5 2 css i
  • Flutter 设置状态栏statusbar的背景颜色和文字颜色

    今天介绍如何设置状态栏的颜色和文字的颜色 本文采用通过在appbar里面的一个参数来设置 方法如下 可以定义一个基类 在基类之中进行整体的设定 也可以暴露方法 动态设置核心就是两行 很简单 return MaterialApp debugS
  • nginx负载配置,文件大小限制

    2019独角兽企业重金招聘Python工程师标准 gt gt gt user nobody worker processes 1 error log logs error log error log logs error log notic
  • Spring Data 与MongoDB 集成一:入门篇(开发环境搭建和简单CRUD)

    一 简介 SpringData 项目提供与MongoDB文档数据库的集成 二 SpringData 与MongoDB 配置及对应Jar包 1 安装mongodb 数据库 请查考 待补充 2 下载spring data 关联两个子项目 spr
  • 洛谷千题详解

    博主主页 Yu 仙笙 专栏地址 洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析 C 源码 C 源码2 C 源码3 Pascal源码 Java源码
  • 设计模式--介绍

    一 什么是设计模式 设计模式 Design pattern 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 使用设计模式是为了可重用代码 让代码更容易被他人理解 保证代码可靠性 毫无疑问 设计模式于己于他人于系统都是多赢
  • 软件开发的4种模型和4种方法

    软件开发模型 1 瀑布模型 适合需求明确的软件开发 2 演化模型 获取一组基本需求 快速给出版本 成为原型 用于对软件需求缺乏准认知的情况 不需要明确的需求 3 螺旋模型 结合瀑布模型和演化模型 综合两者优点 并增加风险分析 螺旋模型包括四
  • java base64转字图片、图片转base64字符串

    实现代码如下 Slf4j public class Base64ToFileImageTools base64字符串转化成图片 param imgData 图片编码 param imgFilePath 存放到本地路径 return thro
  • 2021 全球人工智能技术创新大赛 医学影像报告异常检测 TOP4方案

    2021 全球人工智能技术创新大赛 医学影像报告异常检测 TOP4方案 1 写在前面 在本次全球人工智能技术创新大赛赛道一的比赛中 我们团队水煮毛血旺以初赛第三 复赛第四的成绩进入了决赛 最终决赛排名第四 本文主要想记录一下这次比赛的方案以
  • docker创建python、jdk环境并保存镜像,运行容器

    在本地任一台可联网服务器上 创建容器 1 首先确定系统的版本 拉取镜像 docker pull centos 7 4 1708 2 创建容器 docker run i t centos 7 4 1708 bin bash 3 在容器中安装所
  • Quartus18.1 lite免费教育版下载及安装

    目录 一 下载 1 首先注册intel官网账号 2 进入下载界面找到Quartus18 1教育版 3 下载项目 二 安装 一 下载 intel官网 www intel cn 1 首先注册intel官网账号 随便在官网注册个账号 国内的邮箱也
  • 如何快速做一个微信自动拉群机器人 足够简单 足够粗暴

    wechaty 首先 wechaty了解一下 文档链接 https docs chatie io v zh 只需要6行代码 你就可以通过个人号搭建一个微信机器人功能 用来自动管理微信消息 是不是很简单很粗暴 const Wechaty re
  • STM32 HAL库 时钟芯片RX8025T IIC的读写操作,入过的坑

    我使用STM32本身的IIC外设 与时钟芯片RX8025T进行通信 时钟芯片RX8025特点 高精度 据说每个月时钟误差在1秒以内 做流量计这些需要精密控时的东西 完全够用了 一 时钟芯片RX8025T简单说明 重要 RX8025芯片有二种
  • 图论模型(Dijkstra算法和Floyd算法)

    图论模型 图论模型 Dijkstra算法 概念 带权邻接矩阵 代码 操作 Floyd算法 概念 代码 操作 Dijkstra算法 概念 Dijkstra算法能求一个顶点到另一顶点最短路径 它是由Dijkstra于1959年提出的 实际它能给
  • C++之获取网卡物理地址(MAC)

    ConsoleApplication1 cpp 定义控制台应用程序的入口点 include stdafx h include
  • QT5.15离线安装

    在线安装后 将所有的资源打成压缩包 拷贝至另外一台电脑 进行如下设置 1 解压 2 进入路径 QT Tools sdktool share qtcreator QtProject 3 修改QtCreator ini 将所有的绝对路径修改为实
  • 搜狐新闻算法原理

    转载 搜狐新闻推荐算法原理 导读 在当前这个移动互联网时代 各种信息内容爆炸 面对海量数据 用户希望在有限的时间和空间内 找到自己感兴趣的内容 这就是推荐需要解决的问题 接下来主要讲解新闻推荐的算法原理 01 新闻推荐算法架构 新闻算法的核
  • Python招聘网站爬虫:从招聘网站获取职位信息进行职位搜索和分析的完整指南

    目录 1 简介 1 1 什么是招聘网站爬虫 1 2 爬虫的法律和道德问题 2 准备工作
  • 第二个重要极限的证明 e怎么出来的

    第二个重要极限的证明 e怎么出来的 具体步骤是什么啊 匿名 浏览 4402 次 推荐于2017 05 24 13 27 43 最佳答案 1 对于数列 重要极限的 e 是定义出来的 2 对于函数 重要极限的 e 是推导出来的 请楼主耐心参看下
  • 【VAR

    以美国 GDP 和通货膨胀数据为例 1 数据集 下载数据我们需要从 FRED 数据库下载美国 GDP 和通货膨胀数据 并将它们存储在 CSV 文件中 可以在 FRED 网站 https fred stlouisfed org 搜索并下载需要