《时间序列分析及应用:R语言》读书笔记

  • 格式:doc
  • 大小:362.00 KB
  • 文档页数:12

下载文档原格式

  / 15
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《时间序列分析及应用:R语言》读书笔记

姓名:石晓雨学号:1613152019

(一)、时间序列研究目的主要有两个:认识产生观测序列的随机机制,即建立数据生成模型;基于序列的历史数据,也许还要考虑其他相关序列或者因素,对序列未来的可能取值给出预测或者预报。通常我们不能假定观测值独立取自同一总体,时间序列分析的要点是研究具有相关性质的模型。

(二)、下面是书上的几个例子

1、洛杉矶年降水量

问题:用前一年的降水量预测下一年的降水量。

第一幅图是降水量随时间的变化图;第二幅图是当年降水量与去年降水量散点图。

win.graph(width=4.875, height=2.5,pointsize=8) #这里可以独立弹出窗口

data(larain) #TSA包中的数据集,洛杉矶年降水量

plot(larain,ylab='Inches',xlab='Year',type = 'o') #type规定了在每个点处标记一下

win.graph(width = 3,height = 3,pointsize = 8)

plot(y = larain,x = zlag(larain),ylab = 'Inches',xlab = 'Previous Year Inches')#zlag 函数(TSA包)用来计算一个向量的延迟,默认为1,首项为NA

从第二幅图看出,前一年的降水量与下一年并没有什么特殊关系。

2、化工过程

win.graph(width = 4.875,height = 2.5,pointsize = 8)

data(color)

plot(color,ylab = 'Color Property',xlab = 'Batch',type = 'o')

win.graph(width = 3,height = 3,pointsize = 8)

plot(y = color,x = zlag(color),ylab = 'Color Property',xlab = 'Previous Batch Color Property')

len <- length(color)

cor(color[2:len],zlag(color)[2:len])#相关系数>0.5549

第一幅图是颜色属性随着批次的变化情况。

第二幅图画一下前一批次与本批次是散点图。

上面的图显示了稍微向上的趋势,即数值较大的后一批次也趋向于更大的数值。但是并不明显,相挂系数只有0.5549.

3、加拿大野兔年丰度

win.graph(width=4.875, height=2.5,pointsize=8)

data(hare)

plot(hare,ylab='Abundance',xlab='Year',type='o')

win.graph(width=3, height=3,pointsize=8)

plot(y=hare,x=zlag(hare),ylab='Abundance',xlab='Previous Year Abundance') len <- length(hare)

cor(hare[2:len],zlag(hare)[2:len])>0.7026

看一下下面的图,明显有周期性质。

上面的图看出前一年的数值跟本年度数值相关关系较大。相关系数为0.7026.

4、艾奥瓦州迪比克市月平均气温

非常明显的周期性。季节性模式。

5、滤油器月销售量

win.graph(width=4.875, height=2.5,pointsize=8)

data(oilfilters)

plot(oilfilters,type='o',ylab='Sales')

win.graph(width=4.875, height=2.5,pointsize=8)

plot(oilfilters,type='l',ylab='Sales')

Month=c("J","A","S","O","N","D","J","F","M","A","M","J")#注意这里是从1983年7月到1987年6月

points(oilfilters,pch=Month)

plot(oilfilters,type='l',ylab='Sales')

points(y=oilfilters,x=time(oilfilters),pch=as.vector(season(oilfilters)))#这里的season函数的返回值取决于传入数值

“向作者提供数据时,经理说没有理由认为销售量存在季节性。”“假如各年1月与1月的数据之间存在关联趋势,2月与2月的数据之间存在关联趋势,那么就有季节性。”

上面的图作者说没有显示明显的季节性。其实……还好,季节性比较明显了已经。

在加上月份的标识之后,确实比原来更能显示出季节性规律。

总之,恰当和有益于发现特定模式的绘图方法,有利于找到符合时间序列数据的合适模型。

(三)、建模策略

给时间序列寻找合适的模型并非易事,多步建模策略很有用,包括三个可反复使用的主要步骤:

1、模型识别

2、模型拟合

3、模型诊断

模型识别就是在时间序列模型类中选择适合观测值的模型。进一步可以观察时间序列图,计算一些统计量。选取的模型是有待考证的,选取原则是能表示模型的前提下选取参数少的。

第二步就是用数据将将选取模型中的参数估计出来,估计方法是最小二乘挥着极大似然。

最后就是对模型进行质量评估。针对一些问题对模型进行估计,看模型是否合理:比如模型对数据的拟合程度有多好,模型前提是否满足等。如果没有不足之处,就可以进行预测等任务,如果有不足之处,针对不足之处寻找其他模型,再进行上面三个步骤。

(四)、历史上的时间序列图