这一部分是时间序列预处理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语言实现(二)相关推荐

  1. 时间序列中的平稳性检验之单位根检验

    对序列的平稳性的检验中最常用的方法是单位根的检验.单位根检验是指检查序列中是否存在单位根,如果存在单位根就是非平稳时间序列了.下面是找的解释为什么单位根存在就是非平稳时间序列的原因. 作者:五雷 链接 ...

  2. python平稳性检验_时间序列中单位根平稳性检验adfuller详解 (ADF Test in Python)

    在 statsmodels.tsa.stattools.adfuller statsmodels.tsa.stattools.adfuller(x,maxlag = None,regression = ...

  3. 【R语言实验】基于R语言的时间序列平稳性检验

    一.实验项目名称:基于R语言的时间序列平稳性检验 二.实验目的与要求: 平稳时间序列的概念,平稳性检验的时序图检验方法和自相关图检验方法. 三.实验原理: 时序图和自相关图检验时间序列的平稳性依据: ...

  4. 时间序列分析学习笔记:时间序列的预处理(平稳性检验、纯随机性检验)

    1 时间序列预处理 2 平稳性检验 2.1 特征统计量(概率分布的意义) 2.2 时间序列的概率分布 2.3 概率分布族应用的局限性 2.4 特征统计量(均值.方差) 2.5 平稳时间序列的定义(严平 ...

  5. python平稳性检验_Python中非平稳时间序列的处理

    以下应用有什么共同点:预测未来三个月的一个家庭的电力消耗:估计在一定时期内道路的交通量:以及预测一个股票在纽约证券交易所上交易的价格. 以上都涉及时间序列数据的概念!如果没有"时间" ...

  6. python白噪声检验_时间序列 平稳性检验 白噪声 峰度 偏度

    时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...

  7. python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度

    时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...

  8. python 白噪声检验-时间序列 平稳性检验 白噪声 峰度 偏度

    时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...

  9. 金融时间序列Note 1 —— 平稳性,相关系数,自相关函数(ACF)及其平稳性检验

    本文用于<金融时间序列>的相关介绍,适合快速入门和期末复习.(才怪我感觉自己考的超烂) OK,首先用自己的话讲一下什么是时间序列,首先我们会考得最多得时间序列肯定是线性的,既然说了有线性的 ...

最新文章

  1. 【论文速读】RandLA-Net大规模点云的高效语义分割
  2. InnoDB redo log格式-物理log
  3. Spring Boot中Web应用的统一异常处理
  4. (笔记)电路设计(三)之0欧姆电阻、磁珠、电感的应用
  5. 2020-12-3(ESP定律脱壳理解)
  6. c# 非顶层截屏_C#中三种截屏方式总结
  7. Html5学习笔记1 元素 标签 属性
  8. 152-Maximum Product Subarray
  9. window对象小结
  10. JAVA-1007. 素数对猜想 (20)
  11. Mapreduce从HBASE抽取数据,生成搜索下拉服务数据,hadoop jar 调用异常问题解决
  12. 如果IE浏览器是IE11以下版本跳转到升级页面
  13. 把 14 亿中国人都拉到一个微信群在技术上能实现吗?
  14. 单片机交通灯c语言实验报告,模拟交通灯单片机实验报告.doc
  15. 拿到offer后 还应该继续去面试?
  16. 关系型数据库设计之从E-R图绘制到数据库表设计
  17. 华为2017暑期实习生面试体会
  18. 最霸气的程序员辞职理由,阅后即焚!
  19. 历时7天,四名学生将《水浒传》搬到线上!
  20. 华为AP固件升级方法 (适用 4051TN系列AP)

热门文章

  1. Code,Diagram and Model
  2. 焦点损失函数 Focal Loss 与 GHM
  3. centos7 安装 nextcloud 教程
  4. python末尾加空格_Python3基础 print(,end=) 输出内容的末尾加入空格
  5. 蒙特卡洛方法的收敛性和误差
  6. 免费开源的图片修复工具Lama Cleaner
  7. 【Docker】安装 Portainer
  8. uoj #213.【UNR #1】争夺圣杯 单调栈
  9. 50条有趣的Python一行代码,建议收藏!
  10. 默认模式网络(Default mode network, DMN)