时间序列的预处理——平稳性检验的R语言实现(二)
这一部分是时间序列预处理R语言的实现。
目标是将课本和上课知识点整合。
老师是用一节课讲完的,本篇文章只做了平稳性检验~~~
下一篇再写纯随机性检验
全部代码
#input data
yield <- c(15.2,16.9,15.3,14.9,15.7,15.1,16.7)#对比向量和时间序列画图的差别
par(mfrow=c(1,2))
plot(yield)yield <- ts(yield,start = 1884)
plot(yield)#介绍plot函数
help(plot)
plot(yield,type = "o",pch = 5,lty=1,lwd=3,col=1,main="yield",xlab="Year",ylab="yield",xlim=c(1884,1890),ylim=c(14.5,17))
abline(v=c(1889),lty=2)#添加一条线/多条线
abline(h=16)#计算自相关系数
acf(yield,lag.max = 24)
AC <- acf(yield)
AC$acf
help(acf)
abline(h=1.96*1/sqrt(7),col=3)#α=0.05时,α/2 的分位点————假设检验。超出了线就是拒绝原假设,说明自相关系数不等于0.
abline(h=- 1.96*1/sqrt(7),col=2)T <- length(yield)
cor(yield[1:T-1],yield[2:T])#平稳性检验
sha <- read.csv()
output <- ts(sha$output,start=1994)
plot(output)
acf(output,lag.max=24,ylim=c(-1,1))a <- read.csv()
milk <- ts(a$milk,start =c(1962,1) ,frequency = 12)
plot(milk)
acf(milk,lag.max=24,ylim=c(-1,1))b <- read.csv()
temp <- ts(b$temp,start = 1949)
plot(temp)
acf(temp,ylim=c(-1,1))
平稳性检验的R语言的实现
1 对比时序图和向量区别
#input data
yield <- c(15.2,16.9,15.3,14.9,15.7,15.1,16.7)#对比向量和时间序列画图的差别
par(mfrow=c(1,2))
plot(yield)
yield <- ts(yield,start = 1884)
plot(yield)
- 画两个图的时候运用par这个函数
可以看到两者的区别一个是散点图,另一个是连起来的。
x轴一个是时间,一个是第几个数。
2 基本画图设置
#介绍plot函数
help(plot)
plot(yield,type = "o",pch = 5,lty=1,lwd=3,col=1 main="yield",xlab="Year",ylab="yield",xlim=c(1884,1890),ylim=c(14.5,17))
abline(v=c(1889),lty=2)#添加一条线/多条线
abline(h=16)
- plot函数在{graphics}程序包里
type
:
“p” for points,
“l” for lines,
“b” for both, 线不穿过点
“c” for the lines part alone of “b”,
“o” for both ‘overplotted’, 线穿过点
“h” for ‘histogram’ like (or ‘high-density’) vertical lines,
“s” for stair steps,
“S” for other steps, see ‘Details’ below,
“n” for no plotting.main
:给主图加标题sub
:给子图加标题xlab
:给横坐标加标题ylab
:给纵坐标加标题pch
:有25种形式——形状
lty
:lwd
:color
:xlim
ylim
:x,y轴的取值
abline()
:在已有的图上表示添加一条线/多条线
abline(v=16):横着
abline(h=16):竖着
3 计算自相关系数
#计算自相关系数
acf(yield,lag.max = 24)
AC <- acf(yield)
AC$acf
abline(h=1.96*1/sqrt(7),col=3)#α=0.05时,α/2 的分位点————假设检验。超出了线就是拒绝原假设,说明自相关系数不等于0.
abline(h=- 1.96*1/sqrt(7),col=2)
- 自相关图:
acf(yield,lag.max=···,type,na.action)
:- yield是数据
- lag.max是滞后阶数
- type = c(“correlation”, “covariance”, “partial”),默认自相关函数,第二个自协方差,第三个偏自相关
- na.action:对缺失值的处理
#计算自相关系数
acf(yield,lag.max = 24)
AC <- acf(yield)
AC$acf
, , 1
[,1]
[1,] 1.00000000
[2,] -0.35565808 #滞后一阶自相关
[3,] -0.07731467
[4,] -0.04470251
[5,] -0.28825962
[6,] 0.39394421
[7,] -0.12800933
- 滞后自相关: ρ 0 = 1 \rho_0=1 ρ0=1 X t 和 X t − 1 → ρ 1 X_t和X_{t-1}\to\rho_1 Xt和Xt−1→ρ1 X t 和 X t − 2 → ρ 2 X_t和X_{t-2}\to \rho_2 Xt和Xt−2→ρ2 X t 和 X t − 3 → ρ 3 X_t和X_{t-3}\to \rho_3 Xt和Xt−3→ρ3 … 和 ⋯ → … \dots和\dots\to\dots …和⋯→… X t 和 X t − 6 → ρ 6 X_t和X_{t-6}\to \rho_6 Xt和Xt−6→ρ6
4 用相关函数的方法计算自相关函数
#滞后一阶
T <- length(yield)
cor(yield[1:T-1],yield[2:T])
T <- length(yield)
cor(yield[1:T-1],yield[2:T])
[1] -0.4182568
R语言自相关函数是:acf(yield),也可以运用教材23页公式计算自相关函数,因为是约等,所以计算结果会有一点差别,当样本量较大时差别会很小:
cov(yield[1:T-1],yield[2:T])/var(yield[1:T])
cor(yield[1:T-1],yield[2:T])
5 平稳性检验的三个例子
#平稳性检验
sha <- read.csv()
output <- ts(sha$output,start=1994)
plot(output)
acf(output,lag.max=24,ylim=c(-1,1))
时序图:有趋势
自相关系数图:先正的递减,后负的递增。而平稳的是呈现衰减的趋势,所以不是平稳时间序列。
a <- read.csv()
milk <- ts(a$milk,start =c(1962,1) ,frequency = 12)
plot(milk)
acf(milk,lag.max=24,ylim=c(-1,1))
时序图:有周期
自相关图:未衰减
b <- read.csv()
temp <- ts(b$temp,start = 1949)
plot(temp)
acf(temp,ylim=c(-1,1))
时序图:无递增递减趋势,无周期趋势,初步判断是平稳的。
自相关图:前几阶比较大,后衰减接近0
时间序列的预处理——平稳性检验的R语言实现(二)相关推荐
- 时间序列中的平稳性检验之单位根检验
对序列的平稳性的检验中最常用的方法是单位根的检验.单位根检验是指检查序列中是否存在单位根,如果存在单位根就是非平稳时间序列了.下面是找的解释为什么单位根存在就是非平稳时间序列的原因. 作者:五雷 链接 ...
- python平稳性检验_时间序列中单位根平稳性检验adfuller详解 (ADF Test in Python)
在 statsmodels.tsa.stattools.adfuller statsmodels.tsa.stattools.adfuller(x,maxlag = None,regression = ...
- 【R语言实验】基于R语言的时间序列平稳性检验
一.实验项目名称:基于R语言的时间序列平稳性检验 二.实验目的与要求: 平稳时间序列的概念,平稳性检验的时序图检验方法和自相关图检验方法. 三.实验原理: 时序图和自相关图检验时间序列的平稳性依据: ...
- 时间序列分析学习笔记:时间序列的预处理(平稳性检验、纯随机性检验)
1 时间序列预处理 2 平稳性检验 2.1 特征统计量(概率分布的意义) 2.2 时间序列的概率分布 2.3 概率分布族应用的局限性 2.4 特征统计量(均值.方差) 2.5 平稳时间序列的定义(严平 ...
- python平稳性检验_Python中非平稳时间序列的处理
以下应用有什么共同点:预测未来三个月的一个家庭的电力消耗:估计在一定时期内道路的交通量:以及预测一个股票在纽约证券交易所上交易的价格. 以上都涉及时间序列数据的概念!如果没有"时间" ...
- python白噪声检验_时间序列 平稳性检验 白噪声 峰度 偏度
时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...
- python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度
时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...
- python 白噪声检验-时间序列 平稳性检验 白噪声 峰度 偏度
时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...
- 金融时间序列Note 1 —— 平稳性,相关系数,自相关函数(ACF)及其平稳性检验
本文用于<金融时间序列>的相关介绍,适合快速入门和期末复习.(才怪我感觉自己考的超烂) OK,首先用自己的话讲一下什么是时间序列,首先我们会考得最多得时间序列肯定是线性的,既然说了有线性的 ...
最新文章
- 【论文速读】RandLA-Net大规模点云的高效语义分割
- InnoDB redo log格式-物理log
- Spring Boot中Web应用的统一异常处理
- (笔记)电路设计(三)之0欧姆电阻、磁珠、电感的应用
- 2020-12-3(ESP定律脱壳理解)
- c# 非顶层截屏_C#中三种截屏方式总结
- Html5学习笔记1 元素 标签 属性
- 152-Maximum Product Subarray
- window对象小结
- JAVA-1007. 素数对猜想 (20)
- Mapreduce从HBASE抽取数据,生成搜索下拉服务数据,hadoop jar 调用异常问题解决
- 如果IE浏览器是IE11以下版本跳转到升级页面
- 把 14 亿中国人都拉到一个微信群在技术上能实现吗?
- 单片机交通灯c语言实验报告,模拟交通灯单片机实验报告.doc
- 拿到offer后 还应该继续去面试?
- 关系型数据库设计之从E-R图绘制到数据库表设计
- 华为2017暑期实习生面试体会
- 最霸气的程序员辞职理由,阅后即焚!
- 历时7天,四名学生将《水浒传》搬到线上!
- 华为AP固件升级方法 (适用 4051TN系列AP)
热门文章
- Code,Diagram and Model
- 焦点损失函数 Focal Loss 与 GHM
- centos7 安装 nextcloud 教程
- python末尾加空格_Python3基础 print(,end=) 输出内容的末尾加入空格
- 蒙特卡洛方法的收敛性和误差
- 免费开源的图片修复工具Lama Cleaner
- 【Docker】安装 Portainer
- uoj #213.【UNR #1】争夺圣杯 单调栈
- 50条有趣的Python一行代码,建议收藏!
- 默认模式网络(Default mode network, DMN)