“春节假期是难得的读书充电的时间。”--来自某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语言》读书笔记--第一章 引论的更多相关文章

  1. 《R语言实战》读书笔记--第一章 R语言介绍

    1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...

  2. 《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.

    笔记说明 <CSS3实战手册第3版(影印版)>可以消除Web设计工作的痛苦,并且带给你:HTML--重新入门.如果你是HTML新手,你会学到如何以CSS友好的方式进行基本页面构造.若你是H ...

  3. 《疯狂Java:突破程序员基本功的16课》读书笔记-第一章 数组与内存控制

    很早以前就听过李刚老师的疯狂java系列很不错,所以最近找一本拿来拜读,再此做下读书笔记,促进更好的消化. 使用Java数组之前必须先对数组对象进行初始化.当数组的所有元素都被分配了合适的内存空间,并 ...

  4. 《C++ Primer》读书笔记 第一章

    读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...

  5. 《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

    本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习.一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止.我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念 ...

  6. Getting Started With Hazelcast 读书笔记(第一章)

    第一章:数据集群的演化与 早期的服务器架构 显然,应用是可扩展的,但是由于是集中式服务器,随着数据库性能达到极限,再想扩展就变得极端困难,于是出现了缓存.    缓存显然再次提升了可扩展性,减轻了数据 ...

  7. C缺陷与陷阱----读书笔记---第一章

    第一章:词法陷阱 编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”.例如,对于语句: if ( x == big ) big = x ; 它的第一个符号是C语言关键字if,紧接着下一 ...

  8. C语言学习笔记第一章——开篇

    本文章B站有对应视频 (本文图片.部分文字引用c primer plus) 什么是C语言 顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...

  9. 《Linux内核设计与实现》读书笔记 第一章 Linux内核简介

    一.相关历史 1. Unix内核的特点 简洁:仅提供系统调用并有一个非常明确的设计目的 抽象:几乎所有东西都被当做文件 可移植性:使用C语言编写,使得其在各种硬件体系架构面前都具备令人惊异的移植能力 ...

随机推荐

  1. JVM--内存模型与线程

    一.硬件与效率的一致性 计算机的存储设备与处理器的运算速度存在几个数量级的差距,现在计算机系统不得不在内存和处理器之间增加一层高速缓存(cache)来作为缓冲.将运算需要的数据复制到缓存中,让运算能够 ...

  2. 【转】: 探索Lua5.2内部实现:虚拟机指令(2) MOVE & LOAD

    name args desc OP_MOVE A B R(A) := R(B) OP_MOVE用来将寄存器B中的值拷贝到寄存器A中.由于Lua是register based vm,大部分的指令都是直接 ...

  3. 最短路径算法(II)

    什么??你问我为什么不在一篇文章写完所有方法?? Hmm…其实我是想的,但是博皮的加载速度再带上文章超长图片超多的话… 可能这辈子都打不开了吧… 上接https://www.cnblogs.com/U ...

  4. sql月,年,统计报表sql报表

    select DevName as 设备名称, count(flux) as 流量数据个数, max(flux) as 流量最大值, min(flux) as 流量最小值, avg(flux) as ...

  5. 将System.Drawing.Bitmap转换为Direct2D.D2DBitmap

    最近在尝试Direct2D编程,挺好玩的. 但是有时候还是会用到GDI+来生成图片,但D2D绘图需要用到自己的D2DBitmap类. 因此需要转换,查阅了下网上的资料,写了这么一个方法: using ...

  6. Spring 3整合Quartz 2实现定时任务:动态添加任务

    先展示一下后台管理定时任务效果图: 1.新增任务页面: 2.列表页(实现任务的禁用启用) 3.数据库脚本: -- ------------------------------ Table struct ...

  7. POJ 3845 Fractal(计算几何の旋转缩放)

    Description Fractals are really cool mathematical objects. They have a lot of interesting properties ...

  8. Python练习——循环2

    1.求1~100之间能被7整除,但不能同时被5整除的所有整数 . for i in range(1,101): if i%7 == 0 and i%5 !=0: print(i) 2.输出“水仙花数” ...

  9. java连接数据库的两种方法总结

    方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库 1.配置数据源:打开控制面版->管理工具->数据源(ODBC)->选用户DSN,按下添加按钮-> ...

  10. MFC消息处理

    1.MFC窗口如何与AfxWndProc建立联系. 当一个新的CWnd派生类创建时,在调用CWnd::CreateEx()过程中,MFC都会安装AfxCbtFilterHook().这个Hook将拦截 ...