Python实现霍德里克-普雷斯科特(Hodrick-Prescott,HP)过滤器模型和UC-ARIMA模型(hpfilter算法)项目实战

news2024/11/16 19:24:10

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

1.项目背景

霍德里克-普雷斯科特(Hodrick-Prescott, HP)过滤器模型: HP滤波器是一种用于时间序列分析中的数据分解方法,由经济学家艾伦·霍德里克和爱德华·普雷斯科特在1980年代提出。该滤波器主要用于分离经济时间序列中的长期趋势部分与短期波动或周期性成分。它通过最小化一个加权的平方误差函数来实现这一目标,其中误差项是趋势和实际观测值之间的差值,并且误差项的平方和被乘以一个常数λ(Lambda),这个参数的选择可以根据数据的时间频率进行调整。通常情况下,HP滤波器对于季度数据选择较大的λ值,年度数据选择较小的λ值。

hpfilter算法一般指的是实施霍德里克-普雷斯科特滤波器的具体计算过程,而UC-ARIMA模型则可能表示一种结合了未观测组件模型(UCM)的某些思想以及ARIMA模型的技术来进行时间序列分析的方法论框架。

本项目通过hpfilter和UnobservedComponents算法来构建霍德里克-普雷斯科特(Hodrick-Prescott,HP)过滤器模型和UC-ARIMA模型。       

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

DATE

日期

2

UNRATE

失业率

数据详情如下(部分展示):

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

关键代码:

3.2 数据缺失查看

使用Pandas工具的info()方法查看数据信息:

      

从上图可以看到,总共有1个变量,数据中无缺失值,共840条数据。

关键代码: 

3.3 数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。 

关键代码如下:    

4.探索性数据分析

4.1 变量直方图

用Matplotlib工具的hist()方法绘制直方图:

从上图可以看到,变量主要集中在4~10之间。  

4.2 变量折线图

5.构建霍德里克-普雷斯科特过滤器模型和UC-ARIMA模型

主要使用hpfilter和UnobservedComponents算法,用于霍德里克-普雷斯科特过滤器模型和UC-ARIMA模型。    

5.1 构建模型

编号

模型名称

参数

1

霍德里克-普雷斯科特过滤器模型和UC-ARIMA模型 

lamb=129600

2

'rwalk'

3

autoregressive=4

5.2 模型摘要信息

模型中的趋势部分为随机游走,在模型中加入一个AR(4)过程:

5.3 模型摘要信息

具有随机游走趋势、阻尼周期性波动和随机成分的时间序列模型:

6.模型评估

6.1 绘制水平、趋势、周期成分图

7.结论与展望

综上所述,本文采用了hpfilter和UnobservedComponents算法来构建霍德里克-普雷斯科特过滤器模型和UC-ARIMA模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:

链接:https://pan.baidu.com/s/1J_jtYSZDCziaX9fanrjcCA 
提取码:ujif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1499698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构算法第二套试卷小题

1.哈夫曼树 在哈夫曼树中,每个非叶子节点都有两个子节点(因为哈夫曼树是一种二叉树),而叶子节点没有子节点。如果用二叉链表作为存储结构,每个节点需要包含两个指针域,分别指向其左孩子和右孩子。因此&…

SystemVerilog构造、包

包 包提供了一种共享不同构造的附加方式。他们的行为与VHDL包。包可以包含函数、任务、类型和枚举。的语法包是: package package_name; items endpackage : package_name 最终的package_name不是必需的,但它使代码更易于阅读。包是import命令在其他…

渗透测试——信息收集

信息收集 前言 信息收集是在做渗透时找尽可能的多的信息,为之后的渗透做铺垫。信息收集的方法有很多 比如,页面、真实的IP、域名/子域名、敏感目录/文件、端口探测、CMS指纹识别、操作系统识别 1. 页面信息收集 拿到域名后,从网站的url中…

c++ 二分查找(迭代与递归)

二分搜索被定义为一种在排序数组中使用的搜索算法,通过重复将搜索间隔一分为二。二分查找的思想是利用数组已排序的信息,将时间复杂度降低到O(log N)。 二分查找算法示例 何时在数据结构中应用二分查找的条件: 应用二分查找算法:…

Java程序员如何通过跳槽薪资翻倍,java多态面试题

Spring 面试题 1、不同版本的 Spring Framework 有哪些主要功能? 2、什么是 Spring Framework? 3、列举 Spring Framework 的优点。 4、Spring Framework 有哪些不同的功能? 5、Spring Framework 中有多少个模块,它们分别是什…

一文搞懂所有 VAE 模型

目录 收起 1 引言 2 符号术语 2.1 AE中的符号 2.2 VAE中的符号 3 基础自编码器 3.1 Autoencoder 3.2 Denoising Autoencoder 随着Stable Diffusion和Sora等技术在生成图像和视频的质量与帧率上取得显著提升,能够在一个低维度的压缩空间进行计算变得越发重要…

