《时间序列分析及应用:R语言》读书笔记--第一章 引论
“春节假期是难得的读书充电的时间。”--来自某boss。假期能写多少算多少,一个是题目中的这本书,另一个是《python核心编程》中的高级部分,再一个是拖着的《算法导论》。
------------------------------------------------------
一、时间序列研究目的主要有两个:认识产生观测序列的随机机制,即建立数据生成模型;基于序列的历史数据,也许还要考虑其他相关序列或者因素,对序列未来的可能取值给出预测或者预报。通常我们不能假定观测值独立取自同一总体,时间序列分析的要点是研究具有相关性质的模型。
二、下面是书上的几个例子
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、模型诊断
模型识别就是在时间序列模型类中选择适合观测值的模型。进一步可以观察时间序列图,计算一些统计量。选取的模型是有待考证的,选取原则是能表示模型的前提下选取参数少的。
第二步就是用数据将将选取模型中的参数估计出来,估计方法是最小二乘挥着极大似然。
最后就是对模型进行质量评估。针对一些问题对模型进行估计,看模型是否合理:比如模型对数据的拟合程度有多好,模型前提是否满足等。如果没有不足之处,就可以进行预测等任务,如果有不足之处,针对不足之处寻找其他模型,再进行上面三个步骤。
四、历史上的时间序列图
名言:“时间序列图是图形设计最常用的形式,其一个维度沿着秒、分、时、日、周、月、年、乃至千年等规则的时间节律延伸,时间标度的自然顺序赋予了这种设计以解释的力量和效率,这一点在其他图形设计上了无痕迹。”
《时间序列分析及应用:R语言》读书笔记--第一章 引论的更多相关文章
- 《R语言实战》读书笔记--第一章 R语言介绍
1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...
- 《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.
笔记说明 <CSS3实战手册第3版(影印版)>可以消除Web设计工作的痛苦,并且带给你:HTML--重新入门.如果你是HTML新手,你会学到如何以CSS友好的方式进行基本页面构造.若你是H ...
- 《疯狂Java:突破程序员基本功的16课》读书笔记-第一章 数组与内存控制
很早以前就听过李刚老师的疯狂java系列很不错,所以最近找一本拿来拜读,再此做下读书笔记,促进更好的消化. 使用Java数组之前必须先对数组对象进行初始化.当数组的所有元素都被分配了合适的内存空间,并 ...
- 《C++ Primer》读书笔记 第一章
读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...
- 《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游
本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习.一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止.我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念 ...
- Getting Started With Hazelcast 读书笔记(第一章)
第一章:数据集群的演化与 早期的服务器架构 显然,应用是可扩展的,但是由于是集中式服务器,随着数据库性能达到极限,再想扩展就变得极端困难,于是出现了缓存. 缓存显然再次提升了可扩展性,减轻了数据 ...
- C缺陷与陷阱----读书笔记---第一章
第一章:词法陷阱 编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”.例如,对于语句: if ( x == big ) big = x ; 它的第一个符号是C语言关键字if,紧接着下一 ...
- C语言学习笔记第一章——开篇
本文章B站有对应视频 (本文图片.部分文字引用c primer plus) 什么是C语言 顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...
- 《Linux内核设计与实现》读书笔记 第一章 Linux内核简介
一.相关历史 1. Unix内核的特点 简洁:仅提供系统调用并有一个非常明确的设计目的 抽象:几乎所有东西都被当做文件 可移植性:使用C语言编写,使得其在各种硬件体系架构面前都具备令人惊异的移植能力 ...
随机推荐
- 原生js实现轮播图原理
轮播图的原理1.图片移动实现原理:利用浮动将所有所有照片依次排成一行,给这一长串图片添加一个父级的遮罩,每次只显示一张图,其余的都隐藏起来.对图片添加绝对定位,通过控制left属性,实现照片的移动. ...
- 【20180807模拟测试】tree
题目描述 或许会传送失败的传送门 #分析 考虑如何才能让白边显得更(不)重要,即在每条白边上(加上)减去一个值. 我们可以二分这个值,然后用寻常方法做最小生成树.统计在此最小生成树里有多少白 边. 然 ...
- TensorFlow入门之MNIST最佳实践-深度学习
在上一篇<TensorFlow入门之MNIST样例代码分析>中,我们讲解了如果来用一个三层全连接网络实现手写数字识别.但是在实际运用中我们需要更有效率,更加灵活的代码.在TensorFlo ...
- STM32单片机是如何启动的?
STM32单片机是如何启动的? STM32中的内存 STM32中的内存包含两块主要区域:flash memory(只读).static ram memory(SRAM,读写).其中,flash mem ...
- 今年暑假不AC (贪心)
Description “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会 ...
- 用逗号隔开简单数据保存为csv
用记事本编辑简单数据,用英文逗号隔开,编辑为多列,保存为.csv文件.可以用Excel打开编辑.
- Swift-闭包理解(二)
简明扼要的闭包表达式 其实Swift已经为我们提供了很多简化的语法,可以让我们保证代码的高可读性和维护性.还用上面的例子来说明,对于 greetPeople 这个全局函数来说,其实只需要使用一次,所 ...
- windows批处理学习(for和字符串)---03
[1]for命令简介 先把for循环与for命令类比一下,这样学习理解快. for 循环语句,一般格式如下: 1 for (表达式1;表达式2;表达式3) 2 { 3 循环体; 4 } 1. 表达式1 ...
- sql sever 数据表
对视图进行操作,要在第三块区域进行添加记录操作,回车,然后会同步到所有相关数据表中. 记录不是列,而是行,不要混淆. 第二块区域是各个属性,就是说明: 第一块区域是要进行显示的字段,选中什么 显示什么 ...
- linux路由表的配置
linux路由表的配置 一.原理说明 1.路由表(table)从0到255进行编号,每个编号可以对应一个别名,编号和别名的对应关系在linux下放在/etc/iproute2/rt_tables这个文 ...