时间序列

时间序列(简称时序),对时序数据的研究包括两个基本问题:对数据的描述(这段时间内发生了什么)以及预测(接下来将会发生什么)。对时间序列数据未来值进行预测是基本的人类活动,对时序数据的研究在现实世界中也有着广泛的应用。经济学家尝试通过时序分析理解并预测金融市场;城市规划者基于时序数据预测未来的交通需求;气候学家通过时序数据预测全球气候变化;公司需要时序分析来预测产品的需求及未来销量等诸多应用。描述时序数据和预测未来值的方法有很多,而R软件具备很多其他软件都不具备的精细时序分析工具。

时序分析会用到的函数

15--时间序列_数据

 

                                                                         15--时间序列_数据_02 

用到的数据集

                                                                         15--时间序列_15--时间序列_03

 

 

1 在 R 中生成时序对象

在R中分析时间序列的前提是我们将分析对象转成时间序列对象(time-series object),即R中一种包括观测值、起始时间、终止时间以及周期(如月、季度或年)的结构。只有将数据转成时间序列对象后,我们才能用各种时序方法对其进行分析、建模和绘图。

一个数值型向量或数据框中的一列可通过ts()函数存储为时序对象:

myseries <- ts(data, start=, end=, frequency=)

# myseries是所生成的时序对象,data是原始的包含观测值的数值型向量,start参数和end参数(可选)给出时序的起始时间和终止时间,frequency为每个单位时间所包含的观测值数量(如frequency=1对应年度数据,frequency=12对应月度数据,frequency=4对应季度数据)。

如下代码给出了一个示例。数据中包含从2003年1月开始,两年内的月度销量数据。

sales <- c(18, 33, 41, 7, 34, 35, 24, 25, 24, 21, 25, 20,

 22, 31, 40, 29, 25, 21, 22, 54, 31, 25, 26, 35)

tsales <- ts(sales, start=c(2003, 1), frequency=12)        #生成时序对象

tsales

 15--时间序列_15--时间序列_04

plot(tsales)    #获取时序对象信息

 15--时间序列_时间序列_05

plot(tsales, type="b", pch=19)    #可以使图形更丰富一些

 15--时间序列_数据_06

start(tsales)

 15--时间序列_时间序列_07

end(tsales)

 15--时间序列_数据集_08

frequency(tsales)

 15--时间序列_时间序列_09

tsales.subset <- window(tsales, start=c(2003, 5), end=c(2004, 6))       

#通过window()函数生成原始数据的一个子时序(对对象取子集)

tsales.subset

 15--时间序列_数据集_10


作者:zhang-X​,转载请注明原文链接