R语言-时间序列-arima模型-forecast、tseries包

来源:互联网 发布:黑色紧身小脚裤淘宝 编辑:程序博客网 时间:2024/06/05 23:47

最近初步接触了下如何用R语言进行时间序列分析,自己动手写了段小代码。

首先呢是生成随机观测值,接着画出时间序列图,然后进行单根检验和用 ACF 和 PACF 指令分别画出自相关数和偏自相关系数图。

随机观测值生成我用了两种,一种是迭代随机生成,一种是用arima.sim函数生成一列符合arima(p,q)模型的数据。

install.packages("tseries") #安装"tseries"包,仅需在首次运行时安装install.packages("forecast") #安装"forecast"包,仅需在首次运行时安装library('forecast') #调出"tseries"包library('tseries') #调出"forecast"包funy <- function(t){  return(ifelse(t>0, 0.75+0.85*funy(t-1), t))}  #构造一个递归函数set.seed(1)  #设定编号为1的随机数种子,目的是下次重复时生成同样的随机数helpu<-rnorm(500, mean=0, sd=1) #随机生成500个服从正态分布的独立同分布的白噪声(均值为0,标准差为1)y<-vector()y<-vector()for(t in 1:500){    y[t]=funy(t)+u[t]}  #循环调用递归函数和白噪声生成函数,以生成500个观测值mean(y) #计算均值E(yt)var(y) #计算方差Var(yt)plot.ts(y, col="blue", main="y变量的时间序列图", xlab="t", ylab="y")adf.test(y, alternative="stationary")  #adf单根验定Acf(y, main='y-AC')  #作自相关图Pacf(y, main='y-PAC')  #作偏自相关图

install.packages("tseries") #安装"tseries"包,仅需在首次运行时安装install.packages("forecast") #安装"forecast"包,仅需在首次运行时安装library('forecast') #调出"forecast"包library('tseries') #调出"tseries"包set.seed(1)  #设定编号为1的随机数种子,目的是下次重复时生成同样的随机数y <- 0.75+arima.sim(list(ar=0.85), sd = sqrt(1), n = 500) #创建一组500笔的观测值print(y)mean(y) #计算均值E(yt)var(y) #计算方差Var(yt)plot.ts(y, col="blue", main="y变量的时间序列图", xlab="t", ylab="y")adf.test(y, alternative="stationary")  #adf单根验定Acf(y, main='y-AC')  #作自相关图Pacf(y, main='y-PAC')  #作偏自相关图y.arima <- Arima(y, order=c(1,0,0)) #用Arima指令进行时间序列回归,arima中的order参数是order(p,d,q),由(e)结果看出p=1summary(y.arima)


原创粉丝点击