R语言进行简单的时间序列分析

Posted 临床科研与meta分析

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言进行简单的时间序列分析相关的知识,希望对你有一定的参考价值。

经典的统计分析都假定数据序列具有独立性,而时间序列分析则侧重研究数据序列的互相依赖关系。后者实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。

今天我们就使用R语言自带的co2数据集进行简单的时间序列分析演示。

> View(co2)

> class(co2)

[1] "ts"  ##说明为时间序列格式

> plot(co2)

R语言进行简单的时间序列分析

> de_data<-decompose(co2)##进行数据分解,包括三项,分别为趋势项,季节项以及随机项

> plot(de_data)


R语言进行简单的时间序列分析


建立模型之前,需要进行平稳性检验

> library(forecast)

> library(tseries)

> adf.test(co2)

Augmented Dickey-Fuller

Test data:  co2 Dickey-Fuller = -2.8299, Lag order = 7, p-value = 0.2269 alternative hypothesis: stationary ##可以看到P值是0.23,说明数据时稳定的。如果不稳定则需要进行差分。


ARIMA模型:

ARIMA:自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA)

ARIMA(P,D,Q)

P:代表自相关的阶数;自相关是前后之前的关联。

D:代表差分的阶数;差分就是上一节课讲到的diff()函数。一阶差分就是diff()一次,二阶差分就是对一阶差分的结果再做一次差分。

Q:代表滑动平均的阶数。

> acf(co2)

R语言进行简单的时间序列分析

> pacf(co2)

R语言进行简单的时间序列分析

> fit<-arima(co2,order = c(1,1,1),seasonal = list(order=c(1,1,1),period=12)) ##构建模型

> co2fit<-forecast(fit,50)##进行未来50进行预测

> plot(co2,col="red")

> par(new=t)

> plot(co2fit)


以上是关于R语言进行简单的时间序列分析的主要内容,如果未能解决你的问题,请参考以下文章

R语言时间序列(time series)分析实战:简单指数平滑法预测

金融时间序列分析用R语言画简单收益率和对数收益率的ACF图?!

R语言进行相关性分析

R语言对回归模型进行协方差分析

R语言基本数据分析

R语言一键制作Table 1,就是这么简单!