【数据结构与算法】二分查找题解(二)

这里写目录标题 一、81. 搜索旋转排序数组 II二、167. 两数之和 II - 输入有序数组三、441. 排列硬币四、374. 猜数字大小五、367. 有效的完全平方数六、69. x 的平方根 一、81. 搜索旋转排序数组 II 中等 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必…

7-18 彩虹瓶(Python)

彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工…

vue3+elementPlus:el-table-column表格列动态设置单元格颜色

:cell-style属性 //html<el-tableempty-text"暂无数据":data"datalist.table":max-height"height"row-key"id"border:cell-style"cellStyle"> <el-table>//js //动态设置单元格颜色 const cellStyle ({ row, c…

矢量数据库简单介绍:在 Postgres使用 pg_vector

矢量数据库简单介绍&#xff1a;在 Postgres使用 pg_vector 作为向人工智能大规模转变的一部分&#xff0c;矢量数据库越来越受欢迎。它们也称为矢量化数据库&#xff0c;在人工智能领域发挥着至关重要的作用&#xff0c;因此了解它们的工作原理非常重要。为此&#xff0c;我们…

某准网招聘接口逆向之WebPack扣取

​​​​​逆向网址 aHR0cHM6Ly93d3cua2Fuemh1bi5jb20v 逆向链接 aHR0cHM6Ly93d3cua2Fuemh1bi5jb20vc2VhcmNoP3BhZ2VOdW09MSZxdWVyeT1weXRob24mdHlwZT01 逆向接口 aHR0cHM6Ly93d3cua2Fuemh1bi5jb20vYXBpX3RvL3NlYXJjaC9qb2IuanNvbg 逆向过程 请求方式&#xff1a;GET 参数构成…

FPGA高端项目:FPGA基于GS2971的SDI视频接收+纯verilog图像缩放+多路视频拼接,提供8套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收OSD多路视频融合叠加应用本方案的SDI接收HLS多路视频融合叠加应用本方案的SDI接收GTX…

基于Redis自增实现全局ID生成器(详解)

本博客为个人学习笔记&#xff0c;学习网站与详细见&#xff1a;黑马程序员Redis入门到实战 P48 - P49 目录 全局ID生成器介绍 基于Redis自增实现全局ID 实现代码 全局ID生成器介绍 背景介绍 当用户在抢购商品时&#xff0c;就会生成订单并保存到数据库的某一张表中&#…

Python 读取写入excel文件

使用Python读取和写入excel的xlsx、xls文件 目录 读取xlsx文件 安装三方库 引入三方库 读取数据 打开文件 表名 最大行数 最大列数 读取一张表 读取整个文件 返回xls整体内容 安装三方包 读取内容 写入xls文件 引入三方库 创建文件并写入数据 报错及解决 报错…

SSL 证书,了解一下常识

公司的网站、应用怎么才能保证在互联网上安全运行&#xff0c;不被攻击、盗取数据呢&#xff1f; 创业必经之路&#xff0c;一步一步走就对了&#xff0c;可能没赶上红利期&#xff0c;但不做就等于0。 概述 SSL 证书&#xff08;SSL Certificates&#xff09;又称数字证书&am…

3/7—21. 合并两个有序链表

代码实现&#xff1a; 方法1&#xff1a;递归 ---->难点 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* mergeTwoLists(struct ListNode *list1, struct ListNode *list2) {/*1.如果l1为…

Vivado使用记录(未完待续)

一、Zynq开发流程 二、软件安装 三、软件使用 字体大小修改&#xff1a;Setting、Font 四、Vivado基本开发流程 1、创建工程 Quick Start 组包含有 Create Project&#xff08;创建工程&#xff09;、 Open Project&#xff08;打开工程&#xff09;、 Open Example Project&…

智慧视频终端解决方案

依托富瀚微智慧视频SOC&#xff0c;提供以视频为核心的智能产品及解决方案

ubuntu設定QGC獲取pixhawk Mini4(PX4 Mini 4) 的imu信息

ubuntu20.04 QGC使用v4.3.0的版本 飛控pixhawk Mini4 飛控上只使用一條micor USB連接電腦&#xff0c;沒有其他線 安裝命令 sudo apt-get remove modemmanager -y sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y sudo apt install libf…

邮件营销新手必读指南?怎样做好邮件营销?

邮件营销的全流程及步骤&#xff1f;做好邮件营销有哪些注意点&#xff1f; 邮件营销作为一种传统却依然高效的推广手段&#xff0c;被众多企业所青睐。对于新手来说&#xff0c;如何开展邮件营销&#xff0c;却是一个值得探讨的话题。AokSend将为你提供一份邮件营销新手必读指…