当前位置: 首页 > news >正文

从0开始对时间序列模型ACF和PACF的理解(以股价预测为例子)

目录

  • ACF
    • 模型选择问题
    • ACF处理问题
  • PACF(偏自相关系数)
    • 模型选择

ACF

先了解一下概念,我不喜欢用公式套话讲。
ACF(自相关函数):就是看看当前的股票价格和之前的股票价格之间有没有关系。比如说,今天的价格和昨天的价格是不是有联系,今天的价格和前天的价格是不是有联系,依此类推。
如果 ACF 值很高,说明今天的价格和之前某一天的价格关系很大。这可能意味着股票价格有某种规律,比如每隔几天就有一个相似的趋势(这就是所谓的“季节性”或“趋势”)。

假设我们有一系列的开盘价:

今天的开盘价(D0):100元
昨天的开盘价(D1):98元
前天的开盘价(D2):97元
大前天的开盘价(D3):96元
四天前的开盘价(D4):95元

那么ACF看的是
今天的开盘价和昨天的开盘价之间的关系。
今天的开盘价和前天的开盘价之间的关系。
今天的开盘价和大前天的开盘价之间的关系。

我们计算的式子是
在这里插入图片描述
我们计算出
在这里插入图片描述
自相关函数(ACF)的值也在 -1 和 1 之间。,ACF()里面的1,2,3,4是代表相较与前面的前几天,如ACF(1)代表乡较与前一天,2代表相较与前两天
ACF正相关:如果 ACF 是正值,说明当前的开盘价和之前某一天的开盘价之间有正相关关系。也就是说,如果之前某一天的开盘价较高,那么当前的开盘价也可能较高;反之亦然。
比如: ACF(1)=0.335 表示今天的开盘价和昨天的开盘价有正相关关系。昨天的开盘价高,今天的开盘价也可能高。
**ACF负相关:**如果 ACF 是负值,说明当前的开盘价和之前某一天的开盘价之间有负相关关系。也就是说,如果之前某一天的开盘价较高,那么当前的开盘价可能较低;反之亦然。
比如: ACF(3)=−0.346 表示今天的开盘价和大前天的开盘价有负相关关系。大前天的开盘价高,今天的开盘价可能低。

当然这些只是可能,对于股价预测来说,它不靠谱,因为这只是理论罢了,真正的股票没有规律,如果有我也不会这么穷了。

**那么我们是不是得到了结论:**如果ACF越高,就代表以前的股价和现在的股价相关性高,那么你仔细想想,相关性高代表什么?那是不是代表着
之前的价格和今天的价格可以建立某种关系趋势函数,我们可以从前面之前的价格推断出我们今天的价格。

什么是季节性?趋势?
**举个例子:**我开了一个冰淇淋店,一般是夏天收益高,其他季节淡吧,那么我卖东西是不是可以遵循这个规律,夏天多进点货,其他季节少一点。那么着就是季节性,也就是趋势。夏天多来电,其他季节少来点。

模型选择问题

那我们进行深度学习训练,或者进行股价预测的时候,我们该怎么确定是要高ACF和低ACF呢?

这个是根据模型来选择的
**高的 ACF 值:**适合使用复杂的时间序列模型(如 ARIMA 或 SARIMA),因为这些模型可以捕捉到数据中的自相关性和季节性成分。
**低的 ACF 值:**适合使用简单的平滑模型或移动平均模型,因为数据自相关性较弱。

ACF处理问题

再我们进行股价预测的时候,我们一般考虑为有一支非常平稳的趋势线让股价上涨,为什么?因为有利我们模型的数据处理,以(informer)为例子。加入编码的时候数据突然忽高,那么得到的上下文信息就稳定,我们预测的结果就会有偏差。所以我们一般会进行处理,让它趋于平稳上涨。

那么一般用什么呢?(这里只介绍一种)
**差分:**我们一般是先画出数据的差分图,看是否有趋势或者季节性。
那么大家肯定想知道什么是季节性,如下图,这个是冰淇淋的销售季度图,我们发现它总是有规律的起浮。那么这就是有规律的。
在这里插入图片描述

看不懂看下面这个画出来的ACF图,你看1,2,3,4总是有规律的上下上下浮动。这就是不平稳的。
在这里插入图片描述

所以需要差分处理。那我们处理前后的图变成什么样子呢?

处理前的
在这里插入图片描述
处理后的:发现是不是平稳一些
在这里插入图片描述

PACF(偏自相关系数)

讲白话,比如ACF是前几天对当天的影响,那么PACF是前面的某一天对当天的影响。

我们还是之前的那个股价的例子:
今天的开盘价(D0):100元
昨天的开盘价(D1):98元
前天的开盘价(D2):97元
大前天的开盘价(D3):96元
四天前的开盘价(D4):95元
得到
PACF(1) = 0.8
PACF(2) = 0.3
PACF(3) = -0.1
PACF(4) = -0.2

