拓端tecdat|R语言ARIMA、ARIMAX、 动态回归和OLS 回归预测多元时间序列
原文链接:http://tecdat.cn/?p=25220
原文出处:拓端数据部落公众号
当ARIMA模型包括其它时间序列作为输入变量时,被称为传递函数模型(transfer function model)、多变量时间序列模型(multivariate time series model)、ARIMAX模型或Box-Tiao模型。传递函数模型是ARIMA模型的自然推广,Pankratz统称这种包含其它时间序列作为输入变量的ARIMA模型为动态回归。
用于预测的 Arima
加载相关包和数据
bata<-read.csv
colnames(bata)
bata<-bata[order(as.Date,]
bata<-bata[order(as.Date,]
bata$workda<-as.factor
head(bata)

将数据划分为训练集和测试集
#ARIMA 编程开始
## 75% 的样本量
smsize <- floor(0.95 * nrow)
print(smze)

## 设置种子可重现
set.seed(123)
traid <- sample
trn <- 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,开始日期为 2016-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 %>%
mutate
x1<-test
testg <- x1 %>%
mutate
使用动态滞后变量的 OLS 回归
mlm <- lm

推论:仅保留 P 值 <0.05 的重要变量并删除其他变量
仅保留重要变量的情况下重新创建 OLS 回归
Myal <-lm
summary(Myal )

在测试数据上预测相同以计算 MSE
prynm<-predict
# 动态回归的均方误差
mean((teunt - tPrecd)^2)

绘制预测与实际
plot
abline


最受欢迎的见解
1.在python中使用lstm和pytorch进行时间序列预测
2.python中利用长短期记忆模型lstm进行时间序列预测分析
3.使用r语言进行时间序列(arima,指数平滑)分析
4.r语言多元copula-garch-模型时间序列预测
5.r语言copulas和金融时间序列案例
6.使用r语言随机波动模型sv处理时间序列中的随机波动
7.r语言时间序列tar阈值自回归模型
8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类
9.python3用arima模型进行时间序列预测