R语言与时间序列学习笔记Word下载.docx

上传人:wj 文档编号:1454768 上传时间:2023-04-30 格式:DOCX 页数:11 大小:19.11KB
下载 相关 举报
R语言与时间序列学习笔记Word下载.docx_第1页
第1页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第2页
第2页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第3页
第3页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第4页
第4页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第5页
第5页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第6页
第6页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第7页
第7页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第8页
第8页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第9页
第9页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第10页
第10页 / 共11页
R语言与时间序列学习笔记Word下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

R语言与时间序列学习笔记Word下载.docx

《R语言与时间序列学习笔记Word下载.docx》由会员分享,可在线阅读,更多相关《R语言与时间序列学习笔记Word下载.docx(11页珍藏版)》请在冰点文库上搜索。

R语言与时间序列学习笔记Word下载.docx

Tue"

"

Wen"

"

Thu"

Fri"

Sat"

))

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

SunMonTueWenThuFriSat

NANANA1234

567891011

12131415161718

19202122232425

262728293031NA

在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),"

#方法:

无论是“卷积”或“递归”(可以缩写)。

如果使用移动平均选择“卷积”:

如果“递归”便是选择了自回归。

再说第二种方法:

依据定义自己编程产生AR模型,还是以AR

(2)模型x(t)=x(t-1)--0.9x(t-2)+e(t)为例,可编写函数如下:

-rnorm(550)

AR<

-function(w){

-w

x[2]=x[1]+w[1]

for(iin3:

550)

x[i]=x[i-1]-0.9*x[i-2]+w[i]

x

}

调用AR(W)即可得到。

如果对相同的随机数,我们可以发现两个产生的时间序列是一致的。

当然对于第二种方法产生的序列需要转换为时间序列格式,用as.ts()处理。

类似的,我们给出MA,随机游走的模拟:

MA模型:

-rnorm(500)

v<

-filter(w,sides=2,rep(1,3)/3)

随机游走:

-rnorm(200)

-cumsum(w)#累计求和,seeexample:

cumsum(1:

!

0)

wd<

-w+0.2

xd<

-cumsum(wd)

可以做出相应的图形:

再说一下季节性模型:

最简单的季节模型就是一个分段的周期函数。

比如说某地区一年的气温就是一个季节性模型。

利用TSA包里给出的数据tempdub我们可以发现他就是这样的模型

给出验证:

library(TSA)

data(tempdub)

month<

-season(tempdub)

model1<

-lm(tempdub~month)

summary(model1)

根据R输出的结果:

Call:

lm(formula=tempdub~month)

Residuals:

Min1QMedian3QMax

-8.2750-2.24790.11251.88969.8250

Coefficients:

EstimateStd.ErrortvaluePr(>

|t|)

(Intercept)16.6080.98716.828<

2e-16***

monthFebruary4.0421.3962.8960.00443**

monthMarch15.8671.39611.368<

monthApril29.9171.39621.434<

monthMay41.4831.39629.721<

monthJune50.8921.39636.461<

monthJuly55.1081.39639.482<

monthAugust52.7251.39637.775<

monthSeptember44.4171.39631.822<

monthOctober34.3671.39624.622<

monthNovember20.0421.39614.359<

monthDecember7.0331.3965.0391.51e-06***

---

Signif.codes:

0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1

Residualstandarderror:

3.419on132degreesoffreedom

MultipleR-squared:

0.9712,AdjustedR-squared:

0.9688

F-statistic:

405.1on11and132DF,p-value:

<

2.2e-16

这里2月份系数表明了一月份平均气温与二月份平均气温的差异,以此类推。

在介绍一下一个季节模型:

余弦趋势μ1=βcos(2pi*f*t+φ)

还是考虑上面气温的例子:

验证:

har<

-harmonic(tempdub,1)

model2<

-lm(tempdub~har)

summary(model2)

看看结果:

lm(formula=tempdub~har)

Min1QMedian3QMax

-11.1580-2.2756-0.14572.375411.2671

(Intercept)46.26600.3088149.816<