偏自相关函数(PACF)的值通常在 -1 和 1 之间,正值代表正相关,负值代表负相关,意义和前面ACF一样,只不过是针对前面的特指某一天而言。PACF()里面的1,2,3,4是代表相较与前面的第几天比如PACF(1)代表前一天对今天的影响,PACF(2)代表倒数第二天对今天的影响。。。
PACF(1) = 0.8:昨天的开盘价较高,今天的开盘价也可能较高。正相关性较强,表示昨天的开盘价对今天的开盘价有显著的正面影响。前天的开盘价较高,今天的开盘价也可能较高,但这种影响比滞后 1 的影响要小一些。

**PACF(2) = 0.3:**前天的开盘价(D2 = 97元)对今天的开盘价(D0 = 100元)有中等程度的直接影响,而这种影响不是通过昨天的开盘价间接产生的。大前天的开盘价较高,今天的开盘价可能略低,但这种负相关性很弱。
PACF(3) = -0.1四天前的开盘价(D4 = 95元)对今天的开盘价(D0 = 100元)有中等程度的负相关影响。四天前的开盘价较高,今天的开盘价可能较低。负相关性表明四天前的开盘价对今天的开盘价有一定的反向影响。

模型选择

那么我们模型所需要数据的PACF是越大越好还是越小越好呢?
答案是看你的模型复杂度。
PACF 值越大:表示滞后期的直接相关性越强,应在模型中考虑这些滞后期。
PACF 值越小:表示滞后期的直接相关性越弱,可以忽略这些滞后期。

那么我们人事一下这个
AR项(自回归项,Autoregressive term)是时间序列模型中表示当前值与其过去值之间关系的一部分。 意思就是当前值可以通过过去值的线性组合来解释。
首先我们看ACF和PACF是否显著是用其值的绝对值是否大于你的置信区间来定义的!
比如 你模型定义|PACF|>0.2就是很好了,那么PACF(2)=0.3就是显著的。

对于我们的简单模型来说 如lstm
简单模型只选择 PACF 图中最显著的几个滞后期作为自回归项(AR 项)。
例如,若 PACF(1) 显著,可以选择 AR(1) 模型;若 PACF(1) 和 PACF(2) 显著,可以选择 AR(2) 模型。

简单模型的参数较少,更容易解释和理解。
例如,AR(1) 模型只考虑前一天的股价对今天股价的影响,AR(2) 模型则考虑前两天的股价对今天股价的影响。

对于复杂模型 如informer
复杂模型可能选择多个显著的滞后期作为自回归项,甚至包括一些不那么显著但仍有一定相关性的滞后期。例如,若 PACF(1)、PACF(2)、PACF(3) 显著,可以选择 AR(3) 模型;若 PACF(4)、PACF(5) 也有一定相关性,可以考虑更高阶的模型。

复杂模型试图捕捉数据中的更多细节和复杂关系,适用于数据中存在复杂模式或长记忆效应的情况。例如,ARIMA(3,1,2) 模型同时考虑了多个自回归项和移动平均项,适合处理更复杂的时间序列数据。

相关文章:

从0开始对时间序列模型ACF和PACF的理解(以股价预测为例子)

目录 ACF模型选择问题ACF处理问题 PACF(偏自相关系数)模型选择 ACF 先了解一下概念,我不喜欢用公式套话讲。 ACF(自相关函数):就是看看当前的股票价格和之前的股票价格之间有没有关系。比如说,…...

MybatisPlus(MP)基础知识全解析

MyBatis-Plus(简称MP)是一个基于Java的持久层框架,它在MyBatis的基础上提供了许多实用的功能增强,使得开发者可以更加便捷地进行数据库操作。本文将介绍MyBatis-Plus的基础知识,包括其特性、核心组件以及如何使用它进行…...

前端组件化实践:Vue自定义加载Loading组件的设计与实现

摘要 随着前端技术的飞速发展,组件化开发已成为提高开发效率、降低维护成本的重要方法。本文介绍了前端Vue自定义加载Loading组件的设计思路与实现过程,该组件通过设置gif动画实现加载效果,可广泛应用于页面请求加载场景。通过该组件的实践&…...

LLaMA 背景

什么是LLaMA? 模型介绍:LLaMA是Meta开发的语言模型,旨在推动开放科学和人工智能的实践。 参数范围:这些模型的参数数量从7B到65B不等,覆盖了不同规模的需求。 训练数据:LLaMA模型是在数万亿个公开数据集的…...

硅谷裸机云多IP服务器怎么样?

硅谷裸机云多IP服务器是一种在硅谷地区提供的、具有多个IP地址的裸机云服务器。这种服务器结合了裸机服务器的高性能和云服务器的灵活性,同时提供了多个IP地址,为用户的各种需求提供了支持。以下是关于硅谷裸机云多IP服务器的一些详细信息,ra…...

Python+Django+MySQL的新闻发布管理系统【附源码,运行简单】

