失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > R语言ARIMA ARIMAX 动态回归和OLS 回归预测多元时间序列

R语言ARIMA ARIMAX 动态回归和OLS 回归预测多元时间序列

时间:2018-09-30 20:35:41

相关推荐

R语言ARIMA ARIMAX  动态回归和OLS 回归预测多元时间序列

最近我们被客户要求撰写关于时间序列​​​​​​​的研究报告,包括一些图形和统计输出。

当ARIMA模型包括其它时间序列作为输入变量时,被称为传递函数模型(transfer function model)、多变量时间序列模型(multivariate time series model)、ARIMAX模型或Box-Tiao模型。传递函数模型是ARIMA模型的自然推广,Pankratz统称这种包含其它时间序列作为输入变量的ARIMA模型为动态回归。

相关视频:在Python和R语言中建立EWMA,ARIMA模型预测时间序列

用于预测的 Arima

加载相关包和数据

bata<-read.csvcolnames(bata)bata<-bata[order(as.Date,]bata<-bata[order(as.Date,]bata$workda<-as.factorhead(bata)

将数据划分为训练集和测试集

#ARIMA 编程开始## 75% 的样本量smsize <- floor(0.95 * nrow)print(smze)

## 设置种子可重现set.seed(123)traid <- sampletrn <- bata[1:smize, ]tet <- baata[smp_size+1:nrow, ]tet<-na.omit

创建预测矩阵

xreg <- cbind(as_workday=model.matrix, Temp,Humid,Winds)# 删除截距xg <- xg[,-1]# 重命名列colnames<- c("Aldays","Tep","Humty","Wined")#为测试数据创建相同的xrg1 <- cbind# 删除截距xreg1 <- xre1[,-1]# 重命名列colnames <- c("Aays","Te","uiiy","Wnsed")

为 arima 预测的训练数据创建时间序列变量

Cont <- ts

推论:由于数据是每天的,频率为 365,开始日期为 -7-7

用季节性拟合 ARIMA 模型

Fo_aes<-forecast

计算测试数据集 MSE

mean((tt - Finlues)^2)

在去除季节性之前绘制预测值

library(ggplot2)

无季节性拟合 ARIMA

去除季节性数据集和绘图

decata = decompos

### 查找去季节数据的 ARIMAX 模型

moesea

Foecs<-forecast

去除季节性后绘制预测值

library(ggplot2)plot(Co, series="Data") + autolayer+ autolayer

均方误差分量

mean((tount - Fis_des)^2)

通过采用滞后变量的输出以及滞后 1,2 的输入进行动态回归

x<-train[order,]ti_ag <- x %>%mutatex1<-testtestg <- x1 %>%mutate

使用动态滞后变量的 OLS 回归

mlm <- lm

推论:仅保留 P 值 <0.05 的重要变量并删除其他变量

仅保留重要变量的情况下重新创建 OLS 回归

Myal <-lmsummary(Myal )

在测试数据上预测相同以计算 MSE

prynm<-predict# 动态回归的均方误差mean((teunt - tPrecd)^2)

绘制预测与实际

plotabline

如果觉得《R语言ARIMA ARIMAX 动态回归和OLS 回归预测多元时间序列》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。