R语言与时间序列学习笔记(1)

本文介绍了R语言中时间序列的创建及ARMA模型。通过`ts()`函数创建时间序列,展示如何使用`filter()`生成AR模型数据。还探讨了AR、MA、随机游走模型的模拟,并利用TSA包分析季节性模型。最后,讨论了自相关与偏自相关函数在AR(p)和MA(q)模型中的应用。
摘要由CSDN通过智能技术生成


       今天分享的是R语言中时间序列的有关内容。主要有:时间序列的创建,ARMA模型的建立与自相关和偏自相关函数。

一、          时间序列的创建

时间序列的创建函数为:ts().函数的参数列表如下:

ts(data = NA, start = 1, end = numeric(),frequency = 1,

  deltat = 1, ts.eps = getOption("ts.eps"), class = , names = )

参数说明:data:这个必须是一个矩阵,或者向量,再或者数据框frame

          Frequency:这个是时间观测频率数,也就是每个时间单位的数据数目

          Start:时间序列开始值,允许第一个个时间单位出现数据缺失

举例:ts(matrix(c(NA,NA,NA,1:31,NA),byrow=T,5,7),frequency=7,names=c("Sun","Mon ","Tue", "Wen" ,"Thu","Fri"," Sat"))

运行上面的代码就可以得到一个日历:

Sun  Mon Tue Wen Thu  Fri  Sat

  NA   NA  NA   1  2    3    4

   5    6   7   8  9   10   11

  12   13  14  15 16   17   18

  19   20  21  22 23   24   25

  26    27 28  29  30   31   NA

在R语言中本身也有不少数据集,比如统计包中的sunspots,你可以通过函数data(sunspots)来调用它们。

二、       一些时间序列模型

这里主要介绍AR,MA,随机游走,余弦曲线趋势,季节趋势等

首先介绍一下AR模型:AR模型,即自回归(AutoRegressive,AR)模型,数学表达式为:  AR :y(t)=a1y(t-1)+...any(t-n)+e(t)

其中,e(t)为均值为0,方差为某值的白噪声信号。

那么产生AR模型的数据,我们就有两种方法:1、调用R中的函数filter(线性滤波器)去产生AR模型;2、根据AR模型的定义自己编写函数

先说第一种方法:调用R中的函数filter(线性滤波器)去产生AR模型

介绍函数filter的用法如下:

filter(x, filter, method = c("convolution", "recursive"),
       sides = 2, circular = FALSE, init)

对于AR(2)模型x(t)=x(t-1)--0.9x(t-2)+e(t)

w<-rnorm(550)#我们假定白噪声的分布是正态的。

x<-filter(w,filter=c(1,-0.9),"recursive")

#方法&#

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值