【数据挖掘 机器学习 | 时间序列】时间序列必备工具箱: 自相关与偏相关检验

news2024/11/19 2:28:07

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍

在这里插入图片描述

【数据挖掘 & 机器学习 | 时间序列】时间序列必备工具箱: 自相关与偏相关检验
作者: 计算机魔术师
版本: 1.0 ( 2023.11.18 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

@toc

时间序列问题

和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺序的,同样大小的值改变顺序后输入模型产生的结果是不同的。首先需要明确一点的是,时间序列可以分为平稳序列,即存在某种周期,季节性及趋势的方差和均值不随时间变化的序列,及非平稳序列。

传统预测方法可以分为两种,一种是更加传统的,如移动平均法,指数平均法等;一种是用的还算较多的,即AR,MA,ARMA等,下面主要介绍一下这三种方法,这类方法比较适用于小规模,单变量的预测,比如某门店的销量预测等。

序列检验

在对时间序列进行建模时,我们需要对时间序列数据进行必要的检验,以下是平稳性检验及白噪声检验等。

名称介绍优缺点
Augmented Dickey-Fuller (ADF) 检验(平稳性)ADF检验用于检验时间序列数据的单位根(unit root),进而判断数据是否平稳。它基于自回归模型,通过比较单位根存在和不存在的两种情况下的残差和临界值来进行检验优点:广泛应用于平稳性检验,包括单变量和多变量时间序列数据;缺点:对数据存在线性关系的假设,不适用于非线性关系的检验。
Ljung-Box 检验(白噪声)Ljung-Box检验用于检验时间序列数据中的自相关性和偏相关性,从而判断数据是否具有白噪声特性。该检验基于计算残差的自相关函数(ACF)和偏相关函数(PACF),并与临界值进行比较。优点:适用于白噪声检验,可以检测时间序列数据中的高阶自相关性和偏相关性;缺点:对数据独立同分布的假设,不适用于非独立同分布的数据。
KPSS 检验(平稳性)KPSS检验(Kwiatkowski-Phillips-Schmidt-Shin)用于检验时间序列数据的平稳性。与ADF检验相反,KPSS检验的零假设是数据平稳。检验基于对数据的滞后差分过程进行建模,并通过比较测试统计量和临界值进行判断。优点:适用于平稳性检验,可以检测数据的趋势性;缺点:对数据存在趋势的假设,不适用于非趋势性数据的检验。
Jarque-Bera 检验(正态性)Jarque-Bera检验用于检验时间序列数据的正态性。它基于样本偏度和峰度的比较,通过计算测试统计量并与临界值进行比较来判断数据是否符合正态分布。优点:适用于正态性检验,可以检测数据的偏态和峰态;缺点:对数据满足独立同分布的假设,不适用于非独立同分布的数据。
ADF & PACF

自相关函数(ACF)和偏自相关函数(PACF)是用于分析时间序列数据的常用工具。它们可以帮助我们确定时间序列数据中的自相关和偏自相关结构,从而选择合适的模型来进行预测和分析。

首先,让我们了解一下自相关和偏自相关的概念。

自相关是指时间序列数据与其自身在不同时间点的相关性。简单来说,它衡量了时间序列数据在过去时间点与当前时间点之间的相关性。自相关函数(ACF)用于度量自相关的强度。

偏自相关是指在控制其他时间点的影响后,某一时间点与当前时间点之间的相关性。也就是说,偏自相关关注的是两个时间点之间的直接关系,而忽略了其他时间点的影响。偏自相关函数(PACF)用于度量偏自相关的强度。

ACF和PACF之间存在密切的关系,可以互相推导和解释。下面是它们的大致原理和关系:

  1. ACF的计算方法:

    • 计算时间序列数据在不同滞后(lag)时间点上的相关性。
    • ACF图通常展示了滞后时间和相关性之间的关系。
  2. PACF的计算方法:

    • 首先,假设我们要计算PACF的滞后阶数为k。
    • 然后,我们建立一个线性回归模型,使用前k个滞后值作为自变量,当前值作为因变量。
    • PACF就是回归模型的最后一个滞后系数,它表示当前值与滞后k个时间点之间的直接关系,消除了其他滞后时间点的影响
  3. ACF和PACF之间的关系:

    • PACF是ACF的衍生物,它反映了ACF中与当前时间点直接相关的部分。
    • 当滞后阶数增加时,PACF的值会逐渐趋于零,而ACF的值可能会持续存在非零相关性。
    • 当PACF在某个滞后阶数k之后变为零时,意味着在这个滞后阶数之后的时间点与当前时间点之间没有直接关系,只有间接关系。
    • 因此,PACF可以帮助我们确定时间序列数据的滞后阶数,从而选择合适的AR(自回归)模型。

为了更好地理解ACF和PACF,你可以将它们想象成一个投影。ACF是将时间序列数据投影到不同滞后时间点上的相关性,而PACF则是在控制其他滞后时间点的影响后,将时间序列数据投影到当前时间点上的相关性。

Augmented Dickey-Fuller (ADF)

ADF代表"Augmented Dickey-Fuller",即"增广迪基-富勒"。ADF检验是一种常用的单位根检验方法,用于确定时间序列数据是否具有单位根(即非平稳性)。它是由迪基和富勒在1981年提出的,DF检验只能应用于一阶情况,当序列存在高阶的滞后相关时,可以使用ADF检验,所以说ADF是对DF检验的扩展。

ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。

所以,ADF检验的 H0 假设就是存在单位根,如果得到的显著性检验统计量小于三个置信度(10%,5%,1%),则对应有(90%,95,99%)的把握来拒绝原假设。

以下是ADF算法的具体步骤:

步骤1:对原始时间序列进行差分,直到得到一个差分序列,使其具有更好的平稳性。计算一阶差分序列: Y t = X t − X t − 1 Y_t = X_t - X_{t-1} Yt=XtXt1

步骤2:构建回归方程。将差分序列 Y t Y_t Yt作为因变量,前向滞后差分序列 Y t − 1 Y_{t-1} Yt1作为自变量,构建回归方程: Y t = α + β Y t − 1 + ε t Y_t = \alpha + \beta Y_{t-1} + \varepsilon_t Yt=α+βYt1+εt,其中 α \alpha α β \beta β是回归系数, ε t \varepsilon_t εt是误差项。

步骤3:对回归方程进行估计,并计算残差。使用最小二乘法估计回归方程的系数 α ^ \hat{\alpha} α^ β ^ \hat{\beta} β^。然后计算残差序列 ε t ^ \hat{\varepsilon_t} εt^,表示观测值和回归方程的预测值之间的差异。

步骤4:进行单位根检验。对残差序列 ε t ^ \hat{\varepsilon_t} εt^进行单位根检验,以确定时间序列的平稳性。ADF测试统计量的计算公式为:

A D F = β ^ 标准误 (1) ADF = \frac{\hat{\beta}}{\text{标准误}} \quad \text{(1)} ADF=标准误β^(1)

其中, β ^ \hat{\beta} β^是ADF回归系数是ADF检验回归模型中时间趋势系数(β)的估计值,ADF标准误差是ADF回归系数的标准误差。。该统计量的值与临界值进行比较,以确定是否可以拒绝原假设。(用估计量除以估计量的标准误。)

步骤5:确定临界值。ADF测试的临界值取决于所选的显著性水平(例如5%或1%)。根据不同的样本量和回归方程的特性,可以使用预先计算的临界值表或近似公式来确定临界值。

步骤6:进行统计显著性检验。将ADF统计量与对应的临界值进行比较。如果ADF统计量的绝对值大于临界值,则可以拒绝原假设,并得出时间序列是平稳的结论。否则,不能拒绝原假设,时间序列被认为具有单位根,即非平稳。

请注意,ADF测试还可以进行更高阶的差分,以进一步提高时间序列的平稳性。对于更高阶差分,ADF测试的公式和步骤类似,只是回归方程和单位根检验统计量的计算会有所不同。

ADF检验可以通过python中的 statsmodels 模块,这个模块提供了很多统计模型。

# 定义单位根检验函数
def testStationarity(ts):
    dftest = ADF(ts)
    # 对ADF求得的值进行语义描述
    dfoutput = pd.Series(dftest[0:4], index = ['Test Statistic','p-value','#Lags Used',
                                               'Number of Observations Used'])
    for key, value in dftest[4].items():
        dfoutput['Critical Value (%s)'%key] = value
    return dfoutput
Partial Autocorrelation Function(PACF)

PACF(Partial Autocorrelation Function,偏自相关函数)是用于时间序列分析的一种工具,它衡量了一个时间序列在给定滞后阶数的情况下,与自身滞后的系数相关性。PACF在建立自回归模型(AR)时非常有用,它帮助确定AR模型的滞后阶数。

PACF算法的详细步骤

  1. 假设有一个时间序列数据 X t X_t Xt,其中 t = 1 , 2 , … , n t = 1, 2, \ldots, n t=1,2,,n

  2. 首先,计算原始数据的自相关系数(ACF)。

    自相关系数定义为:
    ρ k = Cov ( X t , X t − k ) Var ( X t ) ⋅ Var ( X t − k ) \rho_k = \frac{{\text{Cov}(X_t, X_{t-k})}}{{\sqrt{\text{Var}(X_t) \cdot \text{Var}(X_{t-k})}}} ρk=Var(Xt)Var(Xtk) Cov(Xt,Xtk)
    其中, k k k 是滞后阶数, Cov ( X t , X t − k ) \text{Cov}(X_t, X_{t-k}) Cov(Xt,Xtk) X t X_t Xt X t − k X_{t-k} Xtk 的协方差, Var ( X t ) \text{Var}(X_t) Var(Xt) Var ( X t − k ) \text{Var}(X_{t-k}) Var(Xtk) 分别是 X t X_t Xt X t − k X_{t-k} Xtk 的方差。

    计算自相关系数 ρ k \rho_k ρk 的方法有多种,常用的是Pearson相关系数或样本自相关函数。

  3. 然后,我们要计算偏自相关系数(PACF)。

    偏自相关系数定义为:
    ϕ k k = Corr ( X t , X t − k ∣ X t − 1 , X t − 2 , … , X t − ( k − 1 ) ) \phi_{kk} = \text{Corr}(X_t, X_{t-k} | X_{t-1}, X_{t-2}, \ldots, X_{t-(k-1)}) ϕkk=Corr(Xt,XtkXt1,Xt2,,Xt(k1))
    其中, Corr ( X t , X t − k ∣ X t − 1 , X t − 2 , … , X t − ( k − 1 ) ) \text{Corr}(X_t, X_{t-k} | X_{t-1}, X_{t-2}, \ldots, X_{t-(k-1)}) Corr(Xt,XtkXt1,Xt2,,Xt(k1)) 表示在给定 X t − 1 , X t − 2 , … , X t − ( k − 1 ) X_{t-1}, X_{t-2}, \ldots, X_{t-(k-1)} Xt1,Xt2,,Xt(k1) 的条件下, X t X_t Xt X t − k X_{t-k} Xtk 的相关系数。

    偏自相关系数反映了两个变量之间的线性关系,排除了其他变量的影响,因此在建立AR模型时非常有用。

  4. PACF的计算可以通过递归方法进行,具体推导如下:

    a. 首先,初始化 k = 1 k=1 k=1,并假设 ϕ 11 = ρ 1 \phi_{11} = \rho_1 ϕ11=ρ1

    b. 对于 k > 1 k > 1 k>1,计算 ϕ k k \phi_{kk} ϕkk 的值。

    i. 通过回归分析,将 X t X_t Xt 回归到 X t − k X_{t-k} Xtk 上,得到残差序列 e t e_t et

    ii. 计算残差序列 e t e_t et 的自相关系数 ρ k ( e t ) \rho_k(e_t) ρk(et)

    iii. 计算 ϕ k k \phi_{kk} ϕkk 的值:
    ϕ k k = ρ k − ∑ j = 1 k − 1 ϕ k − 1 , j ρ k − j 1 − ∑ j = 1 k − 1 ϕ k − 1 , j ρ j \phi_{kk} = \frac{{\rho_k - \sum_{j=1}^{k-1}\phi_{k-1,j}\rho_{k-j}}}{1 - \sum_{j=1}^{k-1}\phi_{k-1,j}\rho_j} ϕkk=1j=1k1ϕk1,jρjρkj=1k1ϕk1,jρkj

    c. 重复步骤 b 直到计算出所有的 ϕ k k \phi_{kk} ϕkk

  5. 最后,根据计算得到的偏自相关系数 ϕ k k \phi_{kk} ϕkk,可以绘制PACF图,以帮助确定AR模型的滞后阶数。在PACF图中,滞后阶数为 k k k 的偏自相关系数表示为 ϕ k k \phi_{kk} ϕkk

这就是PACF算法的详细步骤和数学公式推导。通过计算偏自相关系数,我们可以确定AR模型的滞后阶数,从而更好地理解和预测时间序列数据。

参考文章:

http://t.csdnimg.cn/u7pIm
在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

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

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

相关文章

Windows10 MYSQL Installer 安装(mysql-installer-community-5.7.19.0.msi)

分类 编程技术 1.进入官网找到自己所需的安装包:https://dev.mysql.com/ ,路径:DOWNLOAD-->MYSQL Community Edition(GRL)-->MYSQL on Windows (Installer & Tool) 或直接点击 MySQL :: Download MySQL Installer 查看最新版本。…

linux在非联网、无网络环境下,使用yumdownload、reportrack方法安装rpm包

文章目录 前言1、下载yum-utils​​2、yumdownloader3、repotrack4、区别:总结 前言 当开发者在联网环境下使用Linux时,可以轻松地通过yum或apt-get安装软件。然而,在公司和企业中,由于安全原因,生产环境通常无法访问…

【Maven教程】(十一):使用 Maven 构建 Web应用 —— 使用 jetty-maven-plugin 进行测试、使用 Cargo 实现自动化部署~

Maven 使用 Maven 构建 Web应用 1️⃣ Web 项目的目录结构2️⃣ account-service2.1 account-service的 POM2.2 account-service 的主代码 3️⃣ account-web3.1 account-web 的POM3.2 account-web 的主代码 4️⃣ 使用 jetty-maven-plugin 进行测试5️⃣ 使用 Cargo 实现自动…

永久关机windows系统自动更新

1、打开cmd执行 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 3000 /f2、设置,打开windows更新高级选项 修改暂停日期,可长达十年。 3、你小子

振南技术干货集:CPU,你省省心吧!(2)

注解目录 1、石油测井仪器 1.1 背景知识 (了解一下石油行业。石油到底是怎么找到的?) 1.2 测井数据采传的实现 1.2.1 最直接的初级方案 1.2.2 加入 DMA 的优化方案 (看看一般工程师与高手在技术实现上到底有什么区别。充分…

[Linux] PXE批量装机

一、PXE批量装机简介 1.1 常见的三种系统安装方式 u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装 光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机 网络下载安装:在网上下载相关镜…

【数据挖掘 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

获取文章分类详情

CategoryController GetMapping("/detail")public Result<Category> detail(Integer id){Category c categoryService.findById(id);return Result.success(c);} CategoryService //根据id查询分类信息Category findById(Integer id); CategoryServiceImpl …

谈谈 MySQL 事务隔离级别

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

MATLAB画图分辨率、图像大小研究

MATLAB画图分辨率、图像大小研究 Figure属性中 InnerPosition Position OuterPosition区别画图与打印的分辨率和图像大小研究首先明确两个概念&#xff1a;MATLAB实操画图 Figure属性中 InnerPosition Position OuterPosition区别 在画图的时候&#xff0c;我们经常需要设置Fi…

记录一次较为完整的服务打包发布流程

文章目录 1. Spring Boot编程2. 打包成jar服务3. 使用Docker Compose发布服务 1. Spring Boot编程 使用Spring Initializr 选择基本工具 导入常用工具 配置多环境 参考https://blog.csdn.net/qq_37992410/article/details/121008415&#xff0c; https://blog.csdn.net/xiao…

mongodb——原理简介,docker单机部署

MongoDB noSQL数据库 特点 数据文件存储格式为 BSON &#xff08;JSON 的扩展&#xff09; &#xff5b;“name”&#xff1a;“joe”&#xff5d;这是 BSON 的例子&#xff0c;其中"name"是键&#xff0c;"joe"是值。键值对组成了 BSON 格式。面向集合…

【开源】基于Vue和SpringBoot的康复中心管理系统

项目编号&#xff1a; S 056 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S056&#xff0c;文末获取源码。} 项目编号&#xff1a;S056&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…

C++之谓词

C之谓词 一元谓词 #include<iostream> using namespace std; #include<vector> #include<algorithm> //仿函数 返回值类型是boo1数据类型&#xff0c;称为谓词 //一元谓词class GreaterFive { public:bool operator()(int val){return val > 5;} };void …

Windows 下 Sublime Text 2.0.2 下载及配置

1 下载地址&#xff1a; https://www.sublimetext.com/2 Sublime Text 2.0.2 (此版本选择了 portable version)&#xff0c;直接解压就可以使用。 https://download.sublimetext.com/Sublime Text 2.0.2.zip 2 配置Python相关环境 (前提 Pyhon 已加入环境变量) 2.1 新建 py …

Java 某市教育局综合信息管理平台

1) 项目简介 “互联网智慧教育”管理平台&#xff0c;实现全市教育信息系统集中建设和教育数据在云平台的汇集&#xff0c;在全市中小学整体实现电子班牌、家校通等功能&#xff0c;选取部分重点学校进行一卡通系统试点建设&#xff0c;实现智能化门禁、道闸、实体卡等功能…

【小黑送书—第八期】>>别再吐槽大学教材了,来看看这些网友强推的数学神作!

导读&#xff1a;关于大学数学教材的吐槽似乎从来没停止过。有人慨叹&#xff1a;数学教材晦涩难懂。错&#xff01;难懂&#xff0c;起码还可以读懂。数学教材你根本读不懂&#xff1b;也有人说&#xff1a;数学教材简直就是天书。 数学教材有好有坏&#xff0c;这话不假&…

实验三 页面置换算法

一. 实验目的&#xff1a; 1、熟悉虚存管理的各种页面淘汰算法 二、实验环境&#xff1a; 硬件环境&#xff1a;计算机一台&#xff0c;局域网环境&#xff1b; 软件环境&#xff1a;Windows XP及以上版本 Professional操作系统平台&#xff0c;Visual C 6.0专业版或企业版…

企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复

随着科技技术的不断发展&#xff0c;网络技术得到了快速提升&#xff0c;但网络安全威胁也不断增加&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助信息&#xff0c;企业的计算机服务器遭到了mallox勒索病毒攻击&#xff0c;导致企业的所有业务中断&#…