PythonDjangoMySQL的新闻发布管理系统【附源码,运行简单】 总览 1、《新闻发布管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 新闻新增界面2.4 文章编辑界面2.5 新闻详情页2.7 其他功能贴图 3、下载 总览 自己做的项目&…...

实战项目:仿muduo库实现并发服务器

目录 项目初始与项目演示HTTP服务器基础认识Reactor模式基础认识单Reactor单线程模式认识单Reactor多线程模式认识多Reactor多线程模式认识 目标定位总体大模块划分server模块的管理思想Buffer子模块Socket子模块Channel子模块Connection子模块Acceptor子模块TimerQueue子模块P…...

提高Java程序效率:ImmutableList、Stream API 和 JSON序列化实战指南

常用列表构建方法: 1.ImmutableList.of() : 静态方法、不可变的列表 可以接受任意数量的参数,并将它们作为元素添加到新创建的列表中,但是一旦创建,集合的内容就不能被改变。在多线程环境中非常有用,因为…...

[CP_AUTOSAR]_分层软件架构_接口之通信模块交互介绍

目录 1、协议数据单元(PDU)传输2、通信模块的案例2.1、SDU、 PCI & PDU2.2、通信模块构成2.3、从数据传输的角度看Communication2.4、Communication中的接口 在前面 《关于接口的一些说明》 以及  《Memory软件模块接口说明》 中,简要介绍了CP_AUTOSAR分层…...

C语言 ——— 浮点数类型 在 内存中 的 存储模式

目录 浮点数存储规则 单\双精度浮点数 存储 S、M、E 的布局 有效数字M 和 指数位E 的特殊规定 浮点数在内存中是否存储的S、M、E 浮点数存储规则 根据国际标准IEEE754(电气和电子工程协会)规定:任意一个 浮点数F的二进制 都可以表示成…...

socket 收发TCP/UDP

一、c 个人测试记录,有问题还请指出,谢谢 参考:C开发基础之网络编程WinSock库使用详解TCP/UDP Socket开发_c udp使用什么库-CSDN博客 代码中Logger测试见文章: c中spdlog的使用/python中logger的使用-CSDN博客 1、main.cpp 收…...

Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档

什么是 Swagger ? Swagger 是一组围绕 OpenAPI 规范构建的开源工具,可以帮助您设计、构建、记录和使用 REST API。主要的 Swagger 工具 包括: Swagger Editor:基于浏览器的编辑器,您可以在其中编写 OpenAPI 定义Swagger UI&…...

spark shell

1.进行shell命令行 spark-shell 2.创建RDD 2.1 读取文件创建RDD 2.1.1读取linux文件系统的文件创建RDD --需要保证每一个worker中都有该文件 val data1 sc.textFile("file:/opt/file/word.txt") 2.1.2读取hdfs文件系统上的文件创建RDD val data2sc.textFile("…...

集群架构-web服务器(接入负载均衡+数据库+会话保持redis)--15454核心配置详解

紧接着前面的集群架构深化—中小型公司(拓展到大型公司业务)–下面图简单回顾一下之前做的及故障核心知识总结(等后期完全整理后,上传资源希望能帮大家) web集群架构-接入负载均衡部署web02服务器等 web集群-搭建web0…...

# Redis 入门到精通(七)-- redis 删除策略

Redis 入门到精通(七)-- redis 删除策略 一、redis 删除策略–过期数据的概念 1、Redis 中的数据特征 Redis 是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态。 XX :具有时效性…...

10:00面试,10:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到6月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…...

html+canvas 实现签名功能-手机触摸

手机上的效果图 需要注意&#xff0c;手机触摸和鼠标不是一个事件&#xff0c;不能通用&#xff0c;上一篇是关于使用鼠标的样例 相关代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…...

前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用

摘要 随着前端开发技术的不断进步&#xff0c;组件化开发已成为提升开发效率、降低维护成本的关键手段。本文旨在通过介绍一款Vue自定义暂无数据组件的开发与实践&#xff0c;深入探讨前端组件化开发的重要性、优势及其在实际项目中的应用。 一、引言 在前端开发中&#xff0…...

《汇编语言 基于x86处理器》- 读书笔记 - Visual Studio 2019 配置 MASM环境

安装 Visual Studio 2019 配置 MASM环境 下载 Visual Studio Installer安装 Visual Studio 20191. 双击运行2. 自定义安装内容3. 修改 MSVC 工具集版本4. 设置主题&#xff08;可选&#xff09;5. 安装代码高亮插件 AsmDude&#xff08;可选&#xff09;6. 通义灵码&#xff08…...

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析 简介 本文档适用于合宙Air780E、Air780EP、Air780EQ、Air201 关联文档和使用工具&#xff1a; 从Ramdump里分析内存泄漏问题 无法抓底层log的情况下如何导出死机dump Luatools下载调试工具 EPAT抓取底层日志 F…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...