R 编程/时间序列
外观
< R 编程
在下面的示例中,我们将使用数据集 Mpyr,该数据集包含在 R 包 Ecdat 中,可以通过以下代码加载到 R 中并在 R 中查看。
#Installs the package Ecdat.
install.packages("Ecdat")
#Loads the packages Ecdat.
library(Ecdat)
#Attached the dataset Mpyr.
data(Mpyr)
#Shows the dataset Mpyr.
Mpyr
Time Series:
Start = 1900
End = 1989
Frequency = 1
m p y r
1900 1.718774 2.092641 0.9030195 4.380000
1901 1.856318 2.086574 1.0131038 4.280000
1902 1.936512 2.120476 1.0114817 4.920000
- 函数ts()用于创建时间序列对象。
- 函数as.ts()将对象强制转换为时间序列。
- 函数is.ts()测试对象是否为时间序列。
示例
> data.a<-seq(1,24,by=1)
> is.ts(data.a)
[1] FALSE
> ts(data.a, start=c(2005,1), frequency=12)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 13 14 15 16 17 18 19 20 21 22 23 24
> data.b<-seq(1,24,by=1)
> is.ts(data.b)
[1] FALSE
> is.ts(as.ts(data.b))
[1] TRUE
- 函数lag()创建滞后变量。
- 函数diff()创建差分变量。
示例
> data.a<-seq(1,12,by=1)
> ts.a<-ts(data.a, start=c(2005,1), frequency=4)
> lag.a<-lag(ts.a,k=1)
> diff.a<-diff(ts.a,lag=1,difference=1)
> ts.a
Qtr1 Qtr2 Qtr3 Qtr4
2005 1 2 3 4
2006 5 6 7 8
2007 9 10 11 12
> lag.a
Qtr1 Qtr2 Qtr3 Qtr4
2004 1
2005 2 3 4 5
2006 6 7 8 9
2007 10 11 12
> diff.a
Qtr1 Qtr2 Qtr3 Qtr4
2005 1 1 1
2006 1 1 1 1
2007 1 1 1 1
- 函数plot.ts()用于绘制时间序列对象。
为了使用普通最小二乘法将自回归时间序列模型拟合到数据,可以使用函数ar.ols(),该函数是“stats”包的一部分。
函数acf()计算(默认情况下还会绘制)自协方差或自相关函数的估计值。函数pacf()是用于偏自相关的函数。函数ccf()计算两个单变量序列的互相关或互协方差。[1]
- fBasics, tis, zoo, tseries, xts, urca, forecast
https://cran.r-project.org.cn/web/views/TimeSeries.html
https://cran.r-project.org.cn/doc/contrib/Ricci-refcard-ts.pdf