harcos(2*pi*t)-26.70790.4367-61.154<

harsin(2*pi*t)-2.16970.4367-4.9681.93e-06***

3.706on141degreesoffreedom

0.9639,AdjustedR-squared:

0.9634

1882on2and141DF,p-value:

2.2e-16

我们可以作图来看拟合效果:

顺便指出季节模型也可以模拟:

比如μ1=βcos(2pi*f*t+φ)模型可以模拟如下:

t<

-1:

500

c<

-2*cos(2*pi*t/50+0.6*pi+w)

三、自相关与偏自相关

给出自相关的定义:

在信息分析中,通常将自相关函数称之为自协方差方程。

用来描述信息在不同时间的,信息函数值的相关性。

详情可参见wiki:

http:

//zh.wikipedia.org/wiki/%E8%87%AA%E7%9B%B8%E5%85%B3

我们可以根据定义给出自相关系数(ACF)的算法:

例如数据:

>

x<

10

u<

-mean(x)

v<

-var(x)

sum((x[1:

9]-u)*(x[2:

10]-u))/(9*v)#延迟1

[1]0.7

8]-u)*(x[3:

10]-u))/(9*v)#延迟2

[1]0.4121212

7]-u)*(x[4:

10]-u))/(9*v)#延迟3

[1]0.1484848

在R中也提供了直接计算acf的函数acf(),利用该函数也计算1至3阶的acf,结果如下:

a<

-acf(x,3)

a

Autocorrelationsofseries‘x’,bylag

0123

1.0000.7000.4120.148

可以看出,是一样的。

利用acf()可以处理很多阶的acf,以太阳黑子数的数据集做例子:

data(sunspots)

acf(sunspots)#给出了相应的图形

-acf(sunspots,6)#为下面做估计做铺垫,列出前6阶的acf

Autocorrelationsofseries‘sunspots’,bylag

0.00000.08330.16670.25000.33330.41670.5000

1.0000.9220.8900.8750.8640.8500.836

偏自相关:

对于一个平稳AR(p)模型,求出滞后k自相关系数p(k)时,实际上得到并不是x(t)与x(t-k)之间单纯的相关关系。

因为x(t)同时还会受到中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的影响,而这k-1个随机变量又都和x(t-k)具有相关关系,所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响。

 

为了能单纯测度x(t-k)对x(t)的影响,引进偏自相关系数的概念。

对于平稳时间序列{x(t)},用数学语言描述就是:

  p[(x(t),x(t-k)]|(x(t-1),……,x(t-k+1)={E[(x(t)-Ex(t)][x(t-k)-Ex(t-k)]}/E{[x(t-k)-Ex(t-k)]^2} 

这就是滞后k偏自相关系数的定义。

总之,偏自相关就是在试图解释在剔除了中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的干扰之后,x(t-k)对x(t)影响的相关程度。

在R语言中,使用函数PACF()可求解

还是使用太阳黑子数的例子:

b<

-pacf(sunspots,6)

b

Partialautocorrelationsofseries‘sunspots’,bylag

0.08330.16670.25000.33330.41670.5000

0.9220.2720.1890.1350.0640.044

最后,我们利用这两个函数来看看AR(p),MA(q)的自相关函数与偏自相关函数的截尾性与拖尾性。

利用二中所介绍的方法生成AR

(2),MA

(2)的数据。

AR

(2)模型:

MA(3)模型:

qq<

-pacf(x,5)

qq

Partialautocorrelationsofseries‘x’,bylag

12345

0.532-0.861-0.0820.000

可以看出AR

(2)模型的偏自相关函数是截尾的(但由于这个是数据,所以出现pacf只能看出趋势,而不是在2步后直接变为0)

对于MA(3)模型的自相关函数,由于v的第一项与最后一项缺失,不妨截取v的一部分数据,命名为a,有:

y<

-acf(a,5)

y

Autocorrelationsofseries‘a’,bylag

012345

1.0000.6520.3970.0590.0670.035

也可以看出趋势。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2