#数据导入 library("openxlsx") ppi <- read.xlsx("C:/Users/86180/Desktop/ppi.xlsx") elec <- read.xlsx("C:/Users/86180/Desktop/elec.xlsx") ppi[c(1:5),] elec[c(1:5),] #转化成时间序列数据 ppi=ts(ppi,frequency=12,start=c(2010,1)) elec=ts(elec,frequency=12,start=c(2010,1)) head(ppi,n=5) head(elec,n=5) #取对数+合并数据 data <- cbind(log(ppi), log(elec)) colnames(data) <- c("log_ppi", "log_elec") head(data,n=5) #计算差分 diff_data <- diff(data) diff_data[c(1:5),] #可视化数据 par(mfrow=c(2,1)) plot(log_ppi, type="l", col="blue", ylab="", main="log_ppi") plot(log_elec, type="l", col="red", ylab="", main="log_elec")计算出差分后建立协整关系模型时需要进行单位根检验吗?请在此基础上继续写协整关系模型和误差修正模型的代码
时间: 2023-11-09 19:05:48 浏览: 51
xlsx-js-style导出Demo,纯前端带样式导出表格数据
5星 · 资源好评率100%
是的,建立协整关系模型前需要进行单位根检验,以确定变量是否是平稳的。可以采用ADF检验或者KPSS检验进行。
下面是协整关系模型和误差修正模型的代码:
# 单位根检验
library(urca)
ppi_adf <- ur.df(data$log_ppi, type = "trend", selectlags = "AIC")
summary(ppi_adf)
elec_adf <- ur.df(data$log_elec, type = "trend", selectlags = "AIC")
summary(elec_adf)
# 协整关系模型
library(tseries)
ppi_elec_ecm <- ecum(data$log_ppi, data$log_elec, type = "trend", trend = TRUE)
summary(ppi_elec_ecm)
# 误差修正模型
ppi_elec_em <- errorCorrection(ppi_elec_ecm)
summary(ppi_elec_em)
阅读全文