时间序列分析-python(一、自相关系数的意义)

本文探讨了时间序列分析中的平稳性概念,强调了自相关系数在判断序列平稳性和选择合适模型(如AR/MA/ARMA)中的作用。通过实例解释了自相关系数的计算和其对序列趋势性的描述,并指出自相关系数的迅速收敛是序列平稳的标志。还提到了如何根据自相关图来选择模型。
摘要由CSDN通过智能技术生成

最近在学习时间序列预测销量,做一些笔记。

参考:

自相关系数

根据自相关图判断AR/MA/ARMA模型

平稳时间序列

时间序列必须是平稳的才可以做后续分析,差分和log都是为了使时间序列平稳。

一个时间序列,如果均值和方差没有系统变化或周期性变化(均值无变化:没有明显趋势,方差无变化:波动比较稳定),就称之为平稳的。


自相关系数

平稳序列的自相关系数会快速收敛,从哪一阶开始快速收敛(忽然从一个较大的值降到0附近)就说明是哪一阶模型,例如自相关函数图拖尾,偏自相关函数图截尾,n从2或3开始控制在置信区间之内,因而可判定为AR(2)模型或者AR(3)模型。

从自相关系数原理来讲,“n从2或3开始”的含义是指:自相关系数的阶数为2阶或3阶时迅速降为0附近,即在剔除了中间的2或3个变量后,序列开始稳定

下面是自相关系数的原理(点击打开链接):

自相关系数是不变的,是参数,不会衰减至零。xt=rho*xt-1+eslion,其中rho为自相关系数。自回归方程本质就是一个差分方程,解这个方程的根就可得到xt随着t的变化的解,如果根的模大于1,xt就是爆炸或趋于无穷的,不收敛。当自相关系数约等于1,就是单位根,也是不收敛。

Python中可以使用多种库来计算自相关系数,下面介绍其中两种常用的方法: 一、使用statsmodels库计算自相关系数 statsmodels是Python中的一个统计分析库,提供了ARIMA、VAR、GARCH等多种时间序列模型的实现。其中,`statsmodels.tsa.stattools`模块提供了计算自相关系数和偏自相关系数等统计量的函数。 例如,计算时间序列数据`data`的自相关系数,可以使用以下代码: ```python from statsmodels.tsa.stattools import acf # 计算自相关系数 acf_data = acf(data, nlags=10) print(acf_data) ``` 其中,`acf()`函数的第一个参数是时间序列数据,`nlags`参数是指定计算的最大滞后阶数,返回值是一个包含自相关系数的数组。默认情况下,`nlags`参数的值为10。 二、使用pandas库计算自相关系数 pandas是Python中用于数据处理和分析的库,提供了Series和DataFrame等数据结构,支持时间序列数据的处理和计算。其中,`pandas.Series`对象提供了计算自相关系数和偏自相关系数等统计量的方法。 例如,计算时间序列数据`data`的自相关系数,可以使用以下代码: ```python import pandas as pd # 创建Series对象 ts = pd.Series(data) # 计算自相关系数 acf_data = ts.autocorr(lag=10) print(acf_data) ``` 其中,`autocorr()`方法的`lag`参数指定计算的滞后阶数,返回值是一个自相关系数。默认情况下,`lag`参数的值为1。 需要注意的是,不同的方法计算的自相关系数可能略有差异。在实际应用中,需要结合实际情况选择合适的方法进行计算。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值