《时间序列分析及应用: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语言编写,使得其在各种硬件体系架构面前都具备令人惊异的移植能力 ...
随机推荐
- 用列主元消去法分别解方程组Ax=b,用MATLAB程序实现(最有效版)
数值分析里面经常会涉及到用MATLAB程序实现用列主元消去法分别解方程组Ax=b 具体的方法和代码以如下方程(3x3矩阵)为例进行说明: 用列主元消去法分别解方程组Ax=b,用MATLAB程序实现: ...
- lesson 21 Daniel Mendoza
lesson 21 Daniel Mendoza bare 赤裸的 :boxers fought with bare fists crude 天然的:crude sugar, crude oil 粗俗 ...
- leetcode-分割回文子串
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa",&quo ...
- 悲剧文本(Broken Keyboard (a.k.a. Beiju Text),UVA 11988)
题目描述: 题目思路: 1.使用链表来重新定位各个字符 2.用数组实现链表 3.开一个数组list[i]来存储字符数组下一个字符的位置 #include <iostream> #inclu ...
- 正则表达式 和 re 模块
正则表达式究竟是什么? 在一些网站注册的时候需要输入手机号码,当你输入一个错误的手机号码的时候,会提示你输入的手机号码格式错误 那么他究竟是如何判断的呢? 我们用Python代码进行表示: phone ...
- Linux系统负载查询
查询Linux系统负载情况,一般需要了解三个方面的信息: 1.Linux系统配置.如Linux版本号.CPU.内存.网络.磁盘等: 2.收集系统负载信息的手段.常用的工具包有sysstat和procp ...
- python读取日志,存入mysql
1.从 http://www.almhuette-raith.at/apache-log/access.log 下载 1万条日志记录,保存为一个文件,读取文件并解析日志,从日志中提取ip, time_ ...
- Python3 Tkinter-PaneWindow
1.向PanedWindow中添加Pane from tkinter import * root=Tk() panes=PanedWindow(orient=VERTICAL) panes.pack( ...
- Android 开发错误集锦
1. eclipse的Device中不显示手机 在eclipse中连接不上手机,出现adb server didn't ACK fail to start daemon 错误. 出现这种原因是因为a ...
- block知识总结
一.block在内存中存在的形式 1.当把block句法写在函数或者方法外面时,系统会在静态数据区分配一块内存区域给block对象.这片区域在程序执行期会一直存在. 2.当block句法写在函数或者方